diff --git a/.all-contributorsrc b/.all-contributorsrc index 79df1a226c..0c3e715f9f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -277,6 +277,26 @@ "contributions": [ "bug" ] + }, + { + "login": "JamieSlome", + "name": "Jamie Slome", + "avatar_url": "https://avatars.githubusercontent.com/u/55323451?v=4", + "profile": "https://418sec.com", + "contributions": [ + "bug", + "security" + ] + }, + { + "login": "d3v53c", + "name": "d3v53c", + "avatar_url": "https://avatars.githubusercontent.com/u/64132745?v=4", + "profile": "https://github.com/d3v53c", + "contributions": [ + "bug", + "security" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index d478edd0a4..daf9432fe7 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ > the composer of. Geared towards versatility, not any specific type of music." > — [@loganpowell](https://twitter.com/logantpowell/status/1186334119812304901) via Twitter -Mono-repository for 144+ thi.ng TypeScript/ES6 projects, a wide +Mono-repository for 148+ thi.ng TypeScript/ES6 projects, a wide collection of largely data transformation oriented packages and building blocks for (non-exhaustive list of topics): @@ -101,7 +101,7 @@ packages) in the [**examples**](./examples/README.md) directory. - [Part 3 - Convolution, 1D/2D Cellular automata](https://medium.com/@thi.ng/of-umbrellas-transducers-reactive-streams-mushrooms-pt-3-a1c4e621db9b) - [Part 4 - Disjoint Sets, Graph analysis, Signed Distance Fields](https://medium.com/@thi.ng/of-umbrellas-transducers-reactive-streams-mushrooms-pt-4-62d8e71e5603) -## Community & contributing +## Community, contributing, getting help Join our little community on our [Discord server](https://discord.gg/JhYcmBw) or get in touch via @@ -120,50 +120,90 @@ local clones, please follow the [advice & short instructions in this article](https://www.hanselman.com/blog/easily-rename-your-git-default-branch-from-master-to-main) to update your local version. +Also please be sure to check the [wiki](https://github.com/thi-ng/umbrella/wiki) +for other project-wide information, tidbits, useful snippets etc. + ## Projects - +feature or `develop` branches) + +- [`@thi.ng/color`](./packages/color) - Complete refactor/overhaul/extension of color package +- [`@thi.ng/pixel-io-netpbm`](./packages/pixel-io-netpbm) - 1/8/16/24bit NetPBM image format reader/writer -### Latest additions (2020-12-22) +### Latest additions (2021-01-21) -| Project | Version | Changelog | Description | -|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------|--------------------------------------------------| -| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | -| [`@thi.ng/fuzzy-viz`](./packages/fuzzy-viz) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy-viz.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy-viz) | [changelog](./packages/fuzzy-viz/CHANGELOG.md) | Visualization, instrumentation for @thi.ng/fuzzy | -| [`@thi.ng/vclock`](./packages/vclock) | [![version](https://img.shields.io/npm/v/@thi.ng/vclock.svg)](https://www.npmjs.com/package/@thi.ng/vclock) | [changelog](./packages/vclock/CHANGELOG.md) | Vector clock functions / comparators | +| Project | Version | Changelog | Description | +|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------|--------------------------------------------------------| +| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | +| [`@thi.ng/distance`](./packages/distance) | [![version](https://img.shields.io/npm/v/@thi.ng/distance.svg)](https://www.npmjs.com/package/@thi.ng/distance) | [changelog](./packages/distance/CHANGELOG.md) | n-D distance metrics & K-nearest neighborhoods | +| [`@thi.ng/base-n`](./packages/base-n) | [![version](https://img.shields.io/npm/v/@thi.ng/base-n.svg)](https://www.npmjs.com/package/@thi.ng/base-n) | [changelog](./packages/base-n/CHANGELOG.md) | Arbitrary base-n encoding/decoding with presets | +| [`@thi.ng/ksuid`](./packages/ksuid) | [![version](https://img.shields.io/npm/v/@thi.ng/ksuid.svg)](https://www.npmjs.com/package/@thi.ng/ksuid) | [changelog](./packages/ksuid/CHANGELOG.md) | K-sortable unique identifiers, binary & base-N encoded | ### Fundamentals +| Project | Version | Changelog | Description | +|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------|----------------------------------------------------------| +| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | +| [`@thi.ng/api`](./packages/api) | [![version](https://img.shields.io/npm/v/@thi.ng/api.svg)](https://www.npmjs.com/package/@thi.ng/api) | [changelog](./packages/api/CHANGELOG.md) | Common types, decorators, mixins | +| [`@thi.ng/bench`](./packages/bench) | [![version](https://img.shields.io/npm/v/@thi.ng/bench.svg)](https://www.npmjs.com/package/@thi.ng/bench) | [changelog](./packages/bench/CHANGELOG.md) | Basic benchmarking helpers | +| [`@thi.ng/checks`](./packages/checks) | [![version](https://img.shields.io/npm/v/@thi.ng/checks.svg)](https://www.npmjs.com/package/@thi.ng/checks) | [changelog](./packages/checks/CHANGELOG.md) | Type & value checks | +| [`@thi.ng/compare`](./packages/compare) | [![version](https://img.shields.io/npm/v/@thi.ng/compare.svg)](https://www.npmjs.com/package/@thi.ng/compare) | [changelog](./packages/compare/CHANGELOG.md) | Comparators | +| [`@thi.ng/compose`](./packages/compose) | [![version](https://img.shields.io/npm/v/@thi.ng/compose.svg)](https://www.npmjs.com/package/@thi.ng/compose) | [changelog](./packages/compose/CHANGELOG.md) | Functional composition helpers | +| [`@thi.ng/date`](./packages/date) | [![version](https://img.shields.io/npm/v/@thi.ng/date.svg)](https://www.npmjs.com/package/@thi.ng/date) | [changelog](./packages/date/CHANGELOG.md) | Date/time iterators, formatters, rounding | +| [`@thi.ng/defmulti`](./packages/defmulti) | [![version](https://img.shields.io/npm/v/@thi.ng/defmulti.svg)](https://www.npmjs.com/package/@thi.ng/defmulti) | [changelog](./packages/defmulti/CHANGELOG.md) | Dynamic multiple dispatch | +| [`@thi.ng/distance`](./packages/distance) | [![version](https://img.shields.io/npm/v/@thi.ng/distance.svg)](https://www.npmjs.com/package/@thi.ng/distance) | [changelog](./packages/distance/CHANGELOG.md) | n-D distance metrics & K-nearest neighborhoods | +| [`@thi.ng/equiv`](./packages/equiv) | [![version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) | [changelog](./packages/equiv/CHANGELOG.md) | Deep value equivalence checking | +| [`@thi.ng/errors`](./packages/errors) | [![version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) | [changelog](./packages/errors/CHANGELOG.md) | Custom error types | +| [`@thi.ng/hex`](./packages/hex) | [![version](https://img.shields.io/npm/v/@thi.ng/hex.svg)](https://www.npmjs.com/package/@thi.ng/hex) | [changelog](./packages/hex/CHANGELOG.md) | Hex value formatters for U4-64 words | +| [`@thi.ng/memoize`](./packages/memoize) | [![version](https://img.shields.io/npm/v/@thi.ng/memoize.svg)](https://www.npmjs.com/package/@thi.ng/memoize) | [changelog](./packages/memoize/CHANGELOG.md) | Function memoization w/ customizable caching | +| [`@thi.ng/oquery`](./packages/oquery) | [![version](https://img.shields.io/npm/v/@thi.ng/oquery.svg)](https://www.npmjs.com/package/@thi.ng/oquery) | [changelog](./packages/oquery/CHANGELOG.md) | Pattern based query engine for JS objects | +| [`@thi.ng/parse`](./packages/parse) | [![version](https://img.shields.io/npm/v/@thi.ng/parse.svg)](https://www.npmjs.com/package/@thi.ng/parse) | [changelog](./packages/parse/CHANGELOG.md) | Parser combinators & AST generator/transformer | +| [`@thi.ng/paths`](./packages/paths) | [![version](https://img.shields.io/npm/v/@thi.ng/paths.svg)](https://www.npmjs.com/package/@thi.ng/paths) | [changelog](./packages/paths/CHANGELOG.md) | Immutable nested object accessors | +| [`@thi.ng/strings`](./packages/strings) | [![version](https://img.shields.io/npm/v/@thi.ng/strings.svg)](https://www.npmjs.com/package/@thi.ng/strings) | [changelog](./packages/strings/CHANGELOG.md) | Higher-order string formatting utils | +| [`@thi.ng/system`](./packages/system) | [![version](https://img.shields.io/npm/v/@thi.ng/system.svg)](https://www.npmjs.com/package/@thi.ng/system) | [changelog](./packages/system/CHANGELOG.md) | Minimal life cycle container for stateful app components | + +### Maths + +| Project | Version | Changelog | Description | +|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|-------------------------------------------------| +| [`@thi.ng/dual-algebra`](./packages/dual-algebra) | [![version](https://img.shields.io/npm/v/@thi.ng/dual-algebra.svg)](https://www.npmjs.com/package/@thi.ng/dual-algebra) | [changelog](./packages/dual-algebra/CHANGELOG.md) | Dual number algebra / automatic differentiation | +| [`@thi.ng/dsp`](./packages/dsp) | [![version](https://img.shields.io/npm/v/@thi.ng/dsp.svg)](https://www.npmjs.com/package/@thi.ng/dsp) | [changelog](./packages/dsp/CHANGELOG.md) | DSP utils, composable signal gens/processors | +| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | +| [`@thi.ng/intervals`](./packages/intervals) | [![version](https://img.shields.io/npm/v/@thi.ng/intervals.svg)](https://www.npmjs.com/package/@thi.ng/intervals) | [changelog](./packages/intervals/CHANGELOG.md) | Open/closed intervals, queries, set ops | +| [`@thi.ng/math`](./packages/math) | [![version](https://img.shields.io/npm/v/@thi.ng/math.svg)](https://www.npmjs.com/package/@thi.ng/math) | [changelog](./packages/math/CHANGELOG.md) | Assorted common math functions & utilities | +| [`@thi.ng/matrices`](./packages/matrices) | [![version](https://img.shields.io/npm/v/@thi.ng/matrices.svg)](https://www.npmjs.com/package/@thi.ng/matrices) | [changelog](./packages/matrices/CHANGELOG.md) | Matrix operations | +| [`@thi.ng/sparse`](./packages/sparse) | [![version](https://img.shields.io/npm/v/@thi.ng/sparse.svg)](https://www.npmjs.com/package/@thi.ng/sparse) | [changelog](./packages/sparse/CHANGELOG.md) | Sparse matrix & vector impls | +| [`@thi.ng/vectors`](./packages/vectors) | [![version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) | [changelog](./packages/vectors/CHANGELOG.md) | Fixed & arbitrary-length vector ops | + +### Randomness + | Project | Version | Changelog | Description | |-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|----------------------------------------------------------| -| [`@thi.ng/api`](./packages/api) | [![version](https://img.shields.io/npm/v/@thi.ng/api.svg)](https://www.npmjs.com/package/@thi.ng/api) | [changelog](./packages/api/CHANGELOG.md) | Common types, decorators, mixins | -| [`@thi.ng/bench`](./packages/bench) | [![version](https://img.shields.io/npm/v/@thi.ng/bench.svg)](https://www.npmjs.com/package/@thi.ng/bench) | [changelog](./packages/bench/CHANGELOG.md) | Basic benchmarking helpers | -| [`@thi.ng/checks`](./packages/checks) | [![version](https://img.shields.io/npm/v/@thi.ng/checks.svg)](https://www.npmjs.com/package/@thi.ng/checks) | [changelog](./packages/checks/CHANGELOG.md) | Type & value checks | | [`@thi.ng/colored-noise`](./packages/colored-noise) | [![version](https://img.shields.io/npm/v/@thi.ng/colored-noise.svg)](https://www.npmjs.com/package/@thi.ng/colored-noise) | [changelog](./packages/colored-noise/CHANGELOG.md) | 1D colored noise generators | -| [`@thi.ng/compare`](./packages/compare) | [![version](https://img.shields.io/npm/v/@thi.ng/compare.svg)](https://www.npmjs.com/package/@thi.ng/compare) | [changelog](./packages/compare/CHANGELOG.md) | Comparators | -| [`@thi.ng/compose`](./packages/compose) | [![version](https://img.shields.io/npm/v/@thi.ng/compose.svg)](https://www.npmjs.com/package/@thi.ng/compose) | [changelog](./packages/compose/CHANGELOG.md) | Functional composition helpers | -| [`@thi.ng/date`](./packages/date) | [![version](https://img.shields.io/npm/v/@thi.ng/date.svg)](https://www.npmjs.com/package/@thi.ng/date) | [changelog](./packages/date/CHANGELOG.md) | Date/time iterators, formatters, rounding | -| [`@thi.ng/defmulti`](./packages/defmulti) | [![version](https://img.shields.io/npm/v/@thi.ng/defmulti.svg)](https://www.npmjs.com/package/@thi.ng/defmulti) | [changelog](./packages/defmulti/CHANGELOG.md) | Dynamic multiple dispatch | -| [`@thi.ng/dsp`](./packages/dsp) | [![version](https://img.shields.io/npm/v/@thi.ng/dsp.svg)](https://www.npmjs.com/package/@thi.ng/dsp) | [changelog](./packages/dsp/CHANGELOG.md) | DSP utils, oscillators | -| [`@thi.ng/dual-algebra`](./packages/dual-algebra) | [![version](https://img.shields.io/npm/v/@thi.ng/dual-algebra.svg)](https://www.npmjs.com/package/@thi.ng/dual-algebra) | [changelog](./packages/dual-algebra/CHANGELOG.md) | Dual number algebra / automatic differentiation | -| [`@thi.ng/ecs`](./packages/ecs) | [![version](https://img.shields.io/npm/v/@thi.ng/ecs.svg)](https://www.npmjs.com/package/@thi.ng/ecs) | [changelog](./packages/ecs/CHANGELOG.md) | Entity-Component System | -| [`@thi.ng/equiv`](./packages/equiv) | [![version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) | [changelog](./packages/equiv/CHANGELOG.md) | Deep value equivalence checking | -| [`@thi.ng/errors`](./packages/errors) | [![version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) | [changelog](./packages/errors/CHANGELOG.md) | Custom error types | -| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | -| [`@thi.ng/hex`](./packages/hex) | [![version](https://img.shields.io/npm/v/@thi.ng/hex.svg)](https://www.npmjs.com/package/@thi.ng/hex) | [changelog](./packages/hex/CHANGELOG.md) | Hex value formatters for U4-64 words | -| [`@thi.ng/math`](./packages/math) | [![version](https://img.shields.io/npm/v/@thi.ng/math.svg)](https://www.npmjs.com/package/@thi.ng/math) | [changelog](./packages/math/CHANGELOG.md) | Assorted common math functions & utilities | -| [`@thi.ng/memoize`](./packages/memoize) | [![version](https://img.shields.io/npm/v/@thi.ng/memoize.svg)](https://www.npmjs.com/package/@thi.ng/memoize) | [changelog](./packages/memoize/CHANGELOG.md) | Function memoization w/ customizable caching | -| [`@thi.ng/mime`](./packages/mime) | [![version](https://img.shields.io/npm/v/@thi.ng/mime.svg)](https://www.npmjs.com/package/@thi.ng/mime) | [changelog](./packages/mime/CHANGELOG.md) | File extension to MIME type mappings | -| [`@thi.ng/oquery`](./packages/oquery) | [![version](https://img.shields.io/npm/v/@thi.ng/oquery.svg)](https://www.npmjs.com/package/@thi.ng/oquery) | [changelog](./packages/oquery/CHANGELOG.md) | Pattern based query engine for JS objects | -| [`@thi.ng/parse`](./packages/parse) | [![version](https://img.shields.io/npm/v/@thi.ng/parse.svg)](https://www.npmjs.com/package/@thi.ng/parse) | [changelog](./packages/parse/CHANGELOG.md) | Parser combinators & AST generator/transformer | -| [`@thi.ng/paths`](./packages/paths) | [![version](https://img.shields.io/npm/v/@thi.ng/paths.svg)](https://www.npmjs.com/package/@thi.ng/paths) | [changelog](./packages/paths/CHANGELOG.md) | Immutable nested object accessors | -| [`@thi.ng/prefixes`](./packages/prefixes) | [![version](https://img.shields.io/npm/v/@thi.ng/prefixes.svg)](https://www.npmjs.com/package/@thi.ng/prefixes) | [changelog](./packages/prefixes/CHANGELOG.md) | Linked Data & xmlns prefixes/URLs | -| [`@thi.ng/random`](./packages/random) | [![version](https://img.shields.io/npm/v/@thi.ng/random.svg)](https://www.npmjs.com/package/@thi.ng/random) | [changelog](./packages/random/CHANGELOG.md) | Seedable PRNG implementations w/ unified API | -| [`@thi.ng/strings`](./packages/strings) | [![version](https://img.shields.io/npm/v/@thi.ng/strings.svg)](https://www.npmjs.com/package/@thi.ng/strings) | [changelog](./packages/strings/CHANGELOG.md) | Higher-order string formatting utils | -| [`@thi.ng/system`](./packages/system) | [![version](https://img.shields.io/npm/v/@thi.ng/system.svg)](https://www.npmjs.com/package/@thi.ng/system) | [changelog](./packages/system/CHANGELOG.md) | Minimal life cycle container for stateful app components | +| [`@thi.ng/ksuid`](./packages/ksuid) | [![version](https://img.shields.io/npm/v/@thi.ng/ksuid.svg)](https://www.npmjs.com/package/@thi.ng/ksuid) | [changelog](./packages/ksuid/CHANGELOG.md) | K-sortable unique identifiers, binary & base-N encoded | +| [`@thi.ng/random`](./packages/random) | [![version](https://img.shields.io/npm/v/@thi.ng/random.svg)](https://www.npmjs.com/package/@thi.ng/random) | [changelog](./packages/random/CHANGELOG.md) | Seedable PRNG implementations, distributions & utilities | + +### File format support + +| Project | Version | Changelog | Description | +|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|------------------------------------------------| +| [`@thi.ng/bencode`](./packages/bencode) | [![version](https://img.shields.io/npm/v/@thi.ng/bencode.svg)](https://www.npmjs.com/package/@thi.ng/bencode) | [changelog](./packages/bencode/CHANGELOG.md) | Bencode binary format encoding | +| [`@thi.ng/csv`](./packages/csv) | [![version](https://img.shields.io/npm/v/@thi.ng/csv.svg)](https://www.npmjs.com/package/@thi.ng/csv) | [changelog](./packages/csv/CHANGELOG.md) | Customizable CSV parser/object mapper | +| [`@thi.ng/dot`](./packages/dot) | [![version](https://img.shields.io/npm/v/@thi.ng/dot.svg)](https://www.npmjs.com/package/@thi.ng/dot) | [changelog](./packages/dot/CHANGELOG.md) | Graphviz DOM & export | +| [`@thi.ng/dsp-io-wav`](./packages/dsp-io-wav) | [![version](https://img.shields.io/npm/v/@thi.ng/dsp-io-wav.svg)](https://www.npmjs.com/package/@thi.ng/dsp-io-wav) | [changelog](./packages/dsp-io-wav/CHANGELOG.md) | WAV file format exporter | +| [`@thi.ng/geom-io-obj`](./packages/geom-io-obj) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-io-obj.svg)](https://www.npmjs.com/package/@thi.ng/geom-io-obj) | [changelog](./packages/geom-io-obj/CHANGELOG.md) | Wavefront OBJ model parser | +| [`@thi.ng/hiccup-css`](./packages/hiccup-css) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-css.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-css) | [changelog](./packages/hiccup-css/CHANGELOG.md) | CSS from nested JS data structures | +| [`@thi.ng/hiccup-html`](./packages/hiccup-html) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-html.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-html) | [changelog](./packages/hiccup-html/CHANGELOG.md) | Type-checked HTML5 element wrappers for hiccup | +| [`@thi.ng/hiccup-markdown`](./packages/hiccup-markdown) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-markdown.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-markdown) | [changelog](./packages/hiccup-markdown/CHANGELOG.md) | Hiccup-to-Markdown serialization | +| [`@thi.ng/hiccup-svg`](./packages/hiccup-svg) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-svg.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-svg) | [changelog](./packages/hiccup-svg/CHANGELOG.md) | hiccup based SVG vocab | +| [`@thi.ng/iges`](./packages/iges) | [![version](https://img.shields.io/npm/v/@thi.ng/iges.svg)](https://www.npmjs.com/package/@thi.ng/iges) | [changelog](./packages/iges/CHANGELOG.md) | IGES format geometry serialization | +| [`@thi.ng/mime`](./packages/mime) | [![version](https://img.shields.io/npm/v/@thi.ng/mime.svg)](https://www.npmjs.com/package/@thi.ng/mime) | [changelog](./packages/mime/CHANGELOG.md) | File extension to MIME type mappings | +| [`@thi.ng/prefixes`](./packages/prefixes) | [![version](https://img.shields.io/npm/v/@thi.ng/prefixes.svg)](https://www.npmjs.com/package/@thi.ng/prefixes) | [changelog](./packages/prefixes/CHANGELOG.md) | Linked Data, RDF & xmlns prefixes/URLs | +| [`@thi.ng/sax`](./packages/sax) | [![version](https://img.shields.io/npm/v/@thi.ng/sax.svg)](https://www.npmjs.com/package/@thi.ng/sax) | [changelog](./packages/sax/CHANGELOG.md) | SAX-like XML parser / transducer | + ### Iterator, stream & sequence processing | Project | Version | Changelog | Description | @@ -172,7 +212,6 @@ feature or `develop` branches) --> | [`@thi.ng/fsm`](./packages/fsm) | [![version](https://img.shields.io/npm/v/@thi.ng/fsm.svg)](https://www.npmjs.com/package/@thi.ng/fsm) | [changelog](./packages/fsm/CHANGELOG.md) | FSM / parser primitives | | [`@thi.ng/grid-iterators`](./packages/grid-iterators) | [![version](https://img.shields.io/npm/v/@thi.ng/grid-iterators.svg)](https://www.npmjs.com/package/@thi.ng/grid-iterators) | [changelog](./packages/grid-iterators/CHANGELOG.md) | 2D grid iterator strategies | | [`@thi.ng/iterators`](./packages/iterators) | [![version](https://img.shields.io/npm/v/@thi.ng/iterators.svg)](https://www.npmjs.com/package/@thi.ng/iterators) | [changelog](./packages/iterators/CHANGELOG.md) | ES6 generators / iterators | -| [`@thi.ng/sax`](./packages/sax) | [![version](https://img.shields.io/npm/v/@thi.ng/sax.svg)](https://www.npmjs.com/package/@thi.ng/sax) | [changelog](./packages/sax/CHANGELOG.md) | SAX-like XML parser / transducer | | [`@thi.ng/seq`](./packages/seq) | [![version](https://img.shields.io/npm/v/@thi.ng/seq.svg)](https://www.npmjs.com/package/@thi.ng/seq) | [changelog](./packages/seq/CHANGELOG.md) | Lisp/Clojure-style sequence abstraction | | [`@thi.ng/transducers`](./packages/transducers) | [![version](https://img.shields.io/npm/v/@thi.ng/transducers.svg)](https://www.npmjs.com/package/@thi.ng/transducers) | [changelog](./packages/transducers/CHANGELOG.md) | Composable data transformations | | [`@thi.ng/transducers-binary`](./packages/transducers-binary) | [![version](https://img.shields.io/npm/v/@thi.ng/transducers-binary.svg)](https://www.npmjs.com/package/@thi.ng/transducers-binary) | [changelog](./packages/transducers-binary/CHANGELOG.md) | Binary data related transducers | @@ -204,19 +243,17 @@ feature or `develop` branches) --> | [`@thi.ng/atom`](./packages/atom) | [![version](https://img.shields.io/npm/v/@thi.ng/atom.svg)](https://www.npmjs.com/package/@thi.ng/atom) | [changelog](./packages/atom/CHANGELOG.md) | Immutable value wrappers, views, history | | [`@thi.ng/bitfield`](./packages/bitfield) | [![version](https://img.shields.io/npm/v/@thi.ng/bitfield.svg)](https://www.npmjs.com/package/@thi.ng/bitfield) | [changelog](./packages/bitfield/CHANGELOG.md) | 1D/2D bit field implementations | | [`@thi.ng/cache`](./packages/cache) | [![version](https://img.shields.io/npm/v/@thi.ng/cache.svg)](https://www.npmjs.com/package/@thi.ng/cache) | [changelog](./packages/cache/CHANGELOG.md) | In-memory caches / strategies | -| [`@thi.ng/csv`](./packages/csv) | [![version](https://img.shields.io/npm/v/@thi.ng/csv.svg)](https://www.npmjs.com/package/@thi.ng/csv) | [changelog](./packages/csv/CHANGELOG.md) | Customizable CSV parser/object mapper | | [`@thi.ng/dcons`](./packages/dcons) | [![version](https://img.shields.io/npm/v/@thi.ng/dcons.svg)](https://www.npmjs.com/package/@thi.ng/dcons) | [changelog](./packages/dcons/CHANGELOG.md) | Doubly-linked list | | [`@thi.ng/diff`](./packages/diff) | [![version](https://img.shields.io/npm/v/@thi.ng/diff.svg)](https://www.npmjs.com/package/@thi.ng/diff) | [changelog](./packages/diff/CHANGELOG.md) | Array & object diffing | | [`@thi.ng/dgraph`](./packages/dgraph) | [![version](https://img.shields.io/npm/v/@thi.ng/dgraph.svg)](https://www.npmjs.com/package/@thi.ng/dgraph) | [changelog](./packages/dgraph/CHANGELOG.md) | Dependency graph | +| [`@thi.ng/ecs`](./packages/ecs) | [![version](https://img.shields.io/npm/v/@thi.ng/ecs.svg)](https://www.npmjs.com/package/@thi.ng/ecs) | [changelog](./packages/ecs/CHANGELOG.md) | Entity-Component System | | [`@thi.ng/egf`](./packages/egf) | [![version](https://img.shields.io/npm/v/@thi.ng/egf.svg)](https://www.npmjs.com/package/@thi.ng/egf) | [changelog](./packages/egf/CHANGELOG.md) | Extensible Graph Format | | [`@thi.ng/gp`](./packages/gp) | [![version](https://img.shields.io/npm/v/@thi.ng/gp.svg)](https://www.npmjs.com/package/@thi.ng/gp) | [changelog](./packages/gp/CHANGELOG.md) | Genetic programming helpers / AST gen | | [`@thi.ng/heaps`](./packages/heaps) | [![version](https://img.shields.io/npm/v/@thi.ng/heaps.svg)](https://www.npmjs.com/package/@thi.ng/heaps) | [changelog](./packages/heaps/CHANGELOG.md) | Binary & d-ary heap impls | | [`@thi.ng/idgen`](./packages/idgen) | [![version](https://img.shields.io/npm/v/@thi.ng/idgen.svg)](https://www.npmjs.com/package/@thi.ng/idgen) | [changelog](./packages/idgen/CHANGELOG.md) | Versioned ID generation / free-list | -| [`@thi.ng/intervals`](./packages/intervals) | [![version](https://img.shields.io/npm/v/@thi.ng/intervals.svg)](https://www.npmjs.com/package/@thi.ng/intervals) | [changelog](./packages/intervals/CHANGELOG.md) | Open/closed intervals, queries, set ops | | [`@thi.ng/ramp`](./packages/ramp) | [![version](https://img.shields.io/npm/v/@thi.ng/ramp.svg)](https://www.npmjs.com/package/@thi.ng/ramp) | [changelog](./packages/ramp/CHANGELOG.md) | Parametric, interpolated lookup tables | | [`@thi.ng/quad-edge`](./packages/quad-edge) | [![version](https://img.shields.io/npm/v/@thi.ng/quad-edge.svg)](https://www.npmjs.com/package/@thi.ng/quad-edge) | [changelog](./packages/quad-edge/CHANGELOG.md) | Quad-edge, dual-graph data structure | | [`@thi.ng/resolve-map`](./packages/resolve-map) | [![version](https://img.shields.io/npm/v/@thi.ng/resolve-map.svg)](https://www.npmjs.com/package/@thi.ng/resolve-map) | [changelog](./packages/resolve-map/CHANGELOG.md) | DAG computations & value resolution | -| [`@thi.ng/sparse`](./packages/sparse) | [![version](https://img.shields.io/npm/v/@thi.ng/sparse.svg)](https://www.npmjs.com/package/@thi.ng/sparse) | [changelog](./packages/sparse/CHANGELOG.md) | Sparse matrix & vector impls | | [`@thi.ng/vclock`](./packages/vclock) | [![version](https://img.shields.io/npm/v/@thi.ng/vclock.svg)](https://www.npmjs.com/package/@thi.ng/vclock) | [changelog](./packages/vclock/CHANGELOG.md) | Vector clock functions / comparators | | [`@thi.ng/zipper`](./packages/zipper) | [![version](https://img.shields.io/npm/v/@thi.ng/zipper.svg)](https://www.npmjs.com/package/@thi.ng/zipper) | [changelog](./packages/zipper/CHANGELOG.md) | Immutable tree editing / navigation | @@ -234,10 +271,6 @@ feature or `develop` branches) --> | [`@thi.ng/hiccup`](./packages/hiccup) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup.svg)](https://www.npmjs.com/package/@thi.ng/hiccup) | [changelog](./packages/hiccup/CHANGELOG.md) | S-expression based HTML/XML serialization | | [`@thi.ng/hiccup-canvas`](./packages/hiccup-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-canvas) | [changelog](./packages/hiccup-canvas/CHANGELOG.md) | hiccup interpreter for canvas api | | [`@thi.ng/hiccup-carbon-icons`](./packages/hiccup-carbon-icons) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-carbon-icons.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-carbon-icons) | [changelog](./packages/hiccup-carbon-icons/CHANGELOG.md) | IBM Carbon icons in hiccup format | -| [`@thi.ng/hiccup-css`](./packages/hiccup-css) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-css.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-css) | [changelog](./packages/hiccup-css/CHANGELOG.md) | CSS from nested JS data structures | -| [`@thi.ng/hiccup-html`](./packages/hiccup-html) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-html.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-html) | [changelog](./packages/hiccup-html/CHANGELOG.md) | Type-checked HTML5 element wrappers for hiccup | -| [`@thi.ng/hiccup-markdown`](./packages/hiccup-markdown) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-markdown.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-markdown) | [changelog](./packages/hiccup-markdown/CHANGELOG.md) | Hiccup-to-Markdown serialization | -| [`@thi.ng/hiccup-svg`](./packages/hiccup-svg) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-svg.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-svg) | [changelog](./packages/hiccup-svg/CHANGELOG.md) | hiccup based SVG vocab | | [`@thi.ng/imgui`](./packages/imgui) | [![version](https://img.shields.io/npm/v/@thi.ng/imgui.svg)](https://www.npmjs.com/package/@thi.ng/imgui) | [changelog](./packages/imgui/CHANGELOG.md) | Immediate mode GUI | | [`@thi.ng/interceptors`](./packages/interceptors) | [![version](https://img.shields.io/npm/v/@thi.ng/interceptors.svg)](https://www.npmjs.com/package/@thi.ng/interceptors) | [changelog](./packages/interceptors/CHANGELOG.md) | Composable event handlers & processor | | [`@thi.ng/rdom`](./packages/rdom) | [![version](https://img.shields.io/npm/v/@thi.ng/rdom.svg)](https://www.npmjs.com/package/@thi.ng/rdom) | [changelog](./packages/rdom/CHANGELOG.md) | Reactive, diff-less, async UI components | @@ -246,13 +279,12 @@ feature or `develop` branches) --> | [`@thi.ng/router`](./packages/router) | [![version](https://img.shields.io/npm/v/@thi.ng/router.svg)](https://www.npmjs.com/package/@thi.ng/router) | [changelog](./packages/router/CHANGELOG.md) | Customizable browser & non-browser router | | [`@thi.ng/text-canvas`](./packages/text-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/text-canvas.svg)](https://www.npmjs.com/package/@thi.ng/text-canvas) | [changelog](./packages/text-canvas/CHANGELOG.md) | Text-mode canvas, drawing, tables, charts | -### Geometry & visualization +### Geometry, image & visualization | Project | Version | Changelog | Description | |---------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|-----------------------------------------------------| | [`@thi.ng/color`](./packages/color) | [![version](https://img.shields.io/npm/v/@thi.ng/color.svg)](https://www.npmjs.com/package/@thi.ng/color) | [changelog](./packages/color/CHANGELOG.md) | Color conversions, gradients | | [`@thi.ng/dgraph-dot`](./packages/dgraph-dot) | [![version](https://img.shields.io/npm/v/@thi.ng/dgraph-dot.svg)](https://www.npmjs.com/package/@thi.ng/dgraph-dot) | [changelog](./packages/dgraph-dot/CHANGELOG.md) | Dependency graph -> Graphviz | -| [`@thi.ng/dot`](./packages/dot) | [![version](https://img.shields.io/npm/v/@thi.ng/dot.svg)](https://www.npmjs.com/package/@thi.ng/dot) | [changelog](./packages/dot/CHANGELOG.md) | Graphviz DOM & export | | [`@thi.ng/fuzzy-viz`](./packages/fuzzy-viz) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy-viz.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy-viz) | [changelog](./packages/fuzzy-viz/CHANGELOG.md) | Visualization, instrumentation for @thi.ng/fuzzy | | [`@thi.ng/geom`](./packages/geom) | [![version](https://img.shields.io/npm/v/@thi.ng/geom.svg)](https://www.npmjs.com/package/@thi.ng/geom) | [changelog](./packages/geom/CHANGELOG.md) | 2D only geometry types & ops | | [`@thi.ng/geom-accel`](./packages/geom-accel) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-accel.svg)](https://www.npmjs.com/package/@thi.ng/geom-accel) | [changelog](./packages/geom-accel/CHANGELOG.md) | Spatial indexing data structures | @@ -263,7 +295,6 @@ feature or `develop` branches) --> | [`@thi.ng/geom-closest-point`](./packages/geom-closest-point) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-closest-point.svg)](https://www.npmjs.com/package/@thi.ng/geom-closest-point) | [changelog](./packages/geom-closest-point/CHANGELOG.md) | Closest point helpers | | [`@thi.ng/geom-fuzz`](./packages/geom-fuzz) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-fuzz.svg)](https://www.npmjs.com/package/@thi.ng/geom-fuzz) | [changelog](./packages/geom-fuzz/CHANGELOG.md) | Fuzzy 2D shape drawing / filling | | [`@thi.ng/geom-hull`](./packages/geom-hull) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-hull.svg)](https://www.npmjs.com/package/@thi.ng/geom-hull) | [changelog](./packages/geom-hull/CHANGELOG.md) | 2D convex hull (Graham scan) | -| [`@thi.ng/geom-io-obj`](./packages/geom-io-obj) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-io-obj.svg)](https://www.npmjs.com/package/@thi.ng/geom-io-obj) | [changelog](./packages/geom-io-obj/CHANGELOG.md) | Wavefront OBJ model parser | | [`@thi.ng/geom-isec`](./packages/geom-isec) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-isec.svg)](https://www.npmjs.com/package/@thi.ng/geom-isec) | [changelog](./packages/geom-isec/CHANGELOG.md) | Point & shape intersection tests | | [`@thi.ng/geom-isoline`](./packages/geom-isoline) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-isoline.svg)](https://www.npmjs.com/package/@thi.ng/geom-isoline) | [changelog](./packages/geom-isoline/CHANGELOG.md) | 2D contour line extraction | | [`@thi.ng/geom-poly-utils`](./packages/geom-poly-utils) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-poly-utils.svg)](https://www.npmjs.com/package/@thi.ng/geom-poly-utils) | [changelog](./packages/geom-poly-utils/CHANGELOG.md) | 2D polygon helpers | @@ -272,15 +303,12 @@ feature or `develop` branches) --> | [`@thi.ng/geom-subdiv-curve`](./packages/geom-subdiv-curve) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-subdiv-curve.svg)](https://www.npmjs.com/package/@thi.ng/geom-subdiv-curve) | [changelog](./packages/geom-subdiv-curve/CHANGELOG.md) | nD iterative subdivision curves | | [`@thi.ng/geom-tessellate`](./packages/geom-tessellate) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-tessellate.svg)](https://www.npmjs.com/package/@thi.ng/geom-tessellate) | [changelog](./packages/geom-tessellate/CHANGELOG.md) | nD convex polygon tessellators | | [`@thi.ng/geom-voronoi`](./packages/geom-voronoi) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-voronoi.svg)](https://www.npmjs.com/package/@thi.ng/geom-voronoi) | [changelog](./packages/geom-voronoi/CHANGELOG.md) | 2D iterative delaunay/voronoi | -| [`@thi.ng/iges`](./packages/iges) | [![version](https://img.shields.io/npm/v/@thi.ng/iges.svg)](https://www.npmjs.com/package/@thi.ng/iges) | [changelog](./packages/iges/CHANGELOG.md) | IGES format geometry serialization | | [`@thi.ng/lsys`](./packages/lsys) | [![version](https://img.shields.io/npm/v/@thi.ng/lsys.svg)](https://www.npmjs.com/package/@thi.ng/lsys) | [changelog](./packages/lsys/CHANGELOG.md) | Extensible L-System architecture | -| [`@thi.ng/matrices`](./packages/matrices) | [![version](https://img.shields.io/npm/v/@thi.ng/matrices.svg)](https://www.npmjs.com/package/@thi.ng/matrices) | [changelog](./packages/matrices/CHANGELOG.md) | Matrix operations | | [`@thi.ng/pixel`](./packages/pixel) | [![version](https://img.shields.io/npm/v/@thi.ng/pixel.svg)](https://www.npmjs.com/package/@thi.ng/pixel) | [changelog](./packages/pixel/CHANGELOG.md) | Multi-format pixel buffers | | [`@thi.ng/poisson`](./packages/poisson) | [![version](https://img.shields.io/npm/v/@thi.ng/poisson.svg)](https://www.npmjs.com/package/@thi.ng/poisson) | [changelog](./packages/poisson/CHANGELOG.md) | nD Poisson disk sampling | | [`@thi.ng/porter-duff`](./packages/porter-duff) | [![version](https://img.shields.io/npm/v/@thi.ng/porter-duff.svg)](https://www.npmjs.com/package/@thi.ng/porter-duff) | [changelog](./packages/porter-duff/CHANGELOG.md) | Alpha blending / compositing ops | | [`@thi.ng/scenegraph`](./packages/scenegraph) | [![version](https://img.shields.io/npm/v/@thi.ng/scenegraph.svg)](https://www.npmjs.com/package/@thi.ng/scenegraph) | [changelog](./packages/scenegraph/CHANGELOG.md) | Extensible 2D/3D scenegraph | | [`@thi.ng/simd`](./packages/simd) | [![version](https://img.shields.io/npm/v/@thi.ng/simd.svg)](https://www.npmjs.com/package/@thi.ng/simd) | [changelog](./packages/simd/CHANGELOG.md) | WebAssembly SIMD vector batch processing | -| [`@thi.ng/vectors`](./packages/vectors) | [![version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) | [changelog](./packages/vectors/CHANGELOG.md) | Fixed & arbitrary-length vector ops | | [`@thi.ng/viz`](./packages/viz) | [![version](https://img.shields.io/npm/v/@thi.ng/viz.svg)](https://www.npmjs.com/package/@thi.ng/viz) | [changelog](./packages/viz/CHANGELOG.md) | Declarative & functional data visualization toolkit | ### WebGL / GPGPU @@ -297,20 +325,20 @@ feature or `develop` branches) --> ### Low-level, binary, memory management -| Project | Version | Changelog | Description | -|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|-----------------------------------------------| -| [`@thi.ng/bencode`](./packages/bencode) | [![version](https://img.shields.io/npm/v/@thi.ng/bencode.svg)](https://www.npmjs.com/package/@thi.ng/bencode) | [changelog](./packages/bencode/CHANGELOG.md) | Bencode binary format encoding | -| [`@thi.ng/binary`](./packages/binary) | [![version](https://img.shields.io/npm/v/@thi.ng/binary.svg)](https://www.npmjs.com/package/@thi.ng/binary) | [changelog](./packages/binary/CHANGELOG.md) | Assorted binary / bitwise ops, utilities | -| [`@thi.ng/bitstream`](./packages/bitstream) | [![version](https://img.shields.io/npm/v/@thi.ng/bitstream.svg)](https://www.npmjs.com/package/@thi.ng/bitstream) | [changelog](./packages/bitstream/CHANGELOG.md) | Bitwise input / output streams | -| [`@thi.ng/dlogic`](./packages/dlogic) | [![version](https://img.shields.io/npm/v/@thi.ng/dlogic.svg)](https://www.npmjs.com/package/@thi.ng/dlogic) | [changelog](./packages/dlogic/CHANGELOG.md) | Digital logic ops / constructs | -| [`@thi.ng/leb128`](./packages/leb128) | [![version](https://img.shields.io/npm/v/@thi.ng/leb128.svg)](https://www.npmjs.com/package/@thi.ng/leb128) | [changelog](./packages/leb128/CHANGELOG.md) | WASM based LEB128 varint encoder / decoder | -| [`@thi.ng/malloc`](./packages/malloc) | [![version](https://img.shields.io/npm/v/@thi.ng/malloc.svg)](https://www.npmjs.com/package/@thi.ng/malloc) | [changelog](./packages/malloc/CHANGELOG.md) | Raw & typed array memory pool & allocator | -| [`@thi.ng/morton`](./packages/morton) | [![version](https://img.shields.io/npm/v/@thi.ng/morton.svg)](https://www.npmjs.com/package/@thi.ng/morton) | [changelog](./packages/morton/CHANGELOG.md) | Z-order-curve / Morton coding | -| [`@thi.ng/range-coder`](./packages/range-coder) | [![version](https://img.shields.io/npm/v/@thi.ng/range-coder.svg)](https://www.npmjs.com/package/@thi.ng/range-coder) | [changelog](./packages/range-coder/CHANGELOG.md) | Binary data Range encoder / decoder | -| [`@thi.ng/rle-pack`](./packages/rle-pack) | [![version](https://img.shields.io/npm/v/@thi.ng/rle-pack.svg)](https://www.npmjs.com/package/@thi.ng/rle-pack) | [changelog](./packages/rle-pack/CHANGELOG.md) | Run-length encoding data compression | -| [`@thi.ng/soa`](./packages/soa) | [![version](https://img.shields.io/npm/v/@thi.ng/soa.svg)](https://www.npmjs.com/package/@thi.ng/soa) | [changelog](./packages/soa/CHANGELOG.md) | Memory mapped data structures & serialization | -| [`@thi.ng/unionstruct`](./packages/unionstruct) | [![version](https://img.shields.io/npm/v/@thi.ng/unionstruct.svg)](https://www.npmjs.com/package/@thi.ng/unionstruct) | [changelog](./packages/unionstruct/CHANGELOG.md) | Wrapper for C-like structs / unions | -| [`@thi.ng/vector-pools`](./packages/vector-pools) | [![version](https://img.shields.io/npm/v/@thi.ng/vector-pools.svg)](https://www.npmjs.com/package/@thi.ng/vector-pools) | [changelog](./packages/vector-pools/CHANGELOG.md) | Data structures for memory mapped vectors | +| Project | Version | Changelog | Description | +|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|-------------------------------------------------| +| [`@thi.ng/base-n`](./packages/base-n) | [![version](https://img.shields.io/npm/v/@thi.ng/base-n.svg)](https://www.npmjs.com/package/@thi.ng/base-n) | [changelog](./packages/base-n/CHANGELOG.md) | Arbitrary base-n encoding/decoding with presets | +| [`@thi.ng/binary`](./packages/binary) | [![version](https://img.shields.io/npm/v/@thi.ng/binary.svg)](https://www.npmjs.com/package/@thi.ng/binary) | [changelog](./packages/binary/CHANGELOG.md) | Assorted binary / bitwise ops, utilities | +| [`@thi.ng/bitstream`](./packages/bitstream) | [![version](https://img.shields.io/npm/v/@thi.ng/bitstream.svg)](https://www.npmjs.com/package/@thi.ng/bitstream) | [changelog](./packages/bitstream/CHANGELOG.md) | Bitwise input / output streams | +| [`@thi.ng/dlogic`](./packages/dlogic) | [![version](https://img.shields.io/npm/v/@thi.ng/dlogic.svg)](https://www.npmjs.com/package/@thi.ng/dlogic) | [changelog](./packages/dlogic/CHANGELOG.md) | Digital logic ops / constructs | +| [`@thi.ng/leb128`](./packages/leb128) | [![version](https://img.shields.io/npm/v/@thi.ng/leb128.svg)](https://www.npmjs.com/package/@thi.ng/leb128) | [changelog](./packages/leb128/CHANGELOG.md) | WASM based LEB128 varint encoder / decoder | +| [`@thi.ng/malloc`](./packages/malloc) | [![version](https://img.shields.io/npm/v/@thi.ng/malloc.svg)](https://www.npmjs.com/package/@thi.ng/malloc) | [changelog](./packages/malloc/CHANGELOG.md) | Raw & typed array memory pool & allocator | +| [`@thi.ng/morton`](./packages/morton) | [![version](https://img.shields.io/npm/v/@thi.ng/morton.svg)](https://www.npmjs.com/package/@thi.ng/morton) | [changelog](./packages/morton/CHANGELOG.md) | Z-order-curve / Morton coding | +| [`@thi.ng/range-coder`](./packages/range-coder) | [![version](https://img.shields.io/npm/v/@thi.ng/range-coder.svg)](https://www.npmjs.com/package/@thi.ng/range-coder) | [changelog](./packages/range-coder/CHANGELOG.md) | Binary data Range encoder / decoder | +| [`@thi.ng/rle-pack`](./packages/rle-pack) | [![version](https://img.shields.io/npm/v/@thi.ng/rle-pack.svg)](https://www.npmjs.com/package/@thi.ng/rle-pack) | [changelog](./packages/rle-pack/CHANGELOG.md) | Run-length encoding data compression | +| [`@thi.ng/soa`](./packages/soa) | [![version](https://img.shields.io/npm/v/@thi.ng/soa.svg)](https://www.npmjs.com/package/@thi.ng/soa) | [changelog](./packages/soa/CHANGELOG.md) | Memory mapped data structures & serialization | +| [`@thi.ng/unionstruct`](./packages/unionstruct) | [![version](https://img.shields.io/npm/v/@thi.ng/unionstruct.svg)](https://www.npmjs.com/package/@thi.ng/unionstruct) | [changelog](./packages/unionstruct/CHANGELOG.md) | Wrapper for C-like structs / unions | +| [`@thi.ng/vector-pools`](./packages/vector-pools) | [![version](https://img.shields.io/npm/v/@thi.ng/vector-pools.svg)](https://www.npmjs.com/package/@thi.ng/vector-pools) | [changelog](./packages/vector-pools/CHANGELOG.md) | Data structures for memory mapped vectors | ### DSLs @@ -381,7 +409,7 @@ https://github.com/thi-ng/umbrella-docs-temp ## License -© 2015 - 2020 Karsten Schmidt // Apache Software License 2.0 +© 2015 - 2021 Karsten Schmidt // Apache Software License 2.0 ## Contributors ✨ @@ -392,44 +420,49 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + + + + +

Karsten Schmidt

πŸ’» πŸ“– 🚧 πŸ’΅

Alberto

πŸ’» πŸ’‘ πŸ› πŸ€” πŸ’΅

Arthur Carabott

πŸ’» πŸ€” πŸ’‘ πŸ“ πŸ’΅

AndrΓ© Wachter

πŸ’» πŸ€” πŸ›

Gavin Cannizzaro

πŸ’» πŸ› πŸ€”

Logan Powell

πŸ“– πŸ› πŸ€” πŸ’΅

Marcin Ignac

πŸ›

Karsten Schmidt

πŸ’» πŸ“– 🚧 πŸ’΅

Alberto

πŸ’» πŸ’‘ πŸ› πŸ€” πŸ’΅

Arthur Carabott

πŸ’» πŸ€” πŸ’‘ πŸ“ πŸ’΅

AndrΓ© Wachter

πŸ’» πŸ€” πŸ›

Gavin Cannizzaro

πŸ’» πŸ› πŸ€”

Logan Powell

πŸ“– πŸ› πŸ€” πŸ’΅

Marcin Ignac

πŸ›

arcticnoah

πŸ’»

allforabit

πŸ› πŸ’» πŸ€” πŸ’΅

Yifan Wu

πŸ› πŸ“–

stwind

πŸ’» πŸ›

evilive

πŸ’»

Bnaya Peretz

πŸ’» πŸ› πŸ€”

oljeger

πŸ›

arcticnoah

πŸ’»

allforabit

πŸ› πŸ’» πŸ€” πŸ’΅

Yifan Wu

πŸ› πŸ“–

stwind

πŸ’» πŸ›

evilive

πŸ’»

Bnaya Peretz

πŸ’» πŸ› πŸ€”

oljeger

πŸ›

Nik Shevchenko

πŸ› πŸ’»

Matei Adriel

πŸ’» πŸ› πŸ€”

Pierre Grimaud

πŸ“–

Matt Huebert

πŸ’΅

Raphael Saunier

πŸ’΅

Eric Ihli

πŸ’΅

David Pham

πŸ’΅

Nik Shevchenko

πŸ› πŸ’»

Matei Adriel

πŸ’» πŸ› πŸ€”

Pierre Grimaud

πŸ“–

Matt Huebert

πŸ’΅

Raphael Saunier

πŸ’΅

Eric Ihli

πŸ’΅

David Pham

πŸ’΅

TBD

πŸ› πŸ€”

Pedro Henriques dos Santos Teixeira

πŸ’΅

Jamie Owen

πŸ›

Robert Kesteson

πŸ› πŸ’»

Chancy Kennedy

πŸ’΅

Jarred Sumner

πŸ›

TBD

πŸ› πŸ€”

Pedro Henriques dos Santos Teixeira

πŸ’΅

Jamie Owen

πŸ›

Robert Kesteson

πŸ› πŸ’»

Chancy Kennedy

πŸ’΅

Jarred Sumner

πŸ›

Jamie Slome

πŸ› πŸ›‘οΈ

d3v53c

πŸ› πŸ›‘οΈ
- + + This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/assets/color/blackbody.svg b/assets/color/blackbody.svg new file mode 100644 index 0000000000..e4588a6fe7 --- /dev/null +++ b/assets/color/blackbody.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/lch-gradient.svg b/assets/color/lch-gradient.svg new file mode 100644 index 0000000000..dfd0775c87 --- /dev/null +++ b/assets/color/lch-gradient.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/mapped-colors-01.png b/assets/color/mapped-colors-01.png new file mode 100644 index 0000000000..a83061141f Binary files /dev/null and b/assets/color/mapped-colors-01.png differ diff --git a/assets/color/mapped-colors-02.png b/assets/color/mapped-colors-02.png new file mode 100644 index 0000000000..a3f192ec4f Binary files /dev/null and b/assets/color/mapped-colors-02.png differ diff --git a/assets/color/mapped-colors.drawio b/assets/color/mapped-colors.drawio new file mode 100644 index 0000000000..4ed4b57fd1 --- /dev/null +++ b/assets/color/mapped-colors.drawio @@ -0,0 +1 @@ +7ZtLc5swEMc/jY/JGDCOfYxpSC7pZJqmbXLDIAMTgVwQsdNPX/EQTzlxnbVRmfhiWPRifwu78wdGmhFsryNr7d0SB+GROna2I+3LSFUVZTZlf6nlNbfMtHFucCPfKRpVhnv/DyqMvFniOyhuNKSEYOqvm0abhCGyacNmRRHZNJutCG7OurZc1DHc2xbuWn/6DvWKs1AvKvsN8l2Pz6xM5/mRwOKNizOJPcshm5pJuxppRkQIzbeCrYFw6jzul7yfueNoubAIhXSfDsubB/z17vmnep2sXDV5cu4S5awY5cXCSXHCI3WK2XiLFWHDModZdn5g+jtJV7q4RSEm1S7bctP/b7xfnCy5TeE2tqiauWbNJ+HmzEv0lbs+IknooHT1Y3Z44/kU3a/z5WxYsDGbRwPM9pR0uT7GBsEkyvpqpmmwXznqC4oo2u50nFLiYHGMSIBo9MqaFB0mBUAewcXupgoH3sKrRQK3WUUAuuW4FSO2UWD6B2QqFLJruZAZRgoNBtlMLmQaFLKFbMiudNOEQaaocjGbQDG77JkZBJupXGz0Y2Yttb/rCTJrqWO5mE2PmbZ6ZAaZtmQrNS6Ombd6ZQaXt2SrNWbHzFunZAbARpOsppgfM29pw8hbmmS1BhcijpO4eoQGmbgmkhUbCpiuIcpcvUKDy1wTyaoNBUzZEKWuU0KDgCNZWaGAaRii3DUZRu7SJas3FDARQ5S7eoQGmbt02QoOMHVDlLt6hQaXu6ayFRxg8oYod50SGgQc2QoLMB1DlLsG8pSrrT2V+mFv1MCUjAE/6GqrT/1TA9M4RNlrIM+62rpU79T4ej6fdo26ClT/dMDUjF9yXVOmCSlBSQYNTM14HC402bKXCqZyPA0XWvtNjf6pgckcD7JRM4z5HIiadFkNTOf4MVxq7bc4+qcGJnRUtcjaChve5y3TAc/i7JVgVlaOlfF62x1GwF59l30+5f95+20/a+s/JMDklcfPkDgsJKQrfsG0m6fPkDgsJKQrrbvC0Pn5ecd/7Ixp00kxjcgz4m4KSYhanitMFvbdkO3azEOI2Rep/3zbwpfFgcB3nHQaIZUmNwAAOlfCSgD6XgDUYwHgH9585Jrc4/JTd1x+VpC6OVzG6R9zzRhhFDBfxu1j+15pKHQu0w982N4SE/v5u+eHWbhYERUdqIUU62r6uAow1qO2n8+EnM6HQe+ir6HVBWi5LULYov5Lc3gR72KGO+JnfMRKhzJrRUxMkshGRacqaATjvDMQ84uLaGegLPrKs/5AQIpkrf0g72R5OLtdj0H07n3zLbb7Y+zMND+Q484ln4ojmNKVXYmsPVmtYpRuZJ3SG+d+t4TBJI8S4RtRWMowH8webLf6CDGPiepTTu3qLw== \ No newline at end of file diff --git a/assets/color/swatches-duo-bright.svg b/assets/color/swatches-duo-bright.svg deleted file mode 100644 index 95b7941eb6..0000000000 --- a/assets/color/swatches-duo-bright.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-cool.svg b/assets/color/swatches-duo-cool.svg deleted file mode 100644 index 6ae5224e1d..0000000000 --- a/assets/color/swatches-duo-cool.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-dark.svg b/assets/color/swatches-duo-dark.svg deleted file mode 100644 index 93597469f5..0000000000 --- a/assets/color/swatches-duo-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-fresh.svg b/assets/color/swatches-duo-fresh.svg deleted file mode 100644 index 5f4258d571..0000000000 --- a/assets/color/swatches-duo-fresh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-hard.svg b/assets/color/swatches-duo-hard.svg deleted file mode 100644 index 5349176d8b..0000000000 --- a/assets/color/swatches-duo-hard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-intense.svg b/assets/color/swatches-duo-intense.svg deleted file mode 100644 index bad59f11e4..0000000000 --- a/assets/color/swatches-duo-intense.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-light.svg b/assets/color/swatches-duo-light.svg deleted file mode 100644 index 68afcebdc2..0000000000 --- a/assets/color/swatches-duo-light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-neutral.svg b/assets/color/swatches-duo-neutral.svg deleted file mode 100644 index 49823eea30..0000000000 --- a/assets/color/swatches-duo-neutral.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-soft.svg b/assets/color/swatches-duo-soft.svg deleted file mode 100644 index c9af2f227d..0000000000 --- a/assets/color/swatches-duo-soft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-warm.svg b/assets/color/swatches-duo-warm.svg deleted file mode 100644 index e2c3beadc1..0000000000 --- a/assets/color/swatches-duo-warm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-duo-weak.svg b/assets/color/swatches-duo-weak.svg deleted file mode 100644 index b362ede965..0000000000 --- a/assets/color/swatches-duo-weak.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-ex01.svg b/assets/color/swatches-ex01.svg index 34806a10d1..d374671918 100644 --- a/assets/color/swatches-ex01.svg +++ b/assets/color/swatches-ex01.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/color/swatches-ex02.svg b/assets/color/swatches-ex02.svg index 08b60fa026..af7662e79d 100644 --- a/assets/color/swatches-ex02.svg +++ b/assets/color/swatches-ex02.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/color/swatches-green-bright.svg b/assets/color/swatches-green-bright.svg deleted file mode 100644 index 51ba0c13fd..0000000000 --- a/assets/color/swatches-green-bright.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-cool.svg b/assets/color/swatches-green-cool.svg deleted file mode 100644 index 9f9a4d2d47..0000000000 --- a/assets/color/swatches-green-cool.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-dark.svg b/assets/color/swatches-green-dark.svg deleted file mode 100644 index f85860c8c2..0000000000 --- a/assets/color/swatches-green-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-fresh.svg b/assets/color/swatches-green-fresh.svg deleted file mode 100644 index f03297c295..0000000000 --- a/assets/color/swatches-green-fresh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-hard.svg b/assets/color/swatches-green-hard.svg deleted file mode 100644 index 0f4d5c6edc..0000000000 --- a/assets/color/swatches-green-hard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-intense.svg b/assets/color/swatches-green-intense.svg deleted file mode 100644 index c2245a98b2..0000000000 --- a/assets/color/swatches-green-intense.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-light.svg b/assets/color/swatches-green-light.svg deleted file mode 100644 index 16b37436c3..0000000000 --- a/assets/color/swatches-green-light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-neutral.svg b/assets/color/swatches-green-neutral.svg deleted file mode 100644 index 18f1c9d374..0000000000 --- a/assets/color/swatches-green-neutral.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-soft.svg b/assets/color/swatches-green-soft.svg deleted file mode 100644 index a6c63fa449..0000000000 --- a/assets/color/swatches-green-soft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-warm.svg b/assets/color/swatches-green-warm.svg deleted file mode 100644 index 3eed818084..0000000000 --- a/assets/color/swatches-green-warm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-green-weak.svg b/assets/color/swatches-green-weak.svg deleted file mode 100644 index afdbecf083..0000000000 --- a/assets/color/swatches-green-weak.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-bright-chunks.svg b/assets/color/swatches-range-bright-chunks.svg new file mode 100644 index 0000000000..f6ae8d0953 --- /dev/null +++ b/assets/color/swatches-range-bright-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-bright-hue.svg b/assets/color/swatches-range-bright-hue.svg new file mode 100644 index 0000000000..58dcd6dc1f --- /dev/null +++ b/assets/color/swatches-range-bright-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-bright-mixed.svg b/assets/color/swatches-range-bright-mixed.svg new file mode 100644 index 0000000000..0456b42826 --- /dev/null +++ b/assets/color/swatches-range-bright-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-bright.svg b/assets/color/swatches-range-bright.svg deleted file mode 100644 index b9ad885d8b..0000000000 --- a/assets/color/swatches-range-bright.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-cool-chunks.svg b/assets/color/swatches-range-cool-chunks.svg new file mode 100644 index 0000000000..23b4bf981c --- /dev/null +++ b/assets/color/swatches-range-cool-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-cool-hue.svg b/assets/color/swatches-range-cool-hue.svg new file mode 100644 index 0000000000..c9e14e32f3 --- /dev/null +++ b/assets/color/swatches-range-cool-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-cool-mixed.svg b/assets/color/swatches-range-cool-mixed.svg new file mode 100644 index 0000000000..95d3d631c6 --- /dev/null +++ b/assets/color/swatches-range-cool-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-cool.svg b/assets/color/swatches-range-cool.svg deleted file mode 100644 index 6daa81828a..0000000000 --- a/assets/color/swatches-range-cool.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-dark-chunks.svg b/assets/color/swatches-range-dark-chunks.svg new file mode 100644 index 0000000000..af46b75ef1 --- /dev/null +++ b/assets/color/swatches-range-dark-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-dark-hue.svg b/assets/color/swatches-range-dark-hue.svg new file mode 100644 index 0000000000..dd05314c72 --- /dev/null +++ b/assets/color/swatches-range-dark-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-dark-mixed.svg b/assets/color/swatches-range-dark-mixed.svg new file mode 100644 index 0000000000..9e32bcc7e1 --- /dev/null +++ b/assets/color/swatches-range-dark-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-dark.svg b/assets/color/swatches-range-dark.svg deleted file mode 100644 index 027c891b59..0000000000 --- a/assets/color/swatches-range-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-fresh-chunks.svg b/assets/color/swatches-range-fresh-chunks.svg new file mode 100644 index 0000000000..a11b403bd4 --- /dev/null +++ b/assets/color/swatches-range-fresh-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-fresh-hue.svg b/assets/color/swatches-range-fresh-hue.svg new file mode 100644 index 0000000000..0601dd189d --- /dev/null +++ b/assets/color/swatches-range-fresh-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-fresh-mixed.svg b/assets/color/swatches-range-fresh-mixed.svg new file mode 100644 index 0000000000..b6395a90b3 --- /dev/null +++ b/assets/color/swatches-range-fresh-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-fresh.svg b/assets/color/swatches-range-fresh.svg deleted file mode 100644 index 4953ef9ba5..0000000000 --- a/assets/color/swatches-range-fresh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-hard-chunks.svg b/assets/color/swatches-range-hard-chunks.svg new file mode 100644 index 0000000000..54d5be6e00 --- /dev/null +++ b/assets/color/swatches-range-hard-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-hard-hue.svg b/assets/color/swatches-range-hard-hue.svg new file mode 100644 index 0000000000..94ab718c11 --- /dev/null +++ b/assets/color/swatches-range-hard-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-hard-mixed.svg b/assets/color/swatches-range-hard-mixed.svg new file mode 100644 index 0000000000..7bf82d83ac --- /dev/null +++ b/assets/color/swatches-range-hard-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-hard.svg b/assets/color/swatches-range-hard.svg deleted file mode 100644 index c620dab789..0000000000 --- a/assets/color/swatches-range-hard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-intense-chunks.svg b/assets/color/swatches-range-intense-chunks.svg new file mode 100644 index 0000000000..757484ec82 --- /dev/null +++ b/assets/color/swatches-range-intense-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-intense-hue.svg b/assets/color/swatches-range-intense-hue.svg new file mode 100644 index 0000000000..61b04dcd6f --- /dev/null +++ b/assets/color/swatches-range-intense-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-intense-mixed.svg b/assets/color/swatches-range-intense-mixed.svg new file mode 100644 index 0000000000..31bd6001db --- /dev/null +++ b/assets/color/swatches-range-intense-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-intense.svg b/assets/color/swatches-range-intense.svg deleted file mode 100644 index 89f3aad1b3..0000000000 --- a/assets/color/swatches-range-intense.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-light-chunks.svg b/assets/color/swatches-range-light-chunks.svg new file mode 100644 index 0000000000..ed315f3a7b --- /dev/null +++ b/assets/color/swatches-range-light-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-light-hue.svg b/assets/color/swatches-range-light-hue.svg new file mode 100644 index 0000000000..43ab1207ad --- /dev/null +++ b/assets/color/swatches-range-light-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-light-mixed.svg b/assets/color/swatches-range-light-mixed.svg new file mode 100644 index 0000000000..b52c00b79b --- /dev/null +++ b/assets/color/swatches-range-light-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-light.svg b/assets/color/swatches-range-light.svg deleted file mode 100644 index 6593ca7542..0000000000 --- a/assets/color/swatches-range-light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-neutral-chunks.svg b/assets/color/swatches-range-neutral-chunks.svg new file mode 100644 index 0000000000..3cb7ea5b47 --- /dev/null +++ b/assets/color/swatches-range-neutral-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-neutral-hue.svg b/assets/color/swatches-range-neutral-hue.svg new file mode 100644 index 0000000000..6846369438 --- /dev/null +++ b/assets/color/swatches-range-neutral-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-neutral-mixed.svg b/assets/color/swatches-range-neutral-mixed.svg new file mode 100644 index 0000000000..6fe3ce919f --- /dev/null +++ b/assets/color/swatches-range-neutral-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-neutral.svg b/assets/color/swatches-range-neutral.svg deleted file mode 100644 index 0bf115f90f..0000000000 --- a/assets/color/swatches-range-neutral.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-soft-chunks.svg b/assets/color/swatches-range-soft-chunks.svg new file mode 100644 index 0000000000..6e6b3c45b5 --- /dev/null +++ b/assets/color/swatches-range-soft-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-soft-hue.svg b/assets/color/swatches-range-soft-hue.svg new file mode 100644 index 0000000000..74aebc0ac1 --- /dev/null +++ b/assets/color/swatches-range-soft-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-soft-mixed.svg b/assets/color/swatches-range-soft-mixed.svg new file mode 100644 index 0000000000..811a6891f3 --- /dev/null +++ b/assets/color/swatches-range-soft-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-soft.svg b/assets/color/swatches-range-soft.svg deleted file mode 100644 index 526ad59fce..0000000000 --- a/assets/color/swatches-range-soft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-warm-chunks.svg b/assets/color/swatches-range-warm-chunks.svg new file mode 100644 index 0000000000..112a474fcf --- /dev/null +++ b/assets/color/swatches-range-warm-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-warm-hue.svg b/assets/color/swatches-range-warm-hue.svg new file mode 100644 index 0000000000..cbdc4e003b --- /dev/null +++ b/assets/color/swatches-range-warm-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-warm-mixed.svg b/assets/color/swatches-range-warm-mixed.svg new file mode 100644 index 0000000000..e581627bd2 --- /dev/null +++ b/assets/color/swatches-range-warm-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-warm.svg b/assets/color/swatches-range-warm.svg deleted file mode 100644 index 0497aa93cf..0000000000 --- a/assets/color/swatches-range-warm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/swatches-range-weak-chunks.svg b/assets/color/swatches-range-weak-chunks.svg new file mode 100644 index 0000000000..4d6d196db6 --- /dev/null +++ b/assets/color/swatches-range-weak-chunks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-weak-hue.svg b/assets/color/swatches-range-weak-hue.svg new file mode 100644 index 0000000000..876ca0cfaf --- /dev/null +++ b/assets/color/swatches-range-weak-hue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-weak-mixed.svg b/assets/color/swatches-range-weak-mixed.svg new file mode 100644 index 0000000000..4ef7ca3d45 --- /dev/null +++ b/assets/color/swatches-range-weak-mixed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/color/swatches-range-weak.svg b/assets/color/swatches-range-weak.svg deleted file mode 100644 index 3a24cd3ee0..0000000000 --- a/assets/color/swatches-range-weak.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/color/wavelength.svg b/assets/color/wavelength.svg new file mode 100644 index 0000000000..6b0b26cdb5 --- /dev/null +++ b/assets/color/wavelength.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/diagrams/mesh.drawio b/assets/diagrams/mesh.drawio new file mode 100644 index 0000000000..38f6a12090 --- /dev/null +++ b/assets/diagrams/mesh.drawio @@ -0,0 +1 @@ +3VZNb5wwEP01SO0hFWuHzV6zZJseUvVApDZHL56AK4ORGb7y62vAXkCk21ZKtFIv4HkzDw/vmdn1aJi195oV6VfFQXrE561H7zxCAuqbaw90I3C9IyOQaMFHaDMBkXgBC1peUgkO5aIQlZIoiiUYqzyHGBcY01o1y7JnJZe7FiyBFRDFTK7R74JjOqK7wJ/wLyCS1O288W0mY67YAmXKuGpmED14NNRK4bjK2hBkr53TZeR9/k321JiGHP+G8HhV1Zzy8PH2pThinT/cfCuurm1v2LkX1qrKOfQc36N7pTFVicqZfFCqMODGgD8BsbNWsQqVgVLMpM1CK/BHT/9EAhs+zVJ3rX30EHQuyFF3Iytw4dM8N9GGyPHG9oGvTJxUsVCpKh3DGSnc6WI6ATxTR07emTMPKgPTj+FpkAxFveyD2dOXnOomg8zCevQPfgUrv/p3j2yYq9zc9m9o4c1/aSG9pIX2uTWTld3pFlGLY+mRrTRd74/arBIc9EXIuUn4hzC6N7YWf/hcm1QgRAUbVGrMQF76ancGjdCeF3stjiXs7DTr3Ji2cTMNx42beOlsMG79d5KTrOQs1CtSfqghph8vJ5/Vi1xcL7rSq6pfkavsZwPxyQUlc4Tt8si9p4QmnH6Qh9zsXw09/AI= \ No newline at end of file diff --git a/assets/diagrams/rstream-event-loop.drawio b/assets/diagrams/rstream-event-loop.drawio new file mode 100644 index 0000000000..d003b2117c --- /dev/null +++ b/assets/diagrams/rstream-event-loop.drawio @@ -0,0 +1 @@ +7VzbcqM4EP0aV2UfkuKO/RjfZqZqJklNtmaTpy0ZFKONQJQQsT1fv+JmwHISj0MskYpfjBoJiz46re6m8cCchOsvFMTBD+JDPDA0fz0wpwPDMFzL4F+ZZFNIdNPRCsmSIr+U1YJb9BuWwqpbinyYtDoyQjBDcVvokSiCHmvJAKVk1e72QHD7V2OwhILg1gNYlP6DfBYU0qGt1fKvEC2D6pd1rTwTgqpzKUgC4JNVQ2TOBuaEEsKKo3A9gTjTXqWXYtz8mbPbiVEYsUMGPGnrq8WGOPr4Ub9n6ygZulfnenmZhG2qO4Y+V0DZJJQFZEkigGe1dExJGvkwu6zGW3Wf74TEXKhz4X+QsU2JJkgZ4aKAhbg8C9eI3TWO77NLXdhla7our5w3NlUjYnRz12w0RmXNeljeqsYV95fd1LN6q3RAUurBl5RVrj9Al5C90M/aost5AUkI+Xz4OAoxYOipPQ9Qrs/ltl8NIT8oUfwTRIvrPgGcVoA+8TtNBJzbKK4CxOBtDHIFrDiZ24g9IIwnBBOajzUnk/l85my1+wQpg+uX9SvqoxxwrlcMqWxE1V7VhNvKggbZLO29dGh/dFbAyL/MrCNvLjDxHgvRHOFqMh3SxjiQNkOptBnJhLyG+b6J8iuQX7h2C/UeYu7IxNwYSsW8RXPjQJ7rbZ4bfSS6KxN0U6rH0ya6fhzR9R5ibksluuATJQww2KlLNBrN+acbl8jSlPOI5JrK47ZHZUlj9sEjMgXS/Lycv40yHVDDdtrUMDTZ1DA+g4UOqWH1wYewJFtD92OZw0Mxt6RGC7Zkx9E9ynNUNkI8FHRbk8p0YRO8SRe36aJT17HLbJqlmudoaoKulN8eG2G1arbSPpA2hlTX0ZBrKo23m8o+Yv6MZTjR9ihYyqvZ3d/K2klDUy6OMHtvKFXyL5xeGEqpmO8YytcCCfWwk2rwHNE1/Dn71RuDZ0m3d6469s49LnHiqpQ5cftg8FyRNJdfZv9+v76czqa94Y78qEp31CFP/5OOwwOpM5JJnaFAnQT50AsAim4AZYghEnXKoOx51mTSDYN20/YKMEih7af/DBod6rFJzeaNBAqBOD77S1nWuMpVxlX1vB+XNT5Ignyu+okpVFU8v8ohU2otRTXNBonS2AcMTq9/KEyl4VA1KplSXbjjCpF6QiXzVBnTfCi/LbBpdIgJKuutyyvfZIJ6KdbvCFS5x9FO5f7OAO7tv3GAbmk767WYdL16t3f/hr1BfFjGbUKGaVaAPjAczKEYLyg/WmZHGCUMRpCKpemc5qy9bClM0G+wyDtkS6vUMe9tjwf2lEsARsuICzz+W5AbkHFmLpAH8GV5IkS+n3MIgwXEY+A9LnM2NQzOQ/55yeCUr5mUMxlsX+5ortIX2P6seTrXLkZmFdRVKBetP1uM4lowWhd12uPJw0PCGbJryzpYDab4QCBfDYruD7qm3pNTMVkyK5ikBSDiazljzi6pzpJ0kXgUxVk4mIj7cRKAODuMCIOvK3yxZcl1yjCKYCn3AX285qMQy239hWbvRycviEyKvcjoqAJMH7WBMvcBZe0Bynk3oMTQ/FsYpoWVEBDiIUcOSV6AKsLHKAShSrjpw25wM9XDTYwHbzeRF1AS8c2myKfsArRCfK6Gtq8UUiK1tI6yNLZqEFlitBH4JMx34jAm0V7HglMIZj04k/YmxfoPlKsrB5T43mHh/BXB4QfEYOgqh4HoclUOA4ridA9Tit1GJXA6chLOdVM5dKS+YfjREs7WoTUCUmuGLbFIQFwEGKM4OYBnAnUmk86in539ZE9xwD6uvFvoY+9R0ydXjuVK5dWp/ZKeLbp6veDKvsrB05JFfFPrF8DIfyaCOWMURImfepCqFGZ2tvMbr8Nz2jyOLeZFP/E5RR0ab9Z/r1PkNet/KTJn/wM= \ No newline at end of file diff --git a/assets/diagrams/dot-example.dot b/assets/dot/dot-example.dot similarity index 100% rename from assets/diagrams/dot-example.dot rename to assets/dot/dot-example.dot diff --git a/assets/examples/pixel-sorting.png b/assets/examples/pixel-sorting.png new file mode 100644 index 0000000000..4a082dd507 Binary files /dev/null and b/assets/examples/pixel-sorting.png differ diff --git a/assets/diagrams/hdom-v5.xml b/assets/hdom/hdom-v5.xml similarity index 100% rename from assets/diagrams/hdom-v5.xml rename to assets/hdom/hdom-v5.xml diff --git a/assets/diagrams/hdom.xml b/assets/hdom/hdom.xml similarity index 100% rename from assets/diagrams/hdom.xml rename to assets/hdom/hdom.xml diff --git a/assets/idgen/idgen.drawio b/assets/idgen/idgen.drawio new file mode 100644 index 0000000000..cfa12e4cb6 --- /dev/null +++ b/assets/idgen/idgen.drawio @@ -0,0 +1 @@ +7ZZdb5swFIZ/DZeRAIc0u1xo6CY1UqdMinrpwilYNT6RcQLZr9+hGBLqfmxSl120uUjs19/PYyI8FpfNlebbYoUZSC/0s8Zjl14YRsyn7zY4dMF0HnZBrkXWRcExWItfYEM7Lt+JDKpRR4MojdiOwxSVgtSMMq411uNu9yjHq255Dk6wTrl0043ITNGl88g/5t9A5EW/cuDblpL3nW1QFTzD+iRiS4/FGtF0pbKJQbbsei7duOSF1mFjGpT5kwG3m8lhn0/Svblkm5+3s7urH3JiZ9lzubMH3oOuBCq7Z3PoQWjcqQzauXyPLepCGFhvedq21mSessKUkmoBFe9RmYSXQrbWvy9WNNWNhIZ+Vqiw7SCkjFGifpycJfSJY8rtdkAbaF48ZzDQo1sHWILRB+piB0wtb3vhgp5/faLPRsWJuX4YtxcmHyY+MqWCxfoXiEMHMXU/K904TpLl7H3oDjhfwTuwPAtf5vCdU/VOmMqhTMc2Y5SV0fgAPSuFCp7gsxGXIldUTQkTUL5oIQr6m/hqG0qRZe0yz7ob231T3ztoip5YunAtzZ6RFP4rSVNHUjj9tBT60ZuaLs6pKXI0Xa8XH1gQC8bP0Zf/7Gfm+Fl9aD/hufRQ9fim9th28rrLlr8B \ No newline at end of file diff --git a/assets/ksuid/ksuid.drawio b/assets/ksuid/ksuid.drawio new file mode 100644 index 0000000000..1853ff7c49 --- /dev/null +++ b/assets/ksuid/ksuid.drawio @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/ksuid/ksuid.png b/assets/ksuid/ksuid.png new file mode 100644 index 0000000000..e5ec002279 Binary files /dev/null and b/assets/ksuid/ksuid.png differ diff --git a/assets/malloc/malloc.drawio b/assets/malloc/malloc.drawio new file mode 100644 index 0000000000..564481357f --- /dev/null +++ b/assets/malloc/malloc.drawio @@ -0,0 +1 @@ +7V1bc9o4FP41mck+JOMbjnlsyKWd3c5kN7Oz7VPHYAHe2hY1oiH99SvZljE+h0sbkGSWPBAsy8Z8Ouc7R58uXLiDdPmYh7PpRxqR5MKxouWFe3fhOH3P56+i4LUs8AOrLJjkcVQW2auC5/gHqQpltUUckflaRUZpwuLZeuGIZhkZsbWyMM/py3q1MU3WP3UWTggoeB6FCSz9J47YtCwNetaq/D2JJ1P5ybZVnUlDWbkqmE/DiL40itz7C3eQU8rKd+lyQBKBncSlvO5hw9n6wXKSsX0u+PLh78X8z4d08X70b/Rt+OPbB/J05farh2Ov8huTiANQHdKcTemEZmFyvyq9zekii4i4rcWPVnX+oHTGC21e+C9h7LVqzXDBKC+asjSpzpJlzD5Vl4v3n8X76151dLdsnLp7lQcZy18/NQ8aV4nD1WXFkbxuTDP2EKZxIgo+3H7kX/YpIUv+7yPNaFE9eicMhZ8eJnT0tSx6iBP5tHMW5kxWyWhGZFlVR3wKbIyqfeZ0kY8qZNPbp9tv6R+Pf/716L/r/Z69fxzGV9Kow3xC2JaWcipHEs3T+ISqrR8JTQn/2rxCTpKQxd/X7Tes3GBS16su5d8rfG1UmNE4Y/PGnZ9EAa9QObS05lfppi2j21XdX6vP35QPII8a32RVVBgybtTbIP0eJosKBcYN0/HDlJvnbTacz+oWa9j9ulW/TGNGnmdh0XYvnNrWLXinVY25bQxoQvPi5m6//8D/thnKd5IzstzastXZYB1TefiyoidHktC0QU2etdkUGu3x83A7AG7uPycLt+0oxBvn7JszZ+vlbBdyNlqvf2jKfpOfusBPxzkhah1zMHh4uPcP65j6HNE/O6JeR+zt6Yi2Z0Ty5K2HEn977tSu7ShInXqAIxZzbqxKOUKE7sHgKMHb050r+QDfMIkn2elkR75uhG9glEvCyfxkEK7R1IZwHyA8F7Gq83lEBbCrMsHHo5UFEM7IkqlF+O6OI3x/HIS1k4QNJYIifbHVYixoooh04kKZNiLC3tvD3p6A1/R9eMQ9A1jjiJmFr5KW8d5ID4B57o2olXKR7gjaVHaVpBgiDNgw61cfb47pm9rTfhvm/YWBOuox7vePH2/8faWZ4FhkCOP7ZeHnFyK54yZmWUsr+I3/vxKfHkU5mfMugkXH/KW0ff7vhb+WPCKeOoxIDpqLibo/1yYHgNttSQNBD8BtY3C7x4IbBncI90jCXYwOtEFPwyycCKWBc94kprBHbAbStoNA7aqEGnI1hNqSUBeClDBbi8dtxxrH+VxULHXfbti2DalELeCQuiHg3g7ASxGtG4B7ui0cKjgAcLu2cAlpIaOlpNBPRzQbxxND4bV93fgGe+BbG/SQTMPvMRUWXelo1jBmaTgXoF+OaMqTk/LKB4H2LInZb4Yi71i6kYfKWWG2AH6Hx9OBiIwzNr8uqrTNPQpZaCjMHmLgdWatBGZEP7uU8k6BYjP5k4iWaoR1GWej5LrB0VY9k6F8LeCKojibmGrnrvYcBZHXQAPUDJMVgXKRs2kBdzM3EWwTZyKYTmPxnix5GyRQNDIEd8TwXaVpuO1sIJga/JJhysPr0uQB0RgJ7g1C3opZBc6fuJSdeGDUrTyw6lJ2KQ30teeBiGQMABc0vj7RbB9Ob09N6xjB+9oTGRvm6Cel5gfa1XwbZul6NNkjjQEGKjVZHGGYjRe84arHWIUmG+yrydYTXA+OuLMpLXT/54QeIITu9lUSugMzR9A0Hto0rfS9meJ0K30PtCc8DswwG+m7ONNI351Ope99pE+qNn13oI5bm3MiECLpjL3WRRNWA3G0SHB4krct7WHVQeTbqvsjWbxB9UYaK0dRNxXIGzdQTOPsWciratOTY85k1G6r7h7DxHatFPIGuIa5yLjQxgvhm/EUw1CTVjqq8/kdGT5f2U9frfvl4Pfl8kuWBpg2BbBC5u+szdiRhc35R3B+T+O4/ITWNBsEWohjA6ceApMs+7n1AmCKfy0PAv6W9ygnHVWXrZpg553qHqy8UTkpCdzoFxYO4M0LcxeYlrd8Z0PWvmnFIPSknPAbhcOiguC+av0Fr927vejdiR5AMbvevRuRQo5zb4ULxaMweVedSOMoKmbCJeGQJLfh6Ouk4NMGBY6LP/FxlPHGpuKyq/5eE9I2uG29XL169ot6nWzTMre40Ua/t66twHXXLMF9m6XKKnQ8npPjmA7U+c7MwP35urfdo3+VGnzV1ACnrJyp4RjU4J0eNWCdtjM17PDnXyUGt638HZsYYFfxTAzHIAb/5IgBkZLnP0Drqxx+QhpsD8bAl/ra2DJKTC07RM8YxVfzvkD1ApLPjTO7FpOs1o/UV21ZTLLPUpCd60n2dObdsWR9dQlu8lXoa64uwStuyAMOvphk62M2By41ryV5k2u2FVbtromMEqCzAdWMWh4A4XrAcRvEdSU1GCOrFTscXtx9EFZqxPLG5/hiTnxBVi/iuUFPa3xBFit2Ob7Ui+GN8U1kpLTbAcZrq+xKdynBMYZdX2tpjwMA8i8PHx22P+IiEVnp8JED58NZy7rNtAMGcxj9iMH5bbMwOrIXHwDKvTrDgUpnRQbjxRodU5wVZnfabQ8ZWOeI9UzxVhgQ9CMGu82d8FZ/n9iqVrqC/WNue6Ep3uqbF1td2NvliA1N8dYbA/kNdkK6rA9Am9TuxLAPoqWX11j98DaEjZMRXdgD6XYvD9KEdhnRhZ2WTgT1wDg+8PSP97W2nDxo/9q50Yyv7wAwz3qsXj3WQ3aZRyv2bnBbU6PHejDdVh6pD+ma4OcedLumB7Nz9fv21zuVHgBhoJVhEKuVY73TyueBIqTfiGG22el8Hoza6EcY5prdzueBSGcATUBJ3eRRG2yBlVqdRCq+XRm1MQAxB0PM3LEGAxBD9V5zxxoMQAxmlJ2QJcBYg/ag24N5o9FjDQbYHhR2jR5rMAAxZK+lDktf0Ca1OzGy1ZLmX1s57FiDfoRh3txtCQPSBAJxLZqrUXBhGtRlmmizRL0dkjaF3IB5p4dkiTZJ6AcYZgbdJgnQu8QgvlFKEpKlOiJgYD8Upjb5ukEnspkrYOhHLICx/pTiUA/5dUClNNmHFnlScUg/wM6pxyEM4p7SiTF9TAUwNw55SOBWy6p9bL2IwXFIP2K2hYZuc7U5EyCD1Ge0OGcCZJDJujxzAFil9nBsWyc2dQDIcwZAfGpzBwBTYBirnQtsWx1djwcmA+u3V+QHnrrcxwT5JvaDtYoRPrFeJuhmGgDxqfUzwdwQDGNXLeki29J2OT0zjygcvb86f144gBl9Nb9n58oBe5O5qVk6YCM7/3Z6LxcDgwwctex2Zg+UJgxjpbtD2MgmtSaLmb7KX9TegFjH1EwTIEP3v3FNMTIjrQybrV8/qHbIYLqsHzL5SF3TKJz2zGD9kdeBPegu9zyAMGwAwrADfVrCsAEQn9pes0AYxjBWLAwjm812gnSBMGyAvaKrC8wd8zUh5KO5uLljvseEjB/mlLLGuUfuWdOPNCKixn8= \ No newline at end of file diff --git a/assets/diagrams/rle-layout.dot b/assets/rle/rle-layout.dot similarity index 100% rename from assets/diagrams/rle-layout.dot rename to assets/rle/rle-layout.dot diff --git a/assets/diagrams/rs-dot-example.dot b/assets/rstream-dot/rs-dot-example.dot similarity index 100% rename from assets/diagrams/rs-dot-example.dot rename to assets/rstream-dot/rs-dot-example.dot diff --git a/assets/diagrams/q1.dot b/assets/rstream-query/q1.dot similarity index 100% rename from assets/diagrams/q1.dot rename to assets/rstream-query/q1.dot diff --git a/assets/diagrams/q2.dot b/assets/rstream-query/q2.dot similarity index 100% rename from assets/diagrams/q2.dot rename to assets/rstream-query/q2.dot diff --git a/assets/diagrams/rs-query1.dot b/assets/rstream-query/rs-query1.dot similarity index 100% rename from assets/diagrams/rs-query1.dot rename to assets/rstream-query/rs-query1.dot diff --git a/assets/rstream/event-proc.drawio b/assets/rstream/event-proc.drawio new file mode 100644 index 0000000000..5194d0fa72 --- /dev/null +++ b/assets/rstream/event-proc.drawio @@ -0,0 +1 @@ +7VtZc+I4EP41VO0+kPINPHKYmVRNjgqZ2s3TlMAy9o6wWFlOYH79yEbypXCEI4Jk8hKr1bJlfd2fulumYfZniy8EzIMb7EHUMDRv0TAHDcPQWx2H/UslSyFpayvJlIQelxWCUfgLcqFQS0IPxhVFijGi4bwqnOAoghNakQFC8EtVzceo+tQ5mEJJMJoAJEv/CT0arKRtWyvkX2E4DcSTdY33zIBQ5oI4AB5+KYlMt2H2CcZ0dTVb9CFKV0+sy2rccE1vPjECI7rLgEcU2XP8ze664MnB97oPe37T5HOjS/HC0GPvz5uY0ABPcQSQW0h7BCeRB9O7aqxV6HzDeM6EOhP+ByldcjBBQjETBXSGeC9chPTfdPiVzVtPpZ7Bgt85ayxFI6JkWRqUNp/KfcWwrCXGrd4vfam1y8ZFMU7IBG5YK2F+gEwh3aBn5OAyt4B4Btl82DgCEaDhc3UegJvnNNcrEGQXHMQ3AMrv+wxQwp80ogSCWcNwwIzB00Ns6j33OX17IZrSfKFKhlCF+SUIKRzNQbZCL8zZq5D6OKJDMAtRuu7XvRt2q3sEF+zfDY5S+P0QoT5GmGQ3NweD4dB188c+Q0LhYjNC8oryAYagFM4xTYu3XwqH1YUXBiVnFXpHB8Ew1LqVsZdfGW9yrK2IQzTO6C7FNmSEykSThDxnb6gf1zONHT3TVumZxofn2q0moQByfQ13vBPmllrMW2cAumqn15Xux4a0H98n41EyPvF2e4JtVfmuajkXSKBH3lSP6D/2rv5jHeg/2dAuIWBZUpjjMKJx6c73qaCwPr1mfYZTy27q+tph+s0t+lZroz67WL1hYd75Uu1v8bZEHixmzwL41FDSdBZwiJ3/kzSP7Mk2k3exqyzQf7j7/uj+6H/t3n5xB+J+YyK6V+nCaBlN5D4hYS+zmoBzjNShmhl0OkP2dxwKy/lJGIWmnMPsC+Sws6UwfdeUXA2HmVbN/NqbOcapc9gb9Ztb9O3N+qfhMF2uSFzf9n/0777fProPm/nnPSsSx+Sdeuh0BryjOBHZi3da50s8OycfSoin7ujbgiH7jcFWXX9b8GSbCoIngVGJeAbuByceq77jKCceY5+Ap1IyUF4XPWMasnakIbWFz33y9lOZwGe1AMV10NYZmcB+RdGPYANKK6HmxZx/KCtp74ykqRRJMc0th8wjCij8KIfM9chK/SGz2TkjTv1YdSVz1/TOPDS9O8wC5AyH+5w2TnwfkhO72xHcyqllkrkLqauU6NKq/XGrI7nVrtubpb1uNO/kVvL2FniYbW5aMvcy97o0r1JfBjD/JAAn9Ktdj3LVho1mW/KrOPTS3WoSgDCSDITZP61CSGAc/gLjTCFdZF4HZdp2r2EPmASgcBoxwYQtItv/zJ74+qzLO2ah52XGhcAYoh6Y/JxmllUKG/3s7yBX5V8j86k28m+Ay+hu8JO1jt3UrnTHaVWcm6dVb6soFyVaoYJ9P2bGUwf5CIVYUz7G9gmePXSHf/19eVyqPvC3LiaRvoSgRMC0vXpyIHfudZLTqqWd4kh57ZHwgfpN8V3MugH1M+36gNOc5YiHls9y7lKzgKsP2TUUxozvI0jiy2OU/LRYHaO0pOW9juYJlQ/J4qzOIy9yHIB5ehlhCrev8jjfdu8SisIIcrkHyM87NiqkGRNcabZc1EkPy/r9d4JKHFTm1m6/ApX1ClT2yaCSg6gBRHDKOAjLIdQngcVUjkpHQkX8xKbmQAGIPLa0088Kld5RjZUtf5DU49UyLYloiGTQojQTMTQWsX4W2Nq1bV7XbRm29rvCJhc7MzxYrpVkud4nRSb/pPQEyLBm8fvUVSxX/MzXdH8D \ No newline at end of file diff --git a/assets/rstream/event-proc.png b/assets/rstream/event-proc.png new file mode 100644 index 0000000000..650a19e1f3 Binary files /dev/null and b/assets/rstream/event-proc.png differ diff --git a/assets/diagrams/rstream-constructs.xml b/assets/rstream/rstream-constructs.xml similarity index 100% rename from assets/diagrams/rstream-constructs.xml rename to assets/rstream/rstream-constructs.xml diff --git a/assets/soa/aos.png b/assets/soa/aos.png new file mode 100644 index 0000000000..9459a71883 Binary files /dev/null and b/assets/soa/aos.png differ diff --git a/assets/soa/aossoa.drawio b/assets/soa/aossoa.drawio new file mode 100644 index 0000000000..f32fd4537d --- /dev/null +++ b/assets/soa/aossoa.drawio @@ -0,0 +1 @@ +7Zvfj6IwEMf/Gh/XAC2Ijyund5uct3fxkntmpQrZQg3WX/fXX1mLSouJ5ty0meCDoQMU+My00++IPRTl+69lvEqnLCG05znJvoe+9Dxv4GLxXRkORwMOvaNhWWbJ0eSeDbPsL5FGR1o3WULWjQM5Y5Rnq6ZxzoqCzHnDFpcl2zUPWzDavOoqXhLNMJvHVLf+yRKeHq2h75zt30i2TOsru47ck8f1wdKwTuOE7S5MaNxDUckYP27l+4jQil3N5Xje5Mre042VpOC3nPBK3vDL+vev7+F7Grg/Zq/rp+1T7Z5tTDfyiVds3d/LW+aHmkPJNkVCqq6cHhrt0oyT2SqeV3t3wvHClvKcipYrNhes4JM4z2jl9JfRVHT1kxLRqTNlBZMHSF+7VX+LjNKIUVZ+XAwNh5NJFAm7vDlScrK/+tjuCaYIQsJywsuDOESegCV+GX9eINu7szdrU3rhyPq0WMbP8tTxGbHYkJTvIe63Ej+YJR44E+c5fAzx0xCwBnmgId8SajrIg2AiPg9CHtiGfNCK3HCU+6MxGqPHID/N69YgDzXkVW4zCryK8EdN5F5oG/Ah9NyJbEue9ZiDmzyxbcmzfgS4yRPbljw9D3ry9G1Lnh6CnTx925KnpwvPfr+vARdPzJtU17xk76TGVLCCKOSkKabZshDNuSBEhH1U8cuEsH+WO/IsSarLtLqx6ej7PVm15VO4D3BfoCbige4+3OI+79Pc165iAa19FOIYmx4wuogFtvRR6wbmkesiFliQq3UD88h1EQssytW6gXnkuoztMvHNVQjsG87ESJfEwPQZsm3EoHZJDEifITXKjSNvl8SAohzbtuBEuiQGFuW+bQtO1Inie9ynLl6Np2JdFIMqIgXWjRddE8MCbps8Q+AVsZKFkek6KWoXxICIq2Uf88g7QfwfJSRkujRdXwxwCcm2EYN1QQwNuRrlxpHrgribpG4uIZmfpNrFNaB6BrJuxOjiGhhyrEa5ceS6IO4mqevuC22bpNrfm4ZUAbRuxIB/b1p9E8k8cl1hd5PUzW8imZ+kdLUOqwZo23ipq+xQgQ9sKwH6urruJqir7gvV4ojpCcrvlPo9o0992ePzftQTzfO/bz/2XfyFGY3/AQ== \ No newline at end of file diff --git a/assets/soa/hybrid.png b/assets/soa/hybrid.png new file mode 100644 index 0000000000..38f490de85 Binary files /dev/null and b/assets/soa/hybrid.png differ diff --git a/assets/soa/soa.png b/assets/soa/soa.png new file mode 100644 index 0000000000..feb3893ea0 Binary files /dev/null and b/assets/soa/soa.png differ diff --git a/assets/text-canvas/text-canvas.drawio b/assets/text-canvas/text-canvas.drawio new file mode 100644 index 0000000000..aeb5f9a94c --- /dev/null +++ b/assets/text-canvas/text-canvas.drawio @@ -0,0 +1 @@ +7Zpbj6IwGIZ/jZeTcFYvBUFNRtfVMXPNSpVmC3WxLrq/fosUOdTJuomSktQLAy898T608H3Q053oPEn8QzjHAUA9TQnOPX3c07ShYdH/TLjkgjVQcmGfwCCX1FJYwz+AiUWxEwzAsVaQYIwIPNTFLY5jsCU1zU8SnNaL7TCq93rw94AT1lsf8eonDEiYqwNTKfUpgPuw6FlV2JHILwoz4Rj6AU4rku72dCfBmORb0dkBKPOu8CWv531x9DawBMTkkQqpMfq1VD2SLn9c4MJZfj+OP95YK799dGInzAZLLoUDCT7FAcgaUXq6nYaQgPXB32ZHU4qcaiGJEN1T6eYOIuRghJNrXd2jP8ehOusGJAScvxy/enOFXk0AR4AkF1qEVdAsZiS7ktTC2LTChUlhBYnBNJ9dCftby6VZdIP59R/ead3xThfNO71D3hn/9k5r0zujO95ponlndsg7TTDvrA55pwjmXb873qkDwbwbcN55E849er6kbtGRJPgnKEyKcQwavjHJR3Af090kPxU7Mw/SB8AR0yMYBFkvd5HUoe1wTDw/giizbmbP6RCXiILQlDmO8bU48QnEWbNvQ+VJ96cmrwHPy7jDS3sVr+FdXoq9mk2mHxJcCU416+CGJgeu3ya4IuaqkLPlTKvcVUSbaSofvtlyqt0jJ9xU44NH+9v7WCKrIBNtsvEx63g2l8TKB8ehaMT4SHmzGLur99nCldxKbn3RuL04Snccz3Ot55hnPJDh0FsNl9Rnx+nPuMQeyGVYrZrEB+SbxWbtyjtwBZou2rrAZwKc6Wglkd2QmcJFKHwyIFufFHv2ivAEgV0nqfXr0UmfD07MNqEVDVegGZJZI3kjGjM+FaBKZg1mmmDM+CSAZMa9BROMGZ8FkGtjk5loayOfB5DzjHtjKhgzPgcgmXFvagVjxmceJLMmM0swZnwiRJfMmtmrtpjR3fKD0Ouxyle1uvsX \ No newline at end of file diff --git a/examples/README.md b/examples/README.md index 2a979f8ed6..5c66721c89 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,7 +1,7 @@ # @thi.ng/umbrella examples -This directory contains a growing number (currently 98) of standalone +This directory contains a growing number (currently 100) of standalone example projects, including live online versions, build instructions and commented source code. @@ -62,50 +62,52 @@ in touch via PR, issue tracker, email or twitter! | 050 | | [package-stats](./package-stats/) | CLI util to visualize umbrella pkg stats | | 051 | | [parse-playground](./parse-playground/) | Parser grammar livecoding editor/playground & codegen | | 052 | | [pixel-basics](./pixel-basics/) | Pixel buffer manipulations | -| 053 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL | -| 054 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map | -| 055 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization | -| 056 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending | -| 057 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor | -| 058 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns | -| 059 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example | -| 060 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test | -| 061 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results | -| 062 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes | -| 063 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | -| 064 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | -| 065 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | -| 066 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | -| 067 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | -| 068 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | -| 069 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | -| 070 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | -| 071 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | -| 072 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | -| 073 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | -| 074 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | -| 075 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | -| 076 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | -| 077 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | -| 078 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | -| 079 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 | -| 080 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | -| 081 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example | -| 082 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component | -| 083 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes | -| 084 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo | -| 085 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | -| 086 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo | -| 087 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo | -| 088 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates | -| 089 | | [triple-query](./triple-query/) | Triple store query results & sortable table | -| 090 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh | -| 091 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading | -| 092 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid | -| 093 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system | -| 094 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example | -| 095 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup | -| 096 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion | -| 097 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export | -| 098 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion | +| 053 | | [pixel-sorting](./pixel-sorting/) | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | +| 054 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL | +| 055 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map | +| 056 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization | +| 057 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending | +| 058 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor | +| 059 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns | +| 060 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example | +| 061 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test | +| 062 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results | +| 063 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes | +| 064 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | +| 065 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | +| 066 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | +| 067 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | +| 068 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | +| 069 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | +| 070 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | +| 071 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | +| 072 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | +| 073 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | +| 074 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | +| 075 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | +| 076 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | +| 077 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | +| 078 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | +| 079 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | +| 080 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 | +| 081 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | +| 082 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example | +| 083 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component | +| 084 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes | +| 085 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo | +| 086 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | +| 087 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo | +| 088 | | [text-canvas-image](./text-canvas-image/) | Textmode image warping w/ 16bit color output | +| 089 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo | +| 090 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates | +| 091 | | [triple-query](./triple-query/) | Triple store query results & sortable table | +| 092 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh | +| 093 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading | +| 094 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid | +| 095 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system | +| 096 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example | +| 097 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup | +| 098 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion | +| 099 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export | +| 100 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion | diff --git a/examples/adaptive-threshold/README.md b/examples/adaptive-threshold/README.md index bee16003a5..68afc2e492 100644 --- a/examples/adaptive-threshold/README.md +++ b/examples/adaptive-threshold/README.md @@ -1,5 +1,7 @@ # adaptive-threshold +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/adaptive-threshold.png) + [Live demo](http://demo.thi.ng/umbrella/adaptive-threshold/) Image processing via diff --git a/examples/adaptive-threshold/package.json b/examples/adaptive-threshold/package.json index 1890186542..bcb3fd0227 100644 --- a/examples/adaptive-threshold/package.json +++ b/examples/adaptive-threshold/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/async-effect/package.json b/examples/async-effect/package.json index 463a8ebd8b..683cea5b89 100644 --- a/examples/async-effect/package.json +++ b/examples/async-effect/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/bitmap-font/README.md b/examples/bitmap-font/README.md index 3fac6ba767..bdf6dc0e16 100644 --- a/examples/bitmap-font/README.md +++ b/examples/bitmap-font/README.md @@ -1,5 +1,7 @@ # bitmap-font +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/bitmap-font.gif) + [Live demo](http://demo.thi.ng/umbrella/bitmap-font/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/bitmap-font/package.json b/examples/bitmap-font/package.json index f880b6cef2..a13066ffd1 100644 --- a/examples/bitmap-font/package.json +++ b/examples/bitmap-font/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/canvas-dial/README.md b/examples/canvas-dial/README.md index f0277ca369..fc099cd737 100644 --- a/examples/canvas-dial/README.md +++ b/examples/canvas-dial/README.md @@ -1,5 +1,7 @@ # canvas-dial +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/canvas-dial.png) + [Live demo](http://demo.thi.ng/umbrella/canvas-dial/) Customizable canvas-based radial dial component with mouse & touch diff --git a/examples/canvas-dial/package.json b/examples/canvas-dial/package.json index 9611625641..df904d1643 100644 --- a/examples/canvas-dial/package.json +++ b/examples/canvas-dial/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/cellular-automata/README.md b/examples/cellular-automata/README.md index 89bcf409eb..587d86c867 100644 --- a/examples/cellular-automata/README.md +++ b/examples/cellular-automata/README.md @@ -1,5 +1,7 @@ # Cellular automata +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/cellular-automata.png) + [Live demo](https://demo.thi.ng/umbrella/cellular-automata/) Please refer to the [example build diff --git a/examples/cellular-automata/package.json b/examples/cellular-automata/package.json index bdf71b4b2c..19f92cea17 100644 --- a/examples/cellular-automata/package.json +++ b/examples/cellular-automata/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/commit-heatmap/README.md b/examples/commit-heatmap/README.md index 0ef7e1677b..2db8d69b56 100644 --- a/examples/commit-heatmap/README.md +++ b/examples/commit-heatmap/README.md @@ -1,6 +1,6 @@ # commit-heatmap -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/commit-heatmap.png) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-heatmap.png) This is offline example creates a heatmap visualization of per-package commits in this mono-repo, but could also be used for other mono-repos diff --git a/examples/commit-heatmap/src/index.ts b/examples/commit-heatmap/src/index.ts index eebd9041a0..eba35da601 100644 --- a/examples/commit-heatmap/src/index.ts +++ b/examples/commit-heatmap/src/index.ts @@ -1,5 +1,5 @@ import { withoutKeysObj } from "@thi.ng/associative"; -import { cosineGradient, GRADIENTS } from "@thi.ng/color"; +import { cosineGradient, COSINE_GRADIENTS } from "@thi.ng/color"; import { threadLast } from "@thi.ng/compose"; import { serialize } from "@thi.ng/hiccup"; import { defs, group, line, rect, svg, text } from "@thi.ng/hiccup-svg"; @@ -55,7 +55,7 @@ const IGNORE_PACKAGES = [ ]; // heatmap gradient -const GRAD = cosineGradient(32, GRADIENTS["blue-magenta-orange"]); +const GRAD = cosineGradient(32, COSINE_GRADIENTS["blue-magenta-orange"]); const MIN_DATE = Date.parse("2018-01-01T00:00:00+00:00"); const MAX_DATE = Date.now(); diff --git a/examples/commit-table-ssr/README.md b/examples/commit-table-ssr/README.md index 64d5d8dd1a..a2bc9c17f9 100644 --- a/examples/commit-table-ssr/README.md +++ b/examples/commit-table-ssr/README.md @@ -1,5 +1,7 @@ # commit-table-ssr +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-table-ssr.png) + [Live version](http://demo.thi.ng/umbrella/commit-table-ssr/) This example demonstrates isomorphic, diff --git a/examples/commit-table-ssr/package.json b/examples/commit-table-ssr/package.json index 60cc1a0051..0122c680ad 100644 --- a/examples/commit-table-ssr/package.json +++ b/examples/commit-table-ssr/package.json @@ -12,8 +12,8 @@ "start": "../../node_modules/.bin/ts-node src/server/index.ts" }, "devDependencies": { - "ts-node": "^9.1.0", - "typescript": "^4.1.3" + "ts-node": "^9.1.1", + "typescript": "^4.1.5" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/crypto-chart/README.md b/examples/crypto-chart/README.md index 8a9ea2671a..1b99f2056b 100644 --- a/examples/crypto-chart/README.md +++ b/examples/crypto-chart/README.md @@ -1,8 +1,8 @@ # crypto-chart -[Live demo](https://s3.amazonaws.com/demo.thi.ng/umbrella/crypto-chart/index.html) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) -![chart](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/crypto-chart.png) +[Live demo](https://s3.amazonaws.com/demo.thi.ng/umbrella/crypto-chart/index.html) Price data provided by [cryptocompare.com](https://min-api.cryptocompare.com/). @@ -20,7 +20,7 @@ updates / diffs when there were any relevant upstream value changes. The diagram below shows a schematic of the dataflow graph used: -![dataflow](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/crypto-dflow.png) +![dataflow](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-dflow.png) ## Building diff --git a/examples/crypto-chart/package.json b/examples/crypto-chart/package.json index 12326718ee..9eb6b574c8 100644 --- a/examples/crypto-chart/package.json +++ b/examples/crypto-chart/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/devcards/package.json b/examples/devcards/package.json index e24a4bfc4d..49d7fcb082 100644 --- a/examples/devcards/package.json +++ b/examples/devcards/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/ellipse-proximity/README.md b/examples/ellipse-proximity/README.md index 76a9b30914..6404c0e326 100644 --- a/examples/ellipse-proximity/README.md +++ b/examples/ellipse-proximity/README.md @@ -1,5 +1,7 @@ # ellipse-proximity +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/ellipse-proximity.png) + [Live demo](http://demo.thi.ng/umbrella/ellipse-proximity/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/ellipse-proximity/package.json b/examples/ellipse-proximity/package.json index 6a9a9eb55a..17cb5a0e55 100644 --- a/examples/ellipse-proximity/package.json +++ b/examples/ellipse-proximity/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/fft-synth/README.md b/examples/fft-synth/README.md index 100afde951..6f7c45e0e9 100644 --- a/examples/fft-synth/README.md +++ b/examples/fft-synth/README.md @@ -1,6 +1,6 @@ # fft-synth -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/fft-synth.png) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/fft-synth.png) [Live demo](http://demo.thi.ng/umbrella/fft-synth/) diff --git a/examples/fft-synth/package.json b/examples/fft-synth/package.json index 7fa047f3ca..7aa492bab4 100644 --- a/examples/fft-synth/package.json +++ b/examples/fft-synth/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/geom-convex-hull/README.md b/examples/geom-convex-hull/README.md index 82b5377f19..8bded7db06 100644 --- a/examples/geom-convex-hull/README.md +++ b/examples/geom-convex-hull/README.md @@ -1,5 +1,7 @@ # geom-convex-hull +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-convex-hull.png) + [Live demo](http://demo.thi.ng/umbrella/geom-convex-hull/) A refactored version of a [blog post code example by Pete diff --git a/examples/geom-convex-hull/package.json b/examples/geom-convex-hull/package.json index 6a1e66cd69..18fb6b94ed 100644 --- a/examples/geom-convex-hull/package.json +++ b/examples/geom-convex-hull/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/geom-fuzz-basics/README.md b/examples/geom-fuzz-basics/README.md index b91f5bccb7..89a2bed755 100644 --- a/examples/geom-fuzz-basics/README.md +++ b/examples/geom-fuzz-basics/README.md @@ -1,5 +1,7 @@ # geom-fuzz-basics +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-fuzz.png) + [Live demo](http://demo.thi.ng/umbrella/geom-fuzz-basics/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/geom-fuzz-basics/package.json b/examples/geom-fuzz-basics/package.json index 4347e95286..58a414527a 100644 --- a/examples/geom-fuzz-basics/package.json +++ b/examples/geom-fuzz-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/geom-knn/README.md b/examples/geom-knn/README.md index 3bf327d5c4..61fc5951a8 100644 --- a/examples/geom-knn/README.md +++ b/examples/geom-knn/README.md @@ -1,5 +1,7 @@ # geom-knn +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-knn.jpg) + [Live demo](http://demo.thi.ng/umbrella/geom-knn/) Drawing / debug toy based on 2x recursive KNN search using the k-D tree diff --git a/examples/geom-knn/package.json b/examples/geom-knn/package.json index eb8cd40f82..55eea84f3d 100644 --- a/examples/geom-knn/package.json +++ b/examples/geom-knn/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/geom-tessel/README.md b/examples/geom-tessel/README.md index 4c12ff489e..72c07d8811 100644 --- a/examples/geom-tessel/README.md +++ b/examples/geom-tessel/README.md @@ -1,5 +1,7 @@ # geom-tessel +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/tessel.png) + [Live demo](http://demo.thi.ng/umbrella/geom-tessel/) Test example of diff --git a/examples/geom-tessel/package.json b/examples/geom-tessel/package.json index 4bea359252..809499f550 100644 --- a/examples/geom-tessel/package.json +++ b/examples/geom-tessel/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/geom-voronoi-mst/README.md b/examples/geom-voronoi-mst/README.md index 4dfb34e666..ac45f5035e 100644 --- a/examples/geom-voronoi-mst/README.md +++ b/examples/geom-voronoi-mst/README.md @@ -1,5 +1,7 @@ # geom-voronoi-mst +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-voronoi-mst.jpg) + [Live demo](http://demo.thi.ng/umbrella/geom-voronoi-mst/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/geom-voronoi-mst/package.json b/examples/geom-voronoi-mst/package.json index 11f841154c..e5d4340ab0 100644 --- a/examples/geom-voronoi-mst/package.json +++ b/examples/geom-voronoi-mst/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/gesture-analysis/README.md b/examples/gesture-analysis/README.md index 8e2fd812fc..8b0f67f818 100644 --- a/examples/gesture-analysis/README.md +++ b/examples/gesture-analysis/README.md @@ -1,5 +1,7 @@ # gesture-analysis +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/gesture-analysis.png) + [Live demo](http://demo.thi.ng/umbrella/gesture-analysis/) Mouse / touch gesture processing, analysis and SVG visualization, using diff --git a/examples/gesture-analysis/package.json b/examples/gesture-analysis/package.json index 8d60e1f79c..45dc45eb08 100644 --- a/examples/gesture-analysis/package.json +++ b/examples/gesture-analysis/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/grid-iterators/README.md b/examples/grid-iterators/README.md index 0d69adb255..311a06b811 100644 --- a/examples/grid-iterators/README.md +++ b/examples/grid-iterators/README.md @@ -1,5 +1,7 @@ # grid-iterators +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/grid-iterators.png) + [Live demo](http://demo.thi.ng/umbrella/grid-iterators/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/grid-iterators/package.json b/examples/grid-iterators/package.json index ebadb9e1a3..e6aa888029 100644 --- a/examples/grid-iterators/package.json +++ b/examples/grid-iterators/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/grid-iterators/src/index.ts b/examples/grid-iterators/src/index.ts index 7e58cd800f..6a671529cb 100644 --- a/examples/grid-iterators/src/index.ts +++ b/examples/grid-iterators/src/index.ts @@ -1,4 +1,4 @@ -import { hueRgba, rgbaCss } from "@thi.ng/color"; +import { hueRgb, srgbCss } from "@thi.ng/color"; import { diagonal2d, hilbert2d, @@ -49,6 +49,6 @@ setInterval(() => { let [x, y] = b.value; x *= BW; y *= BH; - ctx.fillStyle = rgbaCss(hueRgba([], frame++ / (NB * NB))); + ctx.fillStyle = srgbCss(hueRgb([], frame++ / (NB * NB))); ctx.fillRect(x, y, BW, BH); }, 16); diff --git a/examples/hdom-basics/package.json b/examples/hdom-basics/package.json index 0c42a00a13..5193fd376c 100644 --- a/examples/hdom-basics/package.json +++ b/examples/hdom-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-benchmark/README.md b/examples/hdom-benchmark/README.md index 7c259cfa1e..82d679f130 100644 --- a/examples/hdom-benchmark/README.md +++ b/examples/hdom-benchmark/README.md @@ -1,5 +1,7 @@ # hdom-benchmark +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-benchmark.png) + [Live demo](https://demo.thi.ng/umbrella/hdom-benchmark/) Please refer to the [example build diff --git a/examples/hdom-benchmark/package.json b/examples/hdom-benchmark/package.json index b21ab72de3..cb490b638d 100644 --- a/examples/hdom-benchmark/package.json +++ b/examples/hdom-benchmark/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-benchmark2/README.md b/examples/hdom-benchmark2/README.md index ff2d2933f1..f804edc72a 100644 --- a/examples/hdom-benchmark2/README.md +++ b/examples/hdom-benchmark2/README.md @@ -1,5 +1,7 @@ # hdom-benchmark2 +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-benchmark2.png) + [Live demo](http://demo.thi.ng/umbrella/hdom-benchmark2/) Please refer to the [example build diff --git a/examples/hdom-benchmark2/package.json b/examples/hdom-benchmark2/package.json index 551e7dfd30..bdf6a13d6b 100644 --- a/examples/hdom-benchmark2/package.json +++ b/examples/hdom-benchmark2/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-canvas-clock/README.md b/examples/hdom-canvas-clock/README.md index aa97c047bb..f995fa096a 100644 --- a/examples/hdom-canvas-clock/README.md +++ b/examples/hdom-canvas-clock/README.md @@ -1,5 +1,7 @@ # hdom-canvas-clock +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-clock.png) + [Live demo](http://demo.thi.ng/umbrella/hdom-canvas-clock/) Declarative canvas drawing using the diff --git a/examples/hdom-canvas-clock/package.json b/examples/hdom-canvas-clock/package.json index 72bd0e3616..31fa4affa7 100644 --- a/examples/hdom-canvas-clock/package.json +++ b/examples/hdom-canvas-clock/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-canvas-draw/README.md b/examples/hdom-canvas-draw/README.md index da13473855..f91c21e30b 100644 --- a/examples/hdom-canvas-draw/README.md +++ b/examples/hdom-canvas-draw/README.md @@ -1,5 +1,7 @@ # hdom-canvas-draw +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) + [Live demo](http://demo.thi.ng/umbrella/hdom-canvas-draw/) Please refer to the [example build diff --git a/examples/hdom-canvas-draw/package.json b/examples/hdom-canvas-draw/package.json index 5b004c6dc3..b0faef89e3 100644 --- a/examples/hdom-canvas-draw/package.json +++ b/examples/hdom-canvas-draw/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-canvas-particles/README.md b/examples/hdom-canvas-particles/README.md index 51e26d37fd..c85a993176 100644 --- a/examples/hdom-canvas-particles/README.md +++ b/examples/hdom-canvas-particles/README.md @@ -1,5 +1,7 @@ # hdom-canvas-particles +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-particles.jpg) + [Live demo](http://demo.thi.ng/umbrella/hdom-canvas-particles/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/hdom-canvas-particles/package.json b/examples/hdom-canvas-particles/package.json index 41c558d81e..247d30a85c 100644 --- a/examples/hdom-canvas-particles/package.json +++ b/examples/hdom-canvas-particles/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-canvas-shapes/README.md b/examples/hdom-canvas-shapes/README.md index 27dc81ad7e..2fd1c1d879 100644 --- a/examples/hdom-canvas-shapes/README.md +++ b/examples/hdom-canvas-shapes/README.md @@ -1,6 +1,6 @@ # hdom-canvas-shapes -![screenshots](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/hdom-canvas/hdom-canvas-shapes-results.png) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) [Live demo](http://demo.thi.ng/umbrella/hdom-canvas-shapes/) @@ -32,7 +32,7 @@ Related examples: Dataflow diagram: -![dataflow](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/hdom-canvas/hdom-canvas-shapes.png) +![dataflow](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes.png) ## Building diff --git a/examples/hdom-canvas-shapes/package.json b/examples/hdom-canvas-shapes/package.json index 77e9f5ce79..48d85c0b12 100644 --- a/examples/hdom-canvas-shapes/package.json +++ b/examples/hdom-canvas-shapes/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-canvas-shapes/src/index.ts b/examples/hdom-canvas-shapes/src/index.ts index e40da4456e..8ab3b83f11 100644 --- a/examples/hdom-canvas-shapes/src/index.ts +++ b/examples/hdom-canvas-shapes/src/index.ts @@ -1,4 +1,4 @@ -import { hsva } from "@thi.ng/color"; +import { hsv } from "@thi.ng/color"; import { download } from "@thi.ng/dl-asset"; import { pathBuilder, points } from "@thi.ng/geom"; import { canvas, normalizeTree } from "@thi.ng/hdom-canvas"; @@ -284,7 +284,7 @@ const TESTS: any = { map( (x) => [ "ellipse", - { stroke: hsva(x / 20, 1, 1) }, + { stroke: hsv(x / 20, 1, 1) }, [150, 150], // pos addN(null, sincos(t + x * 0.1, 75), 75), // radii Math.sin(t * 0.25), // axis diff --git a/examples/hdom-dropdown-fuzzy/package.json b/examples/hdom-dropdown-fuzzy/package.json index 3145d57223..483ade352c 100644 --- a/examples/hdom-dropdown-fuzzy/package.json +++ b/examples/hdom-dropdown-fuzzy/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-dropdown/package.json b/examples/hdom-dropdown/package.json index 1f6e99faf2..835f3fd3c0 100644 --- a/examples/hdom-dropdown/package.json +++ b/examples/hdom-dropdown/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-dyn-context/package.json b/examples/hdom-dyn-context/package.json index d859436a1d..82216eddf5 100644 --- a/examples/hdom-dyn-context/package.json +++ b/examples/hdom-dyn-context/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-elm/package.json b/examples/hdom-elm/package.json index f23f03559b..29e41797fc 100644 --- a/examples/hdom-elm/package.json +++ b/examples/hdom-elm/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-inner-html/package.json b/examples/hdom-inner-html/package.json index e02daaddbf..6211f2fab4 100644 --- a/examples/hdom-inner-html/package.json +++ b/examples/hdom-inner-html/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-local-render/package.json b/examples/hdom-local-render/package.json index ad7fc2c9b1..52a81dcbb6 100644 --- a/examples/hdom-local-render/package.json +++ b/examples/hdom-local-render/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-localstate/package.json b/examples/hdom-localstate/package.json index 8ea816382f..be80b65907 100644 --- a/examples/hdom-localstate/package.json +++ b/examples/hdom-localstate/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-skip-nested/package.json b/examples/hdom-skip-nested/package.json index 8a29598859..5f41c86071 100644 --- a/examples/hdom-skip-nested/package.json +++ b/examples/hdom-skip-nested/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-skip/package.json b/examples/hdom-skip/package.json index 3ab471b0e0..f8ca0171a1 100644 --- a/examples/hdom-skip/package.json +++ b/examples/hdom-skip/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-theme-adr-0003/package.json b/examples/hdom-theme-adr-0003/package.json index 2142959a36..2e14901a61 100644 --- a/examples/hdom-theme-adr-0003/package.json +++ b/examples/hdom-theme-adr-0003/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-toggle/README.md b/examples/hdom-toggle/README.md index ca49457a6f..f01b30ad33 100644 --- a/examples/hdom-toggle/README.md +++ b/examples/hdom-toggle/README.md @@ -1,5 +1,7 @@ # hdom-toggle +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-toggle.png) + [Live demo](http://demo.thi.ng/umbrella/hdom-toggle/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/hdom-toggle/package.json b/examples/hdom-toggle/package.json index bd90e93969..2e2fad5fc9 100644 --- a/examples/hdom-toggle/package.json +++ b/examples/hdom-toggle/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hdom-vscroller/package.json b/examples/hdom-vscroller/package.json index 85b9a556ac..a3453bbb06 100644 --- a/examples/hdom-vscroller/package.json +++ b/examples/hdom-vscroller/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hiccup-canvas-arcs/README.md b/examples/hiccup-canvas-arcs/README.md index 52ed0d9df8..4eb7e6ab2c 100644 --- a/examples/hiccup-canvas-arcs/README.md +++ b/examples/hiccup-canvas-arcs/README.md @@ -1,5 +1,7 @@ # hiccup-canvas-arcs +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hiccup-canvas-arcs.png) + [Live demo](http://demo.thi.ng/umbrella/hiccup-canvas-arcs/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/hiccup-canvas-arcs/package.json b/examples/hiccup-canvas-arcs/package.json index bf08074e5f..fee935241a 100644 --- a/examples/hiccup-canvas-arcs/package.json +++ b/examples/hiccup-canvas-arcs/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/hiccup-canvas-arcs/src/index.ts b/examples/hiccup-canvas-arcs/src/index.ts index 2dc266fbc2..ee33ea54fe 100644 --- a/examples/hiccup-canvas-arcs/src/index.ts +++ b/examples/hiccup-canvas-arcs/src/index.ts @@ -1,4 +1,4 @@ -import { hsla } from "@thi.ng/color"; +import { hsl } from "@thi.ng/color"; import { arc, asCubic, @@ -34,7 +34,7 @@ const arcs = [ // stroke width w: SYSTEM.minmax(1, 5), // randomized HSLA color - col: hsla([SYSTEM.norm(0.1), SYSTEM.minmax(0.5, 1), 0.5]), + col: hsl([SYSTEM.norm(0.1), SYSTEM.minmax(0.5, 1), 0.5]), // start angle theta: SYSTEM.float(TAU), // angle spread diff --git a/examples/hydrate-basics/package.json b/examples/hydrate-basics/package.json index 29ddd8622b..13e98ae372 100644 --- a/examples/hydrate-basics/package.json +++ b/examples/hydrate-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/imgui-basics/README.md b/examples/imgui-basics/README.md index a07527c3a3..3b3136307e 100644 --- a/examples/imgui-basics/README.md +++ b/examples/imgui-basics/README.md @@ -1,5 +1,7 @@ # imgui-basics +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/imgui-basics.png) + [Live demo](http://demo.thi.ng/umbrella/imgui-basics/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/imgui-basics/package.json b/examples/imgui-basics/package.json index 49418b451e..8e910f078f 100644 --- a/examples/imgui-basics/package.json +++ b/examples/imgui-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/imgui/README.md b/examples/imgui/README.md index 3a9129b38d..c0a599425c 100644 --- a/examples/imgui/README.md +++ b/examples/imgui/README.md @@ -1,6 +1,6 @@ # imgui -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/imgui/imgui-all.png) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) [Live demo](http://demo.thi.ng/umbrella/imgui/) diff --git a/examples/imgui/package.json b/examples/imgui/package.json index 823932b0be..4358f79c07 100644 --- a/examples/imgui/package.json +++ b/examples/imgui/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/interceptor-basics/package.json b/examples/interceptor-basics/package.json index a26bf5a205..2e444610cd 100644 --- a/examples/interceptor-basics/package.json +++ b/examples/interceptor-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/interceptor-basics2/package.json b/examples/interceptor-basics2/package.json index 76e2ca3f7b..34e67ad6e3 100644 --- a/examples/interceptor-basics2/package.json +++ b/examples/interceptor-basics2/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/iso-plasma/README.md b/examples/iso-plasma/README.md index 28dfd44ad2..0ecf9d3ed9 100644 --- a/examples/iso-plasma/README.md +++ b/examples/iso-plasma/README.md @@ -1,5 +1,7 @@ # iso-plasma +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) + [Live demo](http://demo.thi.ng/umbrella/iso-plasma/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/iso-plasma/package.json b/examples/iso-plasma/package.json index 3222b450d8..21ecf17a5e 100644 --- a/examples/iso-plasma/package.json +++ b/examples/iso-plasma/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/json-components/README.md b/examples/json-components/README.md index b33c2e93ea..93bbbed042 100644 --- a/examples/json-components/README.md +++ b/examples/json-components/README.md @@ -1,5 +1,7 @@ # json-components +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/json-components.jpg) + [Live demo](https://demo.thi.ng/umbrella/json-components/) Please refer to the [example build diff --git a/examples/json-components/package.json b/examples/json-components/package.json index bb7e2b6996..fea63812f3 100644 --- a/examples/json-components/package.json +++ b/examples/json-components/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/login-form/package.json b/examples/login-form/package.json index 5d0ae87e4c..ed9ad3a067 100644 --- a/examples/login-form/package.json +++ b/examples/login-form/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/mandelbrot/README.md b/examples/mandelbrot/README.md index ab087eb66a..fdf931f6fb 100644 --- a/examples/mandelbrot/README.md +++ b/examples/mandelbrot/README.md @@ -1,5 +1,7 @@ # mandelbrot +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/mandelbrot.jpg) + [Live demo](http://demo.thi.ng/umbrella/mandelbrot/) Please refer to the [example build diff --git a/examples/mandelbrot/package.json b/examples/mandelbrot/package.json index 31b67323e5..6f5f27e24f 100644 --- a/examples/mandelbrot/package.json +++ b/examples/mandelbrot/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "yarn build:worker && ../../node_modules/.bin/snowpack dev", + "start": "yarn build:worker && ../../node_modules/.bin/snowpack dev --reload", "build": "yarn build:worker && ../../node_modules/.bin/snowpack build", "build:worker": "../../node_modules/.bin/webpack --config webpack.worker.js --mode production" }, diff --git a/examples/markdown/README.md b/examples/markdown/README.md index ebc4e57afe..00640da84a 100644 --- a/examples/markdown/README.md +++ b/examples/markdown/README.md @@ -1,5 +1,7 @@ # Minimal Markdown parser +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/markdown-parser.jpg) + This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. @@ -91,6 +93,8 @@ import { parse } from "@thi.ng/hiccup-markdown"; const src = ` # Hello world +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/Hello world.png) + [This](http://example.com) is a _test_. `; diff --git a/examples/markdown/package.json b/examples/markdown/package.json index 4f0e17fb97..128a0d2fa1 100644 --- a/examples/markdown/package.json +++ b/examples/markdown/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/multitouch/package.json b/examples/multitouch/package.json index 853dc6b679..b8059110ab 100644 --- a/examples/multitouch/package.json +++ b/examples/multitouch/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/package-stats/package.json b/examples/package-stats/package.json index 3fdc45f71f..3df0164ecf 100644 --- a/examples/package-stats/package.json +++ b/examples/package-stats/package.json @@ -10,8 +10,8 @@ "build": "yarn clean && ../../node_modules/.bin/ts-node src/index.ts" }, "devDependencies": { - "ts-node": "^9.1.0", - "typescript": "^4.1.3" + "ts-node": "^9.1.1", + "typescript": "^4.1.5" }, "dependencies": { "@thi.ng/checks": "latest", diff --git a/examples/parse-playground/README.md b/examples/parse-playground/README.md index a26bcd00ac..dd66f99b23 100644 --- a/examples/parse-playground/README.md +++ b/examples/parse-playground/README.md @@ -1,5 +1,7 @@ # parse-playground +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/parse-playground.png) + [Visit playground](http://demo.thi.ng/umbrella/parse-playground/) This project was largely created during the very first [thi.ng/umbrella diff --git a/examples/parse-playground/package.json b/examples/parse-playground/package.json index 1176b2b3a3..6fe946bcc9 100644 --- a/examples/parse-playground/package.json +++ b/examples/parse-playground/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/pixel-basics/README.md b/examples/pixel-basics/README.md index 62356bf182..5f7ea35bca 100644 --- a/examples/pixel-basics/README.md +++ b/examples/pixel-basics/README.md @@ -1,8 +1,8 @@ # pixel-basics -[Live demo](http://demo.thi.ng/umbrella/pixel-basics/) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/pixel-basics.png) -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/pixel/pixel-basics.png) +[Live demo](http://demo.thi.ng/umbrella/pixel-basics/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/pixel-basics/package.json b/examples/pixel-basics/package.json index 54815faa45..59cc7f51ae 100644 --- a/examples/pixel-basics/package.json +++ b/examples/pixel-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/pixel-sorting/.gitignore b/examples/pixel-sorting/.gitignore new file mode 100644 index 0000000000..211b157174 --- /dev/null +++ b/examples/pixel-sorting/.gitignore @@ -0,0 +1,6 @@ +build +dev +node_modules +yarn.lock +!snowpack.config.js +!*.d.ts diff --git a/examples/pixel-sorting/README.md b/examples/pixel-sorting/README.md new file mode 100644 index 0000000000..5bcad3d539 --- /dev/null +++ b/examples/pixel-sorting/README.md @@ -0,0 +1,15 @@ +# pixel-sorting + +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/pixel-sorting.png) + +[Live demo](http://demo.thi.ng/umbrella/pixel-sorting/) + +Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. + +## Authors + +- Karsten Schmidt + +## License + +© 2020 Karsten Schmidt // Apache Software License 2.0 diff --git a/examples/pixel-sorting/package.json b/examples/pixel-sorting/package.json new file mode 100644 index 0000000000..3dbed45bf5 --- /dev/null +++ b/examples/pixel-sorting/package.json @@ -0,0 +1,44 @@ +{ + "name": "pixel-sorting", + "version": "0.0.1", + "description": "Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", + "start": "../../node_modules/.bin/snowpack dev --reload", + "build": "../../node_modules/.bin/snowpack build" + }, + "devDependencies": { + "@thi.ng/snowpack-env": "^2.3.3" + }, + "dependencies": { + "@thi.ng/color": "latest", + "@thi.ng/hiccup-html": "latest", + "@thi.ng/intervals": "latest", + "@thi.ng/pixel": "latest", + "@thi.ng/random": "latest", + "@thi.ng/rdom": "latest", + "@thi.ng/rstream": "latest", + "@thi.ng/transducers": "latest" + }, + "browserslist": [ + "last 3 Chrome versions" + ], + "browser": { + "process": false + }, + "thi.ng": { + "readme": [ + "color", + "hiccup-html", + "intervals", + "pixel", + "random", + "rdom", + "rstream" + ], + "screenshot": "examples/pixel-sorting.png" + } +} diff --git a/examples/pixel-sorting/public/index.html b/examples/pixel-sorting/public/index.html new file mode 100644 index 0000000000..425e6fb4f1 --- /dev/null +++ b/examples/pixel-sorting/public/index.html @@ -0,0 +1,31 @@ + + + + + + + pixel-sorting + + + + + +
+
+ Source code +
+ + + diff --git a/examples/pixel-sorting/snowpack.config.js b/examples/pixel-sorting/snowpack.config.js new file mode 100644 index 0000000000..13b0d72bb7 --- /dev/null +++ b/examples/pixel-sorting/snowpack.config.js @@ -0,0 +1,29 @@ +/** @type {import("snowpack").SnowpackUserConfig } */ +module.exports = { + mount: { + public: "/", + src: "/_dist_", + }, + plugins: [ + "@snowpack/plugin-typescript", + [ + "@snowpack/plugin-webpack", + { + extendConfig: (config) => { + config.node = { + process: false, + setImmediate: false, + util: "empty", + }; + return config; + }, + }, + ], + ], + installOptions: { + installTypes: true, + }, + buildOptions: { + baseUrl: "/umbrella/pixel-sorting", + }, +}; diff --git a/examples/pixel-sorting/src/index.ts b/examples/pixel-sorting/src/index.ts new file mode 100644 index 0000000000..c66a0e5ecd --- /dev/null +++ b/examples/pixel-sorting/src/index.ts @@ -0,0 +1,234 @@ +import { timed } from "@thi.ng/bench"; +import { abgr32, luminanceAbgr32, sortMapped } from "@thi.ng/color"; +import { + checkbox, + div, + h1, + inputFile, + inputNumber, + InputNumericAttribs, + inputRange, + label, +} from "@thi.ng/hiccup-html"; +import { closedOpen, intersection } from "@thi.ng/intervals"; +import { ABGR8888, PackedBuffer } from "@thi.ng/pixel"; +import { SYSTEM } from "@thi.ng/random"; +import { $compile, $refresh, Component, NumOrElement } from "@thi.ng/rdom"; +import { CloseMode, reactive, Stream, stream, sync } from "@thi.ng/rstream"; +import { map } from "@thi.ng/transducers"; + +interface ProcessParams { + iter: number; + horizontal: boolean; + reverse: boolean; + min: number; + max: number; +} + +/** + * Takes a ABGR pixel buffer and performs randomized pixel sorting based on + * given config options. + * + * @param buf + * @param param1 + */ +const pixelSortBuffer = ( + buf: PackedBuffer, + { iter, horizontal, reverse, min, max }: ProcessParams +) => { + const { pixels, width, height } = buf; + const row = closedOpen(0, width); + const column = closedOpen(0, height); + for (let i = iter; --i >= 0; ) { + const num = SYSTEM.minmax(min, max) | 0; + const n2 = num >> 1; + // random start/pixel position in image + const x = SYSTEM.minmax(horizontal ? -n2 : 0, width) | 0; + const y = SYSTEM.minmax(horizontal ? 0 : -n2, height) | 0; + // build & clamp intervals so that depending on process direction + // we're not reading beyond RHS of selected row or bottom of selected column + const ix = intersection(closedOpen(x, x + num), row)!; + const iy = intersection(closedOpen(y, y + num), column)!; + // skip if interval is empty + if (!(ix && iy && ix.size && iy.size)) continue; + // memory map selected pixels in either horizontal or vertical order + // `mapBuffer()` returns an array of sRGB views of the underlying pixel buffer. + // if vertical order, there will be `width` elements between each selected pixel + const strip = abgr32.mapBuffer( + // buffer to map + pixels, + // num pixels to map + (horizontal ? ix : iy).size, + // start index in pixel buffer + iy.l * width + ix.l, + // channel stride (ignored in our case) + 1, + // pixel stride + horizontal ? 1 : width + ); + // now we're sorting these selected pixels in place (i.e. directly + // within the pixel buffer) and by luminance + sortMapped(strip, luminanceAbgr32, reverse); + // mark sorted pixels + // strip.forEach((x) => ((x[0] += 0.05), x.clamp())); + } + return buf; +}; + +const processImage = (img: HTMLImageElement, opts: ProcessParams) => + timed(() => pixelSortBuffer(PackedBuffer.fromImage(img, ABGR8888), opts)); + +// stream of input files +const file = stream(); +// images read from files +const image = stream(); + +// processing params +// number of iterations +const iter = reactive(1000); +// sort slice min pixel width +const min = reactive(50); +// sort slice max pixel width +const max = reactive(200); +// sort pixels horizontally +const horizontal = reactive(true); +// sort pixels in reverse order (bright -> dark) +const reverse = reactive(false); + +// stream combinator & image processor +const result = sync({ + src: { + image, + iter, + horizontal, + reverse, + min, + max, + }, + closeOut: CloseMode.NEVER, + xform: map((params) => processImage(params.image, params)), +}); + +// triggers reading file as an image +// once ready, puts image into `image` stream for further processing +file.subscribe({ + next(file) { + const url = URL.createObjectURL(file); + const img = new Image(); + img.onload = () => { + image.next(img); + URL.revokeObjectURL(url); // house keeping! + }; + img.src = url; + }, +}); + +// thi.ng/rdom UI component +// creates a canvas element and blits given pixel buffer into it +// when the component mounts +class PixelCanvas extends Component { + constructor(protected buffer: PackedBuffer) { + super(); + } + + async mount(parent: Element, index?: NumOrElement) { + const buf = this.buffer; + this.el = this.$el( + "canvas", + { width: buf.width, height: buf.height }, + null, + parent, + index + ); + buf.blitCanvas(this.el); + return this.el; + } +} + +// UI component, grouping a form field label & input slider +// slider is linked w/ given value stream +const labeledRange = ( + stream: Stream, + id: string, + labelBody: string, + opts: Partial +) => { + const onchange = (e: InputEvent) => + stream.next(parseInt((e.target).value)); + return div( + ".mb2", + {}, + label(".dib.w4", { for: id }, labelBody), + inputRange({ + ...opts, + id, + value: stream, + onchange, + }), + inputNumber(".ml3.w4.tr", { + ...opts, + value: stream, + onchange, + }) + ); +}; + +// UI component, grouping a form field label & checkbox +// checkbox is linked w/ given value stream +const labeledCheckbox = ( + stream: Stream, + id: string, + labelBody: string +) => + div( + ".mb2", + {}, + label(".dib.w4", { for: id }, labelBody), + checkbox({ + id, + checked: stream, + onchange: (e) => + stream.next(!!(e.target).checked), + }) + ); + +// compile & mount main UI +$compile( + div( + {}, + h1({}, "Glitch my pic!"), + div( + ".mb2", + {}, + label(".dib.w4", { for: "file" }, "Image"), + inputFile({ + id: "file", + accept: ["image/jpg", "image/png", "image/gif"], + multiple: false, + onchange: (e) => + file.next((e.target).files![0]), + }) + ), + labeledRange(iter, "iter", "Iterations", { + min: 0, + max: 50000, + step: 1000, + }), + labeledRange(min, "min", "Min. scatter", { + min: 0, + max: 200, + step: 5, + }), + labeledRange(max, "max", "Max. scatter", { + min: 0, + max: 200, + step: 5, + }), + labeledCheckbox(horizontal, "horizontal", "Horizontal"), + labeledCheckbox(reverse, "order", "Reverse order"), + div( + {}, + $refresh(result, async (buf) => new PixelCanvas(buf)) + ) + ) +).mount(document.getElementById("app")!); diff --git a/examples/pixel-sorting/src/static.d.ts b/examples/pixel-sorting/src/static.d.ts new file mode 100644 index 0000000000..67d9623753 --- /dev/null +++ b/examples/pixel-sorting/src/static.d.ts @@ -0,0 +1,51 @@ +/* Use this file to declare any custom file extensions for importing */ +/* Use this folder to also add/extend a package d.ts file, if needed. */ + +/* CSS MODULES */ +declare module "*.module.css" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.scss" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.sass" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.less" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.styl" { + const classes: { [key: string]: string }; + export default classes; +} + +/* CSS */ +declare module "*.css"; +declare module "*.scss"; +declare module "*.sass"; +declare module "*.less"; +declare module "*.styl"; + +/* IMAGES */ +declare module "*.svg" { + const ref: string; + export default ref; +} +declare module "*.gif" { + const ref: string; + export default ref; +} +declare module "*.jpg" { + const ref: string; + export default ref; +} +declare module "*.png" { + const ref: string; + export default ref; +} + +/* CUSTOM: ADD YOUR OWN HERE */ diff --git a/examples/pixel-sorting/tsconfig.json b/examples/pixel-sorting/tsconfig.json new file mode 100644 index 0000000000..48d558b4f8 --- /dev/null +++ b/examples/pixel-sorting/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.json", + "include": ["src"], + "compilerOptions": { + "baseUrl": "./", + "paths": { "*": ["web_modules/.types/*"] } + } +} diff --git a/examples/pointfree-svg/README.md b/examples/pointfree-svg/README.md index 6c7fb04f83..7a80e07ad4 100644 --- a/examples/pointfree-svg/README.md +++ b/examples/pointfree-svg/README.md @@ -1,17 +1,17 @@ # pointfree-svg -This is a non-browser demo combining the following packages to generate -the SVG graphic below: +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/pointfree-svg.png) + +This is a non-browser demo combining the following packages to generate the +above SVG graphic: - [@thi.ng/hiccup](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup) - [@thi.ng/hiccup-svg](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup-svg) - [@thi.ng/pointfree](https://github.com/thi-ng/umbrella/tree/develop/packages/pointfree) - [@thi.ng/pointfree-lang](https://github.com/thi-ng/umbrella/tree/develop/packages/pointfree-lang) -![generated result](https://raw.githubusercontent.com/thi-ng/umbrella/master/examples/pointfree-svg/output.svg) - Most of the [source -code](https://raw.githubusercontent.com/thi-ng/umbrella/master/examples/pointfree-svg/src/index.ts) +code](https://raw.githubusercontent.com/thi-ng/umbrella/develop/examples/pointfree-svg/src/index.ts) is written in the pointfree DSL syntax and includes a rudimentary graphics lib to generate SVG shapes in hiccup format (basically a DOM defined by nested arrays). The example also demonstrates how to define diff --git a/examples/pointfree-svg/package.json b/examples/pointfree-svg/package.json index 8720e91c5e..04f0b60ed4 100644 --- a/examples/pointfree-svg/package.json +++ b/examples/pointfree-svg/package.json @@ -16,8 +16,8 @@ "@thi.ng/pointfree-lang": "latest" }, "devDependencies": { - "ts-node": "^9.1.0", - "typescript": "^4.1.3" + "ts-node": "^9.1.1", + "typescript": "^4.1.5" }, "thi.ng": { "online": false, diff --git a/examples/poisson-circles/README.md b/examples/poisson-circles/README.md index 6b7cd73bb5..df4af07479 100644 --- a/examples/poisson-circles/README.md +++ b/examples/poisson-circles/README.md @@ -1,5 +1,7 @@ # poisson-circles +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/poisson/poisson.jpg) + [Live demo](http://demo.thi.ng/umbrella/poisson-circles/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/poisson-circles/package.json b/examples/poisson-circles/package.json index 223bdbd1e1..9e38e96155 100644 --- a/examples/poisson-circles/package.json +++ b/examples/poisson-circles/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/poly-spline/README.md b/examples/poly-spline/README.md index 89971ee483..071e330f35 100644 --- a/examples/poly-spline/README.md +++ b/examples/poly-spline/README.md @@ -1,5 +1,7 @@ # poly-spline +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/poly-spline.png) + [Live demo](http://demo.thi.ng/umbrella/poly-spline/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/poly-spline/package.json b/examples/poly-spline/package.json index 4cbb3de5ac..fe44de60dd 100644 --- a/examples/poly-spline/package.json +++ b/examples/poly-spline/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/porter-duff/README.md b/examples/porter-duff/README.md index 1c7b2819db..c4e23d469e 100644 --- a/examples/porter-duff/README.md +++ b/examples/porter-duff/README.md @@ -1,5 +1,7 @@ # porter-duff +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/porter-duff/porter-duff2.png) + [Live demo](http://demo.thi.ng/umbrella/porter-duff/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/porter-duff/package.json b/examples/porter-duff/package.json index 902228c663..97fe5ca4da 100644 --- a/examples/porter-duff/package.json +++ b/examples/porter-duff/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/ramp-synth/README.md b/examples/ramp-synth/README.md index 761e09778c..6f699ea5c8 100644 --- a/examples/ramp-synth/README.md +++ b/examples/ramp-synth/README.md @@ -1,6 +1,6 @@ # ramp-synth -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/ramp-synth.png) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/ramp-synth.png) [Live demo](http://demo.thi.ng/umbrella/ramp-synth/) diff --git a/examples/ramp-synth/package.json b/examples/ramp-synth/package.json index aa28e70ab1..d8ca93252c 100644 --- a/examples/ramp-synth/package.json +++ b/examples/ramp-synth/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rdom-basics/package.json b/examples/rdom-basics/package.json index 529d68106b..86a49bedea 100644 --- a/examples/rdom-basics/package.json +++ b/examples/rdom-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rdom-dnd/README.md b/examples/rdom-dnd/README.md index 98872d83bc..3e02b7bc16 100644 --- a/examples/rdom-dnd/README.md +++ b/examples/rdom-dnd/README.md @@ -1,5 +1,7 @@ # rdom-dnd +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rdom-dnd.png) + [Live demo](http://demo.thi.ng/umbrella/rdom-dnd/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/rdom-dnd/package.json b/examples/rdom-dnd/package.json index 433b69b43e..4a95139263 100644 --- a/examples/rdom-dnd/package.json +++ b/examples/rdom-dnd/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rdom-lissajous/README.md b/examples/rdom-lissajous/README.md index c56f1c905d..554716a316 100644 --- a/examples/rdom-lissajous/README.md +++ b/examples/rdom-lissajous/README.md @@ -1,5 +1,7 @@ # rdom-lissajous +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rdom-lissajous.png) + [Live demo](http://demo.thi.ng/umbrella/rdom-lissajous/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/rdom-lissajous/package.json b/examples/rdom-lissajous/package.json index f9946c991e..79ee8d80f7 100644 --- a/examples/rdom-lissajous/package.json +++ b/examples/rdom-lissajous/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rdom-search-docs/package.json b/examples/rdom-search-docs/package.json index 80ed67afb7..f3258e09dd 100644 --- a/examples/rdom-search-docs/package.json +++ b/examples/rdom-search-docs/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rdom-svg-nodes/README.md b/examples/rdom-svg-nodes/README.md index d58cf511e8..225fc603df 100644 --- a/examples/rdom-svg-nodes/README.md +++ b/examples/rdom-svg-nodes/README.md @@ -1,5 +1,7 @@ # rdom-svg-nodes +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rdom-svg-nodes.png) + [Live demo](http://demo.thi.ng/umbrella/rdom-svg-nodes/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/rdom-svg-nodes/package.json b/examples/rdom-svg-nodes/package.json index a41a167422..089b836013 100644 --- a/examples/rdom-svg-nodes/package.json +++ b/examples/rdom-svg-nodes/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rotating-voronoi/README.md b/examples/rotating-voronoi/README.md index b3d78eff4e..913b73aad7 100644 --- a/examples/rotating-voronoi/README.md +++ b/examples/rotating-voronoi/README.md @@ -1,5 +1,7 @@ # rotating-voronoi +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) + [Live demo](http://demo.thi.ng/umbrella/rotating-voronoi/) Example to show 2d spline in combination with voronoi tessellation. @@ -9,7 +11,7 @@ Please refer to the [example build instructions](https://github.com/thi-ng/umbre ## Authors -- Alberto Massa +- Alberto Massa ## License diff --git a/examples/rotating-voronoi/package.json b/examples/rotating-voronoi/package.json index c6d2be81e8..f5c91a802b 100644 --- a/examples/rotating-voronoi/package.json +++ b/examples/rotating-voronoi/package.json @@ -15,7 +15,7 @@ ], "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/router-basics/README.md b/examples/router-basics/README.md index f2e6ed58a2..bd1414fafa 100644 --- a/examples/router-basics/README.md +++ b/examples/router-basics/README.md @@ -1,5 +1,7 @@ # router-basics +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/router-basics.jpg) + [Live demo](https://demo.thi.ng/umbrella/router-basics/) Please refer to the [example build diff --git a/examples/router-basics/package.json b/examples/router-basics/package.json index c7a20baf4a..b9cbabc788 100644 --- a/examples/router-basics/package.json +++ b/examples/router-basics/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rstream-dataflow/README.md b/examples/rstream-dataflow/README.md index 527cccf14a..c9ee831c68 100644 --- a/examples/rstream-dataflow/README.md +++ b/examples/rstream-dataflow/README.md @@ -8,7 +8,7 @@ on the wiki. ## About -![dataflow graph](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/rs-dflow.png) +![dataflow graph](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rs-dflow.png) This example combines the following packages to create & execute the above dataflow graph in a declarative manner. The diagram generation diff --git a/examples/rstream-dataflow/package.json b/examples/rstream-dataflow/package.json index 46fc724fbd..e4b9b026e2 100644 --- a/examples/rstream-dataflow/package.json +++ b/examples/rstream-dataflow/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rstream-event-loop/README.md b/examples/rstream-event-loop/README.md index 19f170fa28..6278a485fe 100644 --- a/examples/rstream-event-loop/README.md +++ b/examples/rstream-event-loop/README.md @@ -1,13 +1,13 @@ # rstream-event-loop +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-event-loop.png) + [Live demo](http://demo.thi.ng/umbrella/rstream-event-loop/) This example demonstrates the use of [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) constructs to define a basic event-loop, event handlers and reactive DOM -updates, based on the dataflow topology shown below: - -![generated result](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/rstream-event-loop.png) +updates, based on the dataflow topology shown above. Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/rstream-event-loop/package.json b/examples/rstream-event-loop/package.json index 4fa01fcab8..74a4a13e84 100644 --- a/examples/rstream-event-loop/package.json +++ b/examples/rstream-event-loop/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rstream-grid/README.md b/examples/rstream-grid/README.md index 81652ee063..24363a0ae2 100644 --- a/examples/rstream-grid/README.md +++ b/examples/rstream-grid/README.md @@ -1,5 +1,7 @@ # rstream-grid +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) + ## About [Live demo](https://demo.thi.ng/umbrella/rstream-grid/) diff --git a/examples/rstream-grid/package.json b/examples/rstream-grid/package.json index 8f9a508d08..f597e58974 100644 --- a/examples/rstream-grid/package.json +++ b/examples/rstream-grid/package.json @@ -7,7 +7,7 @@ "license": "MIT", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rstream-hdom/package.json b/examples/rstream-hdom/package.json index af8531b9af..817cdb27ae 100644 --- a/examples/rstream-hdom/package.json +++ b/examples/rstream-hdom/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/rstream-spreadsheet/README.md b/examples/rstream-spreadsheet/README.md index 073255ca7d..c73b61abfb 100644 --- a/examples/rstream-spreadsheet/README.md +++ b/examples/rstream-spreadsheet/README.md @@ -1,5 +1,7 @@ # rstream-spreadsheet +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) + [Live demo](http://demo.thi.ng/umbrella/rstream-spreadsheet/) Spreadsheet demo built w/ diff --git a/examples/rstream-spreadsheet/package.json b/examples/rstream-spreadsheet/package.json index 758cc505cc..cad61173b6 100644 --- a/examples/rstream-spreadsheet/package.json +++ b/examples/rstream-spreadsheet/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/scenegraph-image/README.md b/examples/scenegraph-image/README.md index 2770a1077f..fd6f715a7f 100644 --- a/examples/scenegraph-image/README.md +++ b/examples/scenegraph-image/README.md @@ -1,5 +1,7 @@ # scenegraph-image +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) + [Live demo](http://demo.thi.ng/umbrella/scenegraph-image/) Similar to the other [scenegraph](../scenegraph/) example, only here diff --git a/examples/scenegraph-image/package.json b/examples/scenegraph-image/package.json index aca4a3e2fe..40cbeef2f5 100644 --- a/examples/scenegraph-image/package.json +++ b/examples/scenegraph-image/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/scenegraph/README.md b/examples/scenegraph/README.md index d9a8d90bc0..2c375b7cef 100644 --- a/examples/scenegraph/README.md +++ b/examples/scenegraph/README.md @@ -1,5 +1,7 @@ # scenegraph +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) + [Live demo](http://demo.thi.ng/umbrella/scenegraph/) Minimal 2D scene graph with support for diff --git a/examples/scenegraph/package.json b/examples/scenegraph/package.json index 8aba0805a2..f51de6888d 100644 --- a/examples/scenegraph/package.json +++ b/examples/scenegraph/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/shader-ast-canvas2d/README.md b/examples/shader-ast-canvas2d/README.md index 9b34ade718..dfb9dc425e 100644 --- a/examples/shader-ast-canvas2d/README.md +++ b/examples/shader-ast-canvas2d/README.md @@ -1,5 +1,7 @@ # shader-ast-canvas2d +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-01.jpg) + [Live demo](http://demo.thi.ng/umbrella/shader-ast-canvas2d/) WIP example of using diff --git a/examples/shader-ast-canvas2d/package.json b/examples/shader-ast-canvas2d/package.json index eb220f828e..9ecd33fcee 100644 --- a/examples/shader-ast-canvas2d/package.json +++ b/examples/shader-ast-canvas2d/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/shader-ast-evo/README.md b/examples/shader-ast-evo/README.md index 3918156a63..2efa233322 100644 --- a/examples/shader-ast-evo/README.md +++ b/examples/shader-ast-evo/README.md @@ -1,5 +1,7 @@ # shader-ast-evo +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-evo.jpg) + [Live demo](http://demo.thi.ng/umbrella/shader-ast-evo/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/shader-ast-evo/package.json b/examples/shader-ast-evo/package.json index 660a44fdcb..f5aae236ff 100644 --- a/examples/shader-ast-evo/package.json +++ b/examples/shader-ast-evo/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/shader-ast-noise/README.md b/examples/shader-ast-noise/README.md index a20c798013..de7ae522c6 100644 --- a/examples/shader-ast-noise/README.md +++ b/examples/shader-ast-noise/README.md @@ -1,5 +1,7 @@ # shader-ast-noise +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-noise.jpg) + - [Live demo (WebGL)](http://demo.thi.ng/umbrella/shader-ast-noise/) - [Live demo (Canvas 2D)](http://demo.thi.ng/umbrella/shader-ast-noise/#2d) diff --git a/examples/shader-ast-noise/package.json b/examples/shader-ast-noise/package.json index f6312754b4..7f4f47fe68 100644 --- a/examples/shader-ast-noise/package.json +++ b/examples/shader-ast-noise/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/shader-ast-raymarch/README.md b/examples/shader-ast-raymarch/README.md index 2d32e7ea1e..6ff63952df 100644 --- a/examples/shader-ast-raymarch/README.md +++ b/examples/shader-ast-raymarch/README.md @@ -1,5 +1,7 @@ # shader-ast-raymarch +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-raymarch.jpg) + - [Live demo (WebGL)](http://demo.thi.ng/umbrella/shader-ast-raymarch/) - [Live demo (Canvas 2D)](http://demo.thi.ng/umbrella/shader-ast-raymarch/#2d) diff --git a/examples/shader-ast-raymarch/package.json b/examples/shader-ast-raymarch/package.json index 37a0bdc4ea..2ae4039644 100644 --- a/examples/shader-ast-raymarch/package.json +++ b/examples/shader-ast-raymarch/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/shader-ast-sdf2d/README.md b/examples/shader-ast-sdf2d/README.md index 197640a2b2..666f223546 100644 --- a/examples/shader-ast-sdf2d/README.md +++ b/examples/shader-ast-sdf2d/README.md @@ -1,5 +1,7 @@ # shader-ast-sdf2 +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-sdf2d.jpg) + - [Live demo (WebGL)](http://demo.thi.ng/umbrella/shader-ast-sdf2d/) - [Live demo (Canvas 2D)](http://demo.thi.ng/umbrella/shader-ast-sdf2d/#2d) diff --git a/examples/shader-ast-sdf2d/package.json b/examples/shader-ast-sdf2d/package.json index 2d5aa69d78..6d02eae312 100644 --- a/examples/shader-ast-sdf2d/package.json +++ b/examples/shader-ast-sdf2d/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/shader-ast-tunnel/README.md b/examples/shader-ast-tunnel/README.md index a23a7593fd..88b0fa5dcd 100644 --- a/examples/shader-ast-tunnel/README.md +++ b/examples/shader-ast-tunnel/README.md @@ -1,5 +1,7 @@ # shader-ast-tunnel +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-tunnel.jpg) + - [Live demo (WebGL)](http://demo.thi.ng/umbrella/shader-ast-tunnel/) - [Live demo (Canvas 2D)](http://demo.thi.ng/umbrella/shader-ast-tunnel/#2d) diff --git a/examples/shader-ast-tunnel/package.json b/examples/shader-ast-tunnel/package.json index 854cc06e6a..4e601d3882 100644 --- a/examples/shader-ast-tunnel/package.json +++ b/examples/shader-ast-tunnel/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/shader-ast-tunnel/src/index.ts b/examples/shader-ast-tunnel/src/index.ts index 346039f5d0..e3e5f7d6fe 100644 --- a/examples/shader-ast-tunnel/src/index.ts +++ b/examples/shader-ast-tunnel/src/index.ts @@ -1,5 +1,5 @@ import { swizzle8 } from "@thi.ng/binary"; -import { int32Rgba } from "@thi.ng/color"; +import { int32Srgb } from "@thi.ng/color"; import { $x, $xy, @@ -123,7 +123,7 @@ if (JS_MODE) { let y = ((uv[1] * TH) | 0) % TH; x < 0 && (x += TW); y < 0 && (y += TH); - return int32Rgba([], swizzle8(texData[y * TW + x], 0, 3, 2, 1)); + return int32Srgb([], swizzle8(texData[y * TW + x], 0, 3, 2, 1)); }; // compile AST to actual JS: diff --git a/examples/shader-ast-workers/README.md b/examples/shader-ast-workers/README.md index b9cfa12069..9b158eb851 100644 --- a/examples/shader-ast-workers/README.md +++ b/examples/shader-ast-workers/README.md @@ -1,5 +1,7 @@ # shader-ast-workers +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) + [Live demo](http://demo.thi.ng/umbrella/shader-ast-workers/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/shader-ast-workers/package.json b/examples/shader-ast-workers/package.json index cd8209bade..9eccb3a74b 100644 --- a/examples/shader-ast-workers/package.json +++ b/examples/shader-ast-workers/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "yarn build:worker && ../../node_modules/.bin/snowpack dev", + "start": "yarn build:worker && ../../node_modules/.bin/snowpack dev --reload", "build": "yarn build:worker && ../../node_modules/.bin/snowpack build", "build:worker": "../../node_modules/.bin/webpack --config webpack.worker.js --mode production" }, diff --git a/examples/shader-ast-workers/src/worker.ts b/examples/shader-ast-workers/src/worker.ts index 0218cc12ed..36ccb5cac4 100644 --- a/examples/shader-ast-workers/src/worker.ts +++ b/examples/shader-ast-workers/src/worker.ts @@ -1,5 +1,5 @@ import { timedResult } from "@thi.ng/bench"; -import { hueRgba } from "@thi.ng/color"; +import { hueRgb } from "@thi.ng/color"; import { $x, $xyz, @@ -43,7 +43,7 @@ import { sma } from "@thi.ng/transducers-stats"; import { NUM_WORKERS, WorkerJob, WorkerResult } from "./api"; // color table to tint each worker's region -const COLORS = [...map((i) => hueRgba([], i), normRange(NUM_WORKERS))]; +const COLORS = [...map((i) => hueRgb([], i), normRange(NUM_WORKERS))]; // shader AST functions from the shader-ast-raymarch example const scene = defn("vec2", "scene", ["vec3"], (pos) => { diff --git a/examples/shader-graph/README.md b/examples/shader-graph/README.md index 1e5db38f05..c01ce28dd2 100644 --- a/examples/shader-graph/README.md +++ b/examples/shader-graph/README.md @@ -1,10 +1,14 @@ # shader-graph -[Live demo](http://demo.thi.ng/umbrella/shader-graph/) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-graph.jpg) -![demo screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-graph.jpg) +[Live demo](http://demo.thi.ng/umbrella/shader-graph/) -Minimal shader graph setup based on [@thi.ng/webgl](https://github.com/thi-ng/umbrella/tree/develop/packages/webgl), [@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) and [@thi.ng/scenegraph](https://github.com/thi-ng/umbrella/tree/develop/packages/scenegraph). +Minimal shader graph setup based on +[@thi.ng/webgl](https://github.com/thi-ng/umbrella/tree/develop/packages/webgl), +[@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) +and +[@thi.ng/scenegraph](https://github.com/thi-ng/umbrella/tree/develop/packages/scenegraph). This project was developed from scratch during the [2nd thi.ng livestream on Youtube](https://www.youtube.com/watch?v=hEC_qbUXDo8). Please see video for diff --git a/examples/shader-graph/package.json b/examples/shader-graph/package.json index 88fbc21d2b..787acb8d15 100644 --- a/examples/shader-graph/package.json +++ b/examples/shader-graph/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/soa-ecs/README.md b/examples/soa-ecs/README.md index 1581428cd9..d8d1587e5d 100644 --- a/examples/soa-ecs/README.md +++ b/examples/soa-ecs/README.md @@ -1,6 +1,6 @@ # soa-ecs -![100k particle system](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/soa-ecs-100k.png) +![100k particle system](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) [Live demo](http://demo.thi.ng/umbrella/soa-ecs/) diff --git a/examples/soa-ecs/package.json b/examples/soa-ecs/package.json index 6ad2163da9..936615ccf2 100644 --- a/examples/soa-ecs/package.json +++ b/examples/soa-ecs/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/soa-ecs/src/index.ts b/examples/soa-ecs/src/index.ts index 63799eea03..6e9064c2d5 100644 --- a/examples/soa-ecs/src/index.ts +++ b/examples/soa-ecs/src/index.ts @@ -1,5 +1,4 @@ import { adaptDPI } from "@thi.ng/adapt-dpi"; -import { Type } from "@thi.ng/api"; import { ECS, GroupInfo, GroupTuple } from "@thi.ng/ecs"; import { start } from "@thi.ng/hdom"; import { canvasWebGL } from "@thi.ng/hdom-components"; @@ -65,13 +64,13 @@ const ecs = new ECS({ capacity: NUM }); const pos = ecs.defComponent({ id: "pos", - type: Type.F32, + type: "f32", size: 2, })!; const vel = ecs.defComponent({ id: "vel", - type: Type.F32, + type: "f32", size: 2, default: () => randNormS2([0, 0]), })!; diff --git a/examples/stratified-grid/README.md b/examples/stratified-grid/README.md index e3e17836db..b656093cac 100644 --- a/examples/stratified-grid/README.md +++ b/examples/stratified-grid/README.md @@ -1,5 +1,7 @@ # stratified-grid +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/poisson/stratified-grid.png) + [Live demo](http://demo.thi.ng/umbrella/stratified-grid/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/stratified-grid/package.json b/examples/stratified-grid/package.json index b4ec27ed50..1760099e40 100644 --- a/examples/stratified-grid/package.json +++ b/examples/stratified-grid/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/svg-barchart/README.md b/examples/svg-barchart/README.md index fa7de9ffbb..d052eddab5 100644 --- a/examples/svg-barchart/README.md +++ b/examples/svg-barchart/README.md @@ -1,10 +1,12 @@ # svg-barchart +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-barchart.png) + [Live demo](http://demo.thi.ng/umbrella/svg-barchart/) SVG bar chart component & one-off rendering. -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/svg-barchart.png) +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-barchart.png) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) diff --git a/examples/svg-barchart/package.json b/examples/svg-barchart/package.json index 0238b81ec1..7821085324 100644 --- a/examples/svg-barchart/package.json +++ b/examples/svg-barchart/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/svg-particles/package.json b/examples/svg-particles/package.json index 41bba9030e..517649e22a 100644 --- a/examples/svg-particles/package.json +++ b/examples/svg-particles/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/svg-waveform/README.md b/examples/svg-waveform/README.md index 5d9cb17a14..6694d99ed9 100644 --- a/examples/svg-waveform/README.md +++ b/examples/svg-waveform/README.md @@ -1,4 +1,7 @@ # svg-waveform + +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-waveform.png) + ## About Interactive, additive waveform synthesis (no audio) and SVG waveform diff --git a/examples/svg-waveform/package.json b/examples/svg-waveform/package.json index 2de146f4e2..aee5706f8f 100644 --- a/examples/svg-waveform/package.json +++ b/examples/svg-waveform/package.json @@ -7,7 +7,7 @@ "license": "MIT", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/talk-slides/README.md b/examples/talk-slides/README.md index d8cac3d8cf..72a451d92b 100644 --- a/examples/talk-slides/README.md +++ b/examples/talk-slides/README.md @@ -1,5 +1,7 @@ # talk-slides +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/talk-slides.png) + [Live demo](http://media.thi.ng/2018/talks/clojurex/index.html) | [Exported PDF](http://media.thi.ng/2018/talks/clojurex/slides.pdf) diff --git a/examples/talk-slides/package.json b/examples/talk-slides/package.json index 1a850372f6..a7d99ef9cc 100644 --- a/examples/talk-slides/package.json +++ b/examples/talk-slides/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/text-canvas-image/README.md b/examples/text-canvas-image/README.md index f65afd4f91..fd443fb80b 100644 --- a/examples/text-canvas-image/README.md +++ b/examples/text-canvas-image/README.md @@ -1,5 +1,7 @@ # text-canvas-image +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas-image.png) + [Live demo](http://demo.thi.ng/umbrella/text-canvas-image/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/text-canvas-image/package.json b/examples/text-canvas-image/package.json index d42ffb9319..a0448d0a0a 100644 --- a/examples/text-canvas-image/package.json +++ b/examples/text-canvas-image/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "devDependencies": { diff --git a/examples/text-canvas/README.md b/examples/text-canvas/README.md index 38b65403f0..4730270711 100644 --- a/examples/text-canvas/README.md +++ b/examples/text-canvas/README.md @@ -1,5 +1,7 @@ # text-canvas +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas.png) + [Live demo](http://demo.thi.ng/umbrella/text-canvas/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/text-canvas/package.json b/examples/text-canvas/package.json index 3e0c96f55c..9f3badb15b 100644 --- a/examples/text-canvas/package.json +++ b/examples/text-canvas/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/todo-list/README.md b/examples/todo-list/README.md index a2260e0264..1042c3afc1 100644 --- a/examples/todo-list/README.md +++ b/examples/todo-list/README.md @@ -1,4 +1,6 @@ -# @thi.ng/hdom todo list example +# Todo list with undo/redo + +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/todo-list.png) [Live demo here](https://demo.thi.ng/umbrella/todo-list/) diff --git a/examples/todo-list/package.json b/examples/todo-list/package.json index e94405fc58..bc722bea7f 100644 --- a/examples/todo-list/package.json +++ b/examples/todo-list/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/transducers-hdom/package.json b/examples/transducers-hdom/package.json index f5792711d3..5991e0525e 100644 --- a/examples/transducers-hdom/package.json +++ b/examples/transducers-hdom/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/triple-query/README.md b/examples/triple-query/README.md index c10f1deb11..203b539b5a 100644 --- a/examples/triple-query/README.md +++ b/examples/triple-query/README.md @@ -1,5 +1,7 @@ # triple-query +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) + [Live demo](https://demo.thi.ng/umbrella/triple-query/) Please refer to the [example build diff --git a/examples/triple-query/package.json b/examples/triple-query/package.json index 5b026dbb8e..5cd840e4e3 100644 --- a/examples/triple-query/package.json +++ b/examples/triple-query/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/webgl-cube/README.md b/examples/webgl-cube/README.md index 03e45d8cf9..5c9907113c 100644 --- a/examples/webgl-cube/README.md +++ b/examples/webgl-cube/README.md @@ -1,5 +1,7 @@ # webgl-cube +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cube.png) + [Live demo](http://demo.thi.ng/umbrella/webgl-cube/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/webgl-cube/package.json b/examples/webgl-cube/package.json index cb62e0c0e0..6e96175ccd 100644 --- a/examples/webgl-cube/package.json +++ b/examples/webgl-cube/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/webgl-cubemap/README.md b/examples/webgl-cubemap/README.md index d195e78c10..97e1d8d1f1 100644 --- a/examples/webgl-cubemap/README.md +++ b/examples/webgl-cubemap/README.md @@ -1,5 +1,7 @@ # webgl-cubemap +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cubemap.jpg) + WebGL 360˚ panorama / cube map example. Images by [Emil Persson](http://www.humus.name/index.php?page=Textures). diff --git a/examples/webgl-cubemap/package.json b/examples/webgl-cubemap/package.json index 5123c55322..a7e1f9506e 100644 --- a/examples/webgl-cubemap/package.json +++ b/examples/webgl-cubemap/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/webgl-grid/README.md b/examples/webgl-grid/README.md index 58690b02df..702d49b3c2 100644 --- a/examples/webgl-grid/README.md +++ b/examples/webgl-grid/README.md @@ -1,5 +1,7 @@ # webgl-grid +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-grid.jpg) + [Live demo](http://demo.thi.ng/umbrella/webgl-grid/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/webgl-grid/package.json b/examples/webgl-grid/package.json index 3da93715b6..672fb5c080 100644 --- a/examples/webgl-grid/package.json +++ b/examples/webgl-grid/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/webgl-msdf/README.md b/examples/webgl-msdf/README.md index 37974f31b0..b1bc3a5ef5 100644 --- a/examples/webgl-msdf/README.md +++ b/examples/webgl-msdf/README.md @@ -1,8 +1,12 @@ # webgl-msdf +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) + [Live demo](http://demo.thi.ng/umbrella/webgl-msdf/) -Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. +Please refer to the [example build +instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) +on the wiki. ## Authors diff --git a/examples/webgl-msdf/package.json b/examples/webgl-msdf/package.json index 0bf6634945..541a216dd6 100644 --- a/examples/webgl-msdf/package.json +++ b/examples/webgl-msdf/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/webgl-msdf/src/index.ts b/examples/webgl-msdf/src/index.ts index 56877341a2..e1b94557d9 100644 --- a/examples/webgl-msdf/src/index.ts +++ b/examples/webgl-msdf/src/index.ts @@ -1,5 +1,4 @@ import { adaptDPI } from "@thi.ng/adapt-dpi"; -import { GLType } from "@thi.ng/api"; import { start } from "@thi.ng/hdom"; import { canvasWebGL } from "@thi.ng/hdom-components"; import { fitClamped } from "@thi.ng/math"; @@ -120,9 +119,9 @@ const createText = ( const createStarField = (gl: WebGLRenderingContext, num = 1000) => { const pool = new AttribPool({ attribs: { - position: { type: GLType.F32, size: 3, byteOffset: 0 }, - dir: { type: GLType.F32, size: 3, byteOffset: 12 }, - id: { type: GLType.F32, size: 1, byteOffset: 24 }, + position: { type: "f32", size: 3, byteOffset: 0 }, + dir: { type: "f32", size: 3, byteOffset: 12 }, + id: { type: "f32", size: 1, byteOffset: 24 }, }, mem: { size: num * 28 + 8 /* FIXME */ + 40, diff --git a/examples/webgl-multipass/package.json b/examples/webgl-multipass/package.json index 274091bf4c..03d5d74ece 100644 --- a/examples/webgl-multipass/package.json +++ b/examples/webgl-multipass/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/webgl-shadertoy/README.md b/examples/webgl-shadertoy/README.md index 014b01d782..54397496c2 100644 --- a/examples/webgl-shadertoy/README.md +++ b/examples/webgl-shadertoy/README.md @@ -1,5 +1,7 @@ # webgl-shadertoy +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-shadertoy.jpg) + [Live demo](http://demo.thi.ng/umbrella/webgl-shadertoy/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/webgl-shadertoy/package.json b/examples/webgl-shadertoy/package.json index c1affe9806..4bf2d8a75f 100644 --- a/examples/webgl-shadertoy/package.json +++ b/examples/webgl-shadertoy/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/webgl-ssao/README.md b/examples/webgl-ssao/README.md index c2de9d5fa7..1a80462174 100644 --- a/examples/webgl-ssao/README.md +++ b/examples/webgl-ssao/README.md @@ -1,5 +1,7 @@ # webgl-ssao +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-ssao.jpg) + [Live demo](http://demo.thi.ng/umbrella/webgl-ssao/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/webgl-ssao/package.json b/examples/webgl-ssao/package.json index 5c04277ef7..55c50442a0 100644 --- a/examples/webgl-ssao/package.json +++ b/examples/webgl-ssao/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/wolfram/README.md b/examples/wolfram/README.md index 9a345a30b4..4f56ebbbe0 100644 --- a/examples/wolfram/README.md +++ b/examples/wolfram/README.md @@ -1,5 +1,7 @@ # wolfram +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/wolfram.png) + [Live demo](http://demo.thi.ng/umbrella/wolfram/) Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. diff --git a/examples/wolfram/package.json b/examples/wolfram/package.json index e8e0296ab2..211b46f170 100644 --- a/examples/wolfram/package.json +++ b/examples/wolfram/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "dependencies": { diff --git a/examples/xml-converter/README.md b/examples/xml-converter/README.md index 308bc041f0..991a005644 100644 --- a/examples/xml-converter/README.md +++ b/examples/xml-converter/README.md @@ -1,5 +1,7 @@ # xml-converter +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/xml-converter.png) + [Live demo](http://demo.thi.ng/umbrella/xml-converter/) This example uses @@ -15,7 +17,7 @@ This diagram illustrates the [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) dataflow topology used by the browser app: -![dataflow](https://raw.githubusercontent.com/thi-ng/umbrella/master/assets/examples/xml-converter.png) +![dataflow](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/xml-converter-dflow.png) ## Browser version diff --git a/examples/xml-converter/package.json b/examples/xml-converter/package.json index 790644fde7..5713ea5745 100644 --- a/examples/xml-converter/package.json +++ b/examples/xml-converter/package.json @@ -7,7 +7,7 @@ "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build", "build:cli": "../../node_modules/.bin/tsc -p tsconfig-cli.json" }, diff --git a/package.json b/package.json index 6ea840b423..2ce532a5c6 100644 --- a/package.json +++ b/package.json @@ -14,15 +14,15 @@ "gzip-size": "^6.0.0", "html-minifier-terser": "^5.1.1", "lerna": "^3.22.1", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "rimraf": "^3.0.2", - "rollup": "^2.35.1", + "rollup": "^2.39.0", "rollup-plugin-cleanup": "^3.2.1", "snowpack": "^2.18.5", - "terser": "^5.5.1", - "ts-loader": "^8.0.12", - "typescript": "^4.1.3", + "terser": "^5.6.0", + "ts-loader": "^8.0.17", + "typescript": "^4.1.5", "webpack": "^5.11.0", "webpack-cli": "^4.2.0" }, @@ -49,6 +49,6 @@ "tool:searchindex": "ts-node -P tools/tsconfig.json tools/src/build-search-index.ts" }, "resolutions": { - "typescript": "^4.1.3" + "typescript": "^4.1.5" } } diff --git a/packages/adapt-dpi/CHANGELOG.md b/packages/adapt-dpi/CHANGELOG.md index c7bd982d0e..fef73e2b4c 100644 --- a/packages/adapt-dpi/CHANGELOG.md +++ b/packages/adapt-dpi/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.12...@thi.ng/adapt-dpi@1.0.13) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/adapt-dpi - - - - - -## [1.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.11...@thi.ng/adapt-dpi@1.0.12) (2020-12-22) +## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.13...@thi.ng/adapt-dpi@1.0.14) (2021-02-20) **Note:** Version bump only for package @thi.ng/adapt-dpi diff --git a/packages/adapt-dpi/package.json b/packages/adapt-dpi/package.json index 7db8a00703..44616839ee 100644 --- a/packages/adapt-dpi/package.json +++ b/packages/adapt-dpi/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adapt-dpi", - "version": "1.0.13", + "version": "1.0.14", "description": "HDPI canvas adapter / styling utility", "module": "./index.js", "main": "./lib/index.js", @@ -41,11 +41,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 88a1afb473..ede714e3de 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,25 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.2.2...@thi.ng/adjacency@0.2.3) (2021-01-10) +# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.2.6...@thi.ng/adjacency@0.3.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/adjacency +### Features +* **adjacency:** add AdjacencyList impl & initial tests ([8f44c97](https://github.com/thi-ng/umbrella/commit/8f44c9762c0856a9b96e4548d2386eca6dcbf397)) +* **adjacency:** add IGraph.degree() & impls ([9fb02ac](https://github.com/thi-ng/umbrella/commit/9fb02ac7467785a0802c544cbc3100d6ac52fb87)) +* **adjacency:** major update Adjacency(Bit)Matrix classes & API ([cd71a5f](https://github.com/thi-ng/umbrella/commit/cd71a5fca3b2d8525c5b1c6e9032e55e39fea2dd)) +### Performance Improvements -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.2.1...@thi.ng/adjacency@0.2.2) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/adjacency - - - +* **adjacency:** pre-cache MST edge costs ([290f3a6](https://github.com/thi-ng/umbrella/commit/290f3a6e1f9d71ddf3bb33f4bc6e9552896903a9)) -## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.2.0...@thi.ng/adjacency@0.2.1) (2021-01-02) +### BREAKING CHANGES -**Note:** Version bump only for package @thi.ng/adjacency +* **adjacency:** replace .valence() w/ more flexible .degree() methods + +- add IGraph.degree() with same default behavior as .valence(), + but supporting diff degree types (in/out/inout) +- add .degree() impls for all +- remove old .valence() methods +- update tests +* **adjacency:** fixed order add/removeEdge(), valence(), neighbors(), +remove static methods + +- update IGraph, add/update methods, return types, generics +- remove/replace static methods in Adjacency(Bit)Matrix +- add defAdjBitMatrix/defAdjMatrix +- refactor/extract/re-use .toDot() graphviz conversion +- update tests diff --git a/packages/adjacency/README.md b/packages/adjacency/README.md index 637c66ca9e..36f090c8ec 100644 --- a/packages/adjacency/README.md +++ b/packages/adjacency/README.md @@ -42,14 +42,13 @@ yarn add @thi.ng/adjacency ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.74 KB / CJS: 1.82 KB / UMD: 1.92 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.29 KB / CJS: 2.38 KB / UMD: 2.44 KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) -- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) +- [@thi.ng/arrays](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays) - [@thi.ng/bitfield](https://github.com/thi-ng/umbrella/tree/develop/packages/bitfield) -- [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/dcons](https://github.com/thi-ng/umbrella/tree/develop/packages/dcons) - [@thi.ng/sparse](https://github.com/thi-ng/umbrella/tree/develop/packages/sparse) diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 74ecc10af6..45b5dc0ebd 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adjacency", - "version": "0.2.3", + "version": "0.3.0", "description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs", "module": "./index.js", "main": "./lib/index.js", @@ -40,22 +40,21 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/vectors": "^4.8.5", + "@thi.ng/vectors": "^5.0.0", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/bitfield": "^0.3.29", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/sparse": "^0.1.61" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/bitfield": "^0.4.0", + "@thi.ng/dcons": "^2.3.10", + "@thi.ng/sparse": "^0.1.65" }, "files": [ "*.js", @@ -72,6 +71,7 @@ "disjointset", "graph", "laplacian", + "list", "matrix", "neighbors", "path", @@ -82,7 +82,8 @@ "typescript", "undirected", "unionfind", - "valence" + "valence", + "vertex" ], "publishConfig": { "access": "public" diff --git a/packages/adjacency/src/api.ts b/packages/adjacency/src/api.ts index 6fc236ef1c..f68d14589b 100644 --- a/packages/adjacency/src/api.ts +++ b/packages/adjacency/src/api.ts @@ -1,19 +1,72 @@ import type { Fn2, Pair } from "@thi.ng/api"; -export type DegreeType = "in" | "out" | "both"; +export type DegreeType = "in" | "out" | "inout"; -export interface IGraph { +/** + * @typeParam T - vertex type (default: `number`) + */ +export interface IGraph { numEdges(): number; numVertices(): number; - edges(): IterableIterator>; - - addEdge(from: number, to: number): this; - removeEdge(from: number, to: number): this; - hasEdge(from: number, to: number): boolean; - - valence(id: number): number; - neighbors(id: number): number[]; + /** + * Returns iterator of all edges in the graph. Each edge is a tuple of + * `[from, to]`. For undirected graphs each edge will only be emitted once. + */ + edges(): IterableIterator>; + /** + * Attempts to add an edge between given vertex IDs. Depending on the actual + * implementation, only max. 1 edge per unique vertex pair is supported + * (currently only {@link AdjacencyList} supports multi-edges). If the graph + * is undirected, a symmetric edge might be created automatically. Returns + * true, if the edge was created. + * + * @param from + * @param to + */ + addEdge(from: T, to: T): boolean; + /** + * Attempts to remove an edge for given vertex pair. Returns true, if + * successful. + * + * @param from + * @param to + */ + removeEdge(from: T, to: T): boolean; + /** + * Returns true if an edge exists for the given vertex pair. For undirected + * graphs, the vertex order is irrelevant. + * + * @param from + * @param to + */ + hasEdge(from: T, to: T): boolean; + /** + * Returns number of edges for given vertex. By default only outgoing edges + * are counted, but can be customized via given {@link DegreeType}. Note: In + * undirected graphs the `type` has no relevance and essentially is always + * `"inout"`. + * + * @param id + * @param type + */ + degree(id: T, type?: DegreeType): number; + /** + * Returns neighbor IDs for given vertex, i.e. those vertices connected via + * edges starting *from* given vertex (or, in undirected graphs, the other + * vertices of edges which the given vertex is part of). + * + * @param id + */ + neighbors(id: T): Iterable; + /** + * Only useful for directed graphs. Returns a new graph in which the + * direction of edges is inverted/flipped. I.e. an edge `a -> b` becomes `b + * -> a`. + */ + invert(): IGraph; } -export type CostFn = Fn2; +export type Edge = Pair; + +export type CostFn = Fn2; diff --git a/packages/adjacency/src/bfs.ts b/packages/adjacency/src/bfs.ts index 99235ef4cc..ea97b5875a 100644 --- a/packages/adjacency/src/bfs.ts +++ b/packages/adjacency/src/bfs.ts @@ -1,5 +1,4 @@ import { BitField } from "@thi.ng/bitfield"; -import { isNumber } from "@thi.ng/checks"; import { DCons } from "@thi.ng/dcons"; import type { CostFn, IGraph } from "./api"; @@ -9,26 +8,24 @@ export class BFS { edges: Uint32Array; dist: Uint32Array; - constructor(graph: IGraph, src: number | Iterable, cost?: CostFn) { + constructor(graph: IGraph, src: number, cost: CostFn = () => 1) { this.graph = graph; const numV = graph.numVertices(); this.edges = new Uint32Array(numV); this.dist = new Uint32Array(numV); this.marked = new BitField(numV); - this.search(isNumber(src) ? [src] : src, cost); + this.search(src, cost); } - search(ids: Iterable, cost: CostFn = () => 1) { - const queue = new DCons(ids); - const { dist, edges, marked } = this; + protected search(id: number, cost: CostFn) { + const queue = new DCons().cons(id); + const { dist, edges, graph, marked } = this; dist.fill(0xffffffff); - for (let id of ids) { - dist[id] = 0; - marked.setAt(id); - } + dist[id] = 0; + marked.setAt(id); while (queue.length) { const v = queue.drop()!; - for (let n of this.graph.neighbors(v)) { + for (let n of graph.neighbors(v)) { const c = dist[v] + cost(v, n); if (c < dist[n] || !marked.at(n)) { edges[n] = v; @@ -44,15 +41,39 @@ export class BFS { return this.marked.at(id) !== 0; } - pathTo(id: number) { - if (!this.hasPathTo(id)) return; - const path: number[] = []; + pathTo(id: number): Iterable | undefined { + if (!this.marked.at(id)) return; const { dist, edges } = this; - let i = id; - for (; dist[i] > 0; i = edges[i]) { - path.push(i); + const path = new DCons(); + for (; dist[id] > 0; id = edges[id]) { + path.cons(id); } - path.push(i); + path.cons(id); return path; } } + +/** + * One-off Breadth-First / shortest path search between `src` and `dest` in + * `graph`, with optional `cost` function. If successful, returns path as + * iterable or undefined if no path connects the given vertices. + * + * @remarks + * For repeated queries starting from the same `src` vertex, it's much better & + * faster to create an {@link BFS} instance to re-use internal state and use + * {@link BFS.pathTo} to check/obtain paths. + * + * By default all edges have an uniform cost, i.e. the overall path cost is + * topological distance. + * + * Reference: + * - https://en.wikipedia.org/wiki/Breadth-first_search + * - https://algs4.cs.princeton.edu/40graphs/ + * + * @param graph + * @param src + * @param dest + * @param cost + */ +export const bfs = (graph: IGraph, src: number, dest: number, cost?: CostFn) => + new BFS(graph, src, cost).pathTo(dest); diff --git a/packages/adjacency/src/binary.ts b/packages/adjacency/src/binary.ts index a500828d9d..348892458b 100644 --- a/packages/adjacency/src/binary.ts +++ b/packages/adjacency/src/binary.ts @@ -1,40 +1,23 @@ -import type { Pair } from "@thi.ng/api"; -import { popCount } from "@thi.ng/binary"; import { BitMatrix } from "@thi.ng/bitfield"; -import type { IGraph } from "./api"; - -export class AdjacencyBitMatrix implements IGraph { - /** - * Creates adjacency matrix with capacity `n` (max vertices) from - * given edge pairs. Each edge is `[dest-node src-node]`. - * - * @remarks - * If `undirected` is true, creates symmetrical adjacencies. - * - * @param n - max vertices - * @param edges - edge pairs - * @param undirected -true, if undirected - */ - static fromEdges( - n: number, - edges: Iterable>, - undirected = false - ) { - const mat = new AdjacencyBitMatrix(n, undirected); - for (let e of edges) { - mat.addEdge(e[0], e[1]); - } - return mat; - } +import type { DegreeType, Edge, IGraph } from "./api"; +import { into, invert, toDot } from "./utils"; +/** + * Adjacency matrix representation for both directed and undirected graphs and + * using a compact bit matrix to store edges. Each edge requires only 1 bit + * in directed graphs or 2 bits in undirected graphs. E.g. this is allows + * storing 16384 directed edges in just 2KB of memory (128 * 128 / 8 = 2048). + */ +export class AdjacencyBitMatrix implements IGraph { mat: BitMatrix; protected undirected: boolean; protected numE: number; - constructor(n: number, undirected = false) { + constructor(n: number, edges?: Iterable, undirected = false) { this.mat = new BitMatrix(n); this.undirected = undirected; this.numE = 0; + edges && into(this, edges); } *edges() { @@ -42,7 +25,7 @@ export class AdjacencyBitMatrix implements IGraph { for (let i = this.mat.n; --i >= 0; ) { for (let n of this.neighbors(i)) { if (directed || n > i) { - yield >[i, n]; + yield [i, n]; } } } @@ -67,39 +50,46 @@ export class AdjacencyBitMatrix implements IGraph { } addEdge(from: number, to: number) { - !this.mat.setAt(to, from, true) && this.numE++; - this.undirected && this.mat.setAt(from, to, true); - return this; + if (!this.mat.setAt(from, to, true)) { + this.numE++; + this.undirected && this.mat.setAt(to, from, true); + return true; + } + return false; } removeEdge(from: number, to: number) { - this.mat.setAt(to, from, false) && this.numE--; - this.undirected && this.mat.setAt(from, to, false); - return this; + if (this.mat.setAt(from, to, false)) { + this.numE--; + this.undirected && this.mat.setAt(to, from, false); + return true; + } + return false; } hasEdge(from: number, to: number) { - return this.mat.at(to, from) !== 0; + return this.mat.at(from, to) !== 0; } - valence(id: number) { - const s = this.mat.stride; - const d = this.mat.data; - let res = 0; - id *= s; - for (let i = id + s; --i >= id; ) { - d[i] !== 0 && (res += popCount(d[i])); - } - return res; + degree(id: number, type: DegreeType = "out") { + let degree = 0; + if (this.undirected || type !== "in") + degree += this.mat.popCountRow(id); + if (!this.undirected && type !== "out") + degree += this.mat.popCountColumn(id); + return degree; } neighbors(id: number) { - const s = this.mat.stride; - const d = this.mat.data; const res: number[] = []; - id *= s; - for (let i = this.mat.n - 1, j = id + s - 1; i >= 0; i -= 32, j--) { - const v = d[j]; + const { data, stride } = this.mat; + id *= stride; + for ( + let i = this.mat.n - 1, j = id + stride - 1; + i >= 0; + i -= 32, j-- + ) { + const v = data[j]; if (v !== 0) { for (let k = 31 - Math.clz32(v); k >= 0; k--) { (v & (1 << k)) !== 0 && res.push(i - k); @@ -109,19 +99,34 @@ export class AdjacencyBitMatrix implements IGraph { return res; } + invert(): AdjacencyBitMatrix { + return invert( + new AdjacencyBitMatrix(this.mat.n, undefined, this.undirected), + this.edges() + ); + } + toString() { return this.mat.toString(); } - toDot() { - const [type, sep] = this.undirected - ? ["graph", "--"] - : ["digraph", "->"]; - const res = [`${type} g {`]; - for (let e of this.edges()) { - res.push(`"${e[0]}"${sep}"${e[1]}";`); - } - res.push(`}`); - return res.join("\n"); + toDot(ids?: string[]) { + return toDot(this.edges(), this.undirected, ids); } } + +/** + * Creates adjacency matrix backed by a {@link @thi.ng/bitfield#BitMatrix} + * with capacity `n` (max vertices), optionally initialized with given edge + * pairs. Each edge is `[src-node dest-node]`. If `undirected` is true + * (default: false), creates symmetrical adjacencies. + * + * @param n - max vertices + * @param edges - edge pairs + * @param undirected -true, if undirected + */ +export const defAdjBitMatrix = ( + n: number, + edges?: Iterable, + undirected?: boolean +) => new AdjacencyBitMatrix(n, edges, undirected); diff --git a/packages/adjacency/src/dfs.ts b/packages/adjacency/src/dfs.ts index 3cc322b76a..279f816935 100644 --- a/packages/adjacency/src/dfs.ts +++ b/packages/adjacency/src/dfs.ts @@ -1,4 +1,5 @@ import { BitField } from "@thi.ng/bitfield"; +import { DCons } from "@thi.ng/dcons"; import type { IGraph } from "./api"; export class DFS { @@ -17,10 +18,11 @@ export class DFS { } search(id: number) { - this.marked.setAt(id); + const { edges, marked } = this; + marked.setAt(id); for (let n of this.graph.neighbors(id)) { - if (!this.marked.at(n)) { - this.edges[n] = id; + if (!marked.at(n)) { + edges[n] = id; this.search(n); } } @@ -30,13 +32,26 @@ export class DFS { return this.marked.at(id) !== 0; } - pathTo(id: number) { - if (!this.hasPathTo(id)) return; - const path = []; - for (let i = id; i !== this.src; i = this.edges[i]) { - path.push(i); + pathTo(id: number): Iterable | undefined { + if (!this.marked.at(id)) return; + const { edges, src } = this; + const path = new DCons(); + for (; id !== src; id = edges[id]) { + path.cons(id); } - path.push(this.src); + path.cons(id); return path; } } + +/** + * One-off Depth-First path search from vertex `src` to `dest` in given `graph`. + * If successful, returns path as iterable or undefined if no path connects the + * given vertices. + * + * @param graph + * @param src + * @param dest + */ +export const dfs = (graph: IGraph, src: number, dest: number) => + new DFS(graph, src).pathTo(dest); diff --git a/packages/adjacency/src/disjoint-set.ts b/packages/adjacency/src/disjoint-set.ts index a6d0e211d5..21c94d008b 100644 --- a/packages/adjacency/src/disjoint-set.ts +++ b/packages/adjacency/src/disjoint-set.ts @@ -1,3 +1,5 @@ +import { fillRange } from "@thi.ng/arrays"; + /** * Typed array based Disjoint Set implementation with quick union and * path compression, after Sedgewick & Wayne. @@ -17,12 +19,9 @@ export class DisjointSet { * @param n - initial capacity, ID range [0..n) */ constructor(n: number) { - const roots = (this.roots = new Uint32Array(n)); - this.ranks = new Uint8Array(n).fill(0); + this.roots = fillRange(new Uint32Array(n)); + this.ranks = new Uint8Array(n); this.count = n; - for (let i = 0; i < n; ++i) { - roots[i] = i; - } } /** @@ -99,3 +98,10 @@ export class DisjointSet { return sets; } } + +/** + * Creates a new {@link DisjointSet} with capacity `n`. + * + * @param n + */ +export const defDisjointSet = (n: number) => new DisjointSet(n); diff --git a/packages/adjacency/src/index.ts b/packages/adjacency/src/index.ts index 7a2a5a60ec..bad1961eb6 100644 --- a/packages/adjacency/src/index.ts +++ b/packages/adjacency/src/index.ts @@ -1,6 +1,7 @@ export * from "./api"; export * from "./binary"; export * from "./disjoint-set"; +export * from "./list"; export * from "./sparse"; export * from "./bfs"; diff --git a/packages/adjacency/src/list.ts b/packages/adjacency/src/list.ts new file mode 100644 index 0000000000..3fa462edc9 --- /dev/null +++ b/packages/adjacency/src/list.ts @@ -0,0 +1,132 @@ +import { DCons } from "@thi.ng/dcons"; +import type { DegreeType, Edge, IGraph } from "./api"; +import { into, invert, toDot } from "./utils"; + +export class AdjacencyList implements IGraph { + vertices: DCons[] = []; + indegree: number[] = []; + protected numE = 0; + protected numV = 0; + + constructor(edges?: Iterable) { + edges && into(this, edges); + } + + numEdges(): number { + return this.numE; + } + + numVertices(): number { + return this.numV; + } + + *edges() { + const vertices = this.vertices; + for (let i = 0, n = vertices.length; i < n; i++) { + const vertex = vertices[i]; + if (!vertex) continue; + for (let j of vertex) yield [i, j]; + } + } + + addVertex(id: number) { + this.ensureVertexData(id); + } + + removeVertex(id: number) { + const { vertices, indegree } = this; + const vertex = vertices[id]; + if (!vertex) return false; + // remove outgoing + while (vertex.length) { + const to = vertex.first()!; + vertex.drop(); + indegree[to]--; + this.numE--; + } + delete vertices[id]; + // remove incoming + for (let i = 0, n = vertices.length; i < n && indegree[id] > 0; i++) { + const vertex = this.vertices[i]; + if (!vertex) continue; + while (!!vertex.find(id)) this.removeEdge(i, id); + } + this.numV--; + return true; + } + + addEdge(from: number, to: number) { + const vertex = this.ensureVertexData(from); + this.ensureVertexData(to); + vertex.push(to); + this.indegree[to]++; + this.numE++; + return true; + } + + removeEdge(from: number, to: number) { + const vertex = this.vertices[from]; + if (vertex) { + const dest = vertex.find(to); + if (dest) { + vertex.remove(dest); + this.numE--; + this.indegree[to]--; + return true; + } + } + return false; + } + + hasEdge(from: number, to: number) { + const vertex = this.vertices[from]; + return vertex ? !!vertex.find(to) : false; + } + + degree(id: number, type: DegreeType = "out") { + let degree = 0; + const vertex = this.vertices[id]; + if (vertex) { + if (type !== "in") degree += vertex.length; + if (type !== "out") degree += this.indegree[id]; + } + return degree; + } + + neighbors(id: number): Iterable { + return [...(this.vertices[id] || [])]; + } + + invert(): AdjacencyList { + return invert(new AdjacencyList(), this.edges()); + } + + toString() { + const vertices = this.vertices; + const res: string[] = []; + for (let i = 0, n = vertices.length; i < n; i++) { + if (vertices[i]) { + res.push( + `${i}: [${[...vertices[i]] + .sort((a, b) => a - b) + .join(", ")}]` + ); + } + } + return res.join("\n"); + } + + toDot(ids?: string[]) { + return toDot(this.edges(), false, ids); + } + + protected ensureVertexData(id: number) { + const vertex = this.vertices[id]; + if (vertex) return vertex; + this.numV++; + this.indegree[id] = 0; + return (this.vertices[id] = new DCons()); + } +} + +export const defAdjList = (edges?: Iterable) => new AdjacencyList(edges); diff --git a/packages/adjacency/src/mst.ts b/packages/adjacency/src/mst.ts index 1de139c8d8..2543756c24 100644 --- a/packages/adjacency/src/mst.ts +++ b/packages/adjacency/src/mst.ts @@ -1,23 +1,26 @@ import type { Fn } from "@thi.ng/api"; +import { sortByCachedKey } from "@thi.ng/arrays"; import { DisjointSet } from "./disjoint-set"; /** * Computes the Minimum Spanning Tree from given weighted `edges`, using - * Kruskal's algorithm. + * Kruskal's algorithm (O(E log V)). * * @remarks - * Edges can be of any type, but requires unsigned integer vertex IDs. - * The latter can be extracted via the user supplied `verts` function. - * The edge weights are extracted via the `cost` function. + * Edges can be of any type, but requires unsigned integer vertex IDs. The + * latter can be extracted via the user supplied `verts` function. The edge + * weights are extracted via the `cost` function. * - * The `maxID` arg should equal or greater than the largest vertex ID - * referenced by the given edges. + * The `maxID` arg should equal or greater than the largest vertex ID referenced + * by the given edges. * - * The function returns a new array of the original edges, satisfying - * the MST criteria. The result edges will be in ascending order, based - * on the supplied cost function. + * The function returns a new array of the original edges, satisfying the MST + * criteria. The result edges will be in ascending order, based on the supplied + * cost function. The cost function is called once for each edge and return + * values will be cached prior to sorting (see + * {@link @thi.ng/arrays#sortByCachedKey} for details). * - * {@link https://en.wikipedia.org/wiki/Kruskal%27s_algorithm} + * Reference: {@link https://en.wikipedia.org/wiki/Kruskal%27s_algorithm} * * @example * ```ts @@ -44,6 +47,8 @@ import { DisjointSet } from "./disjoint-set"; * @param maxID - max vertex ID (+1) * @param cost - cost function * @param verts - vertices / graph nodes + * + * @typeParam T - edge type */ export const mst = ( edges: T[], @@ -53,10 +58,10 @@ export const mst = ( ) => { const graph = new DisjointSet(maxID + 1); const res: T[] = []; - for (let e of edges.sort((a, b) => cost(a) - cost(b))) { + for (let e of sortByCachedKey(edges, cost)) { const v = verts(e); - if (!graph.unified(...v)) { - graph.union(...v); + if (!graph.unified(v[0], v[1])) { + graph.union(v[0], v[1]); res.push(e); } } diff --git a/packages/adjacency/src/sparse.ts b/packages/adjacency/src/sparse.ts index e1dfc09cc9..e66b7ea17a 100644 --- a/packages/adjacency/src/sparse.ts +++ b/packages/adjacency/src/sparse.ts @@ -1,37 +1,8 @@ -import type { Pair } from "@thi.ng/api"; import { CSR } from "@thi.ng/sparse"; -import type { DegreeType, IGraph } from "./api"; - -export class AdjacencyMatrix extends CSR implements IGraph { - static newEmpty(n: number, undirected = false) { - const raw = CSR.empty(n); - return new AdjacencyMatrix(n, raw.data, raw.rows, raw.cols, undirected); - } - - /** - * Creates adjacency matrix from given edge pairs. Each edge is - * `[dest-node src-node]`. - * - * @remarks - * If `undirected` is true (default: false), creates symmetrical - * edges. - * - * @param n - max number of vertices - * @param edges - edge pairs - * @param undirected - true, if undirected - */ - static fromEdges( - n: number, - edges: Iterable>, - undirected = false - ) { - const mat = AdjacencyMatrix.newEmpty(n, undirected); - for (let e of edges) { - mat.addEdge(e[0], e[1]); - } - return mat; - } +import type { DegreeType, Edge, IGraph } from "./api"; +import { into, invert, toDot } from "./utils"; +export class AdjacencyMatrix extends CSR implements IGraph { undirected: boolean; constructor( @@ -53,26 +24,32 @@ export class AdjacencyMatrix extends CSR implements IGraph { for (let j = rows[i]; j < jj; j++) { const k = cols[j]; if (directed || i <= k) { - yield >[i, k]; + yield [i, k]; } } } } addEdge(from: number, to: number) { - this.setAt(to, from, 1); - this.undirected && this.setAt(from, to, 1); - return this; + if (!this.at(from, to)) { + this.setAt(from, to, 1, false); + this.undirected && this.setAt(to, from, 1, false); + return true; + } + return false; } removeEdge(from: number, to: number) { - this.setAt(to, from, 0); - this.undirected && this.setAt(from, to, 0); - return this; + if (this.at(from, to)) { + this.setAt(from, to, 0, false); + this.undirected && this.setAt(to, from, 0, false); + return true; + } + return false; } hasEdge(from: number, to: number) { - return this.at(to, from) !== 0 || this.at(from, to) !== 0; + return this.at(from, to) !== 0; } numEdges() { @@ -84,15 +61,32 @@ export class AdjacencyMatrix extends CSR implements IGraph { return this.m; } - valence(id: number): number { - return this.nnzRow(id); + degree(id: number, type: DegreeType = "out") { + let degree = 0; + this.ensureIndex(id, id); + if (this.undirected || type !== "in") degree += this.nnzRow(id); + if (!this.undirected && type !== "out") degree += this.nnzCol(id); + return degree; } neighbors(id: number): number[] { return this.nzRowCols(id); } + invert(): AdjacencyMatrix { + return invert( + defAdjMatrix(this.m, undefined, this.undirected), + this.edges() + ); + } + /** + * Returns a diagonal sparse matrix {@link @thi.ng/sparse#CSR} containing + * information about the degree of each vertex, i.e. the number of edges + * attached to each vertex. + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Degree_matrix * * @param deg - degree type */ @@ -110,7 +104,7 @@ export class AdjacencyMatrix extends CSR implements IGraph { res.setAt(i, i, this.nnzCol(i)); } break; - case "both": + case "inout": for (let i = this.m; --i >= 0; ) { res.setAt(i, i, this.nnzRow(i) + this.nnzCol(i)); } @@ -136,7 +130,7 @@ export class AdjacencyMatrix extends CSR implements IGraph { normalizedLaplacian(deg?: CSR) { deg = deg || this.degreeMat(); const m = this.m; - const res = AdjacencyMatrix.newEmpty(m); + const res = CSR.empty(m); for (let i = 0; i < m; i++) { for (let j = 0; j < m; j++) { if (i === j && deg.at(i, i) > 0) { @@ -154,7 +148,7 @@ export class AdjacencyMatrix extends CSR implements IGraph { } /** - * Computes: `I - nA + n^2 * (D - I)`, where `I` is the unit matrix, + * Computes: `I - nA + n^2 * (D - I)`, where `I` is the identity matrix, * `A` the adjacency matrix, `D` the degree matrix, and `n` is a * (complex-valued) number. * @@ -165,27 +159,41 @@ export class AdjacencyMatrix extends CSR implements IGraph { * @param deg - degree matrix */ deformedLaplacian(n: number, deg?: CSR) { - deg = deg || this.degreeMat(); + deg = deg ? deg.copy() : this.degreeMat(); const I = CSR.identity(this.m); return I.copy() .sub(this.copy().mulN(n)) - .add( - deg - .copy() - .sub(I) - .mulN(n * n) - ); + .add(deg.sub(I).mulN(n * n)); } - toDot() { - const [type, sep] = this.undirected - ? ["graph", "--"] - : ["digraph", "->"]; - const res = [`${type} g {`]; - for (let e of this.edges()) { - res.push(`"${e[0]}"${sep}"${e[1]}";`); - } - res.push(`}`); - return res.join("\n"); + toDot(ids?: string[]) { + return toDot(this.edges(), this.undirected, ids); } } + +/** + * Creates an adjacency matrix backed by a sparse {@link @thi.ng/sparse#CSR} + * matrix, optionally initialize with given edge pairs. Each edge is a `[src, + * dest]` tuple. If `undirected` is true (default: false), creates symmetrical + * edges (i.e. undirected graph). + * + * @param n - max number of vertices + * @param edges - edge pairs + * @param undirected - true, if undirected + */ +export const defAdjMatrix = ( + n: number, + edges?: Iterable, + undirected = false +) => { + const raw = CSR.empty(n); + const mat = new AdjacencyMatrix( + n, + raw.data, + raw.rows, + raw.cols, + undirected + ); + edges && into(mat, edges); + return mat; +}; diff --git a/packages/adjacency/src/utils.ts b/packages/adjacency/src/utils.ts new file mode 100644 index 0000000000..d07eaaa77a --- /dev/null +++ b/packages/adjacency/src/utils.ts @@ -0,0 +1,36 @@ +import type { Pair } from "@thi.ng/api"; +import type { Edge, IGraph } from "./api"; + +/** @internal */ +export const toDot = ( + edges: Iterable>, + undirected: boolean, + ids?: string[] +) => { + const [type, sep] = undirected ? ["graph", "--"] : ["digraph", "->"]; + const res = [`${type} g {`]; + for (let e of edges) { + res.push( + ids + ? `"${ids[e[0]]}"${sep}"${ids[e[1]]}";` + : `"${e[0]}"${sep}"${e[1]}";` + ); + } + res.push(`}`); + return res.join("\n"); +}; + +/** @internal */ +export const into = (graph: IGraph, edges: Iterable) => { + for (let e of edges) { + graph.addEdge(e[0], e[1]); + } +}; + +/** @internal */ +export const invert = (graph: T, edges: Iterable) => { + for (let e of edges) { + graph.addEdge(e[1], e[0]); + } + return graph; +}; diff --git a/packages/adjacency/test/binary.ts b/packages/adjacency/test/binary.ts index cd3b8ce000..d4a8d56bdc 100644 --- a/packages/adjacency/test/binary.ts +++ b/packages/adjacency/test/binary.ts @@ -1,8 +1,7 @@ -import type { Pair } from "@thi.ng/api"; import * as assert from "assert"; -import { AdjacencyBitMatrix } from "../src"; +import { defAdjBitMatrix, Edge } from "../src"; -const edges: Pair[] = [ +const edges: Edge[] = [ [2, 3], [0, 1], [5, 4], @@ -10,8 +9,19 @@ const edges: Pair[] = [ ]; describe("adjacency (bitmatrix)", () => { - it("fromEdges, undirected", () => { - const m = AdjacencyBitMatrix.fromEdges(6, edges, true); + it("directed", () => { + const m = defAdjBitMatrix(4, [[1, 2]], false); + assert(m.hasEdge(1, 2)); + assert.deepStrictEqual(m.neighbors(1), [2]); + assert.deepStrictEqual(m.neighbors(2), []); + assert.strictEqual(m.degree(1), 1); + assert.strictEqual(m.degree(2), 0); + assert.deepStrictEqual([...m.edges()], [[1, 2]]); + console.log(m.toString()); + }); + + it("undirected", () => { + const m = defAdjBitMatrix(6, edges, true); assert.deepStrictEqual( [...m.mat.data.slice(0, 6)], [ diff --git a/packages/adjacency/test/list.ts b/packages/adjacency/test/list.ts new file mode 100644 index 0000000000..dd86ccc064 --- /dev/null +++ b/packages/adjacency/test/list.ts @@ -0,0 +1,26 @@ +import * as assert from "assert"; +import { defAdjList } from "../src"; + +describe("adjacency (list)", () => { + it("directed", () => { + const m = defAdjList([ + [1, 2], + [2, 0], + ]); + assert(m.hasEdge(1, 2)); + assert(m.hasEdge(2, 0)); + assert(!m.hasEdge(2, 1)); + assert(!m.hasEdge(0, 2)); + assert.deepStrictEqual(m.neighbors(1), [2]); + assert.deepStrictEqual(m.neighbors(2), [0]); + assert.strictEqual(m.degree(1), 1); + assert.deepStrictEqual( + [...m.edges()], + [ + [1, 2], + [2, 0], + ] + ); + console.log(m.toString()); + }); +}); diff --git a/packages/adjacency/test/sparse.ts b/packages/adjacency/test/sparse.ts index a566ca7d90..152f64e15a 100644 --- a/packages/adjacency/test/sparse.ts +++ b/packages/adjacency/test/sparse.ts @@ -1,6 +1,6 @@ import type { Pair } from "@thi.ng/api"; import * as assert from "assert"; -import { AdjacencyMatrix } from "../src"; +import { defAdjMatrix } from "../src"; const edges: Pair[] = [ [2, 3], @@ -10,8 +10,18 @@ const edges: Pair[] = [ ]; describe("adjacency (sparse)", () => { + it("edges directed", () => { + const m = defAdjMatrix(4, [], false); + m.addEdge(1, 2); + assert(m.hasEdge(1, 2)); + assert.deepStrictEqual(m.neighbors(1), [2]); + assert.deepStrictEqual(m.neighbors(2), []); + assert.strictEqual(m.degree(1), 1); + assert.deepStrictEqual([...m.edges()], [[1, 2]]); + }); + it("fromEdges, undirected", () => { - const m = AdjacencyMatrix.fromEdges(6, edges, true); + const m = defAdjMatrix(6, edges, true); assert.deepStrictEqual(m.rows, [0, 2, 3, 5, 6, 7, 8], "rows"); assert.deepStrictEqual(m.cols, [1, 2, 0, 0, 3, 2, 5, 4], "cols"); assert.strictEqual(m.numEdges(), 4, "numEdges"); diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index f2a09997fd..fbaa70368f 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,17 +3,27 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [6.13.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.13.5...@thi.ng/api@6.13.6) (2021-01-02) +# [7.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.13.6...@thi.ng/api@7.0.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/api +### Features +* **api:** add Range type ([5d94974](https://github.com/thi-ng/umbrella/commit/5d94974c34ca81513d40743f2a9b9a3ed20146d3)) +* **api:** add typedArrayType() classifier ([5c81fd8](https://github.com/thi-ng/umbrella/commit/5c81fd859514401c2c419b2ed3ec0f12025356c3)) +* **api:** more finely grained typedarray types ([8316d05](https://github.com/thi-ng/umbrella/commit/8316d058f0b5f760afd89e8590619670210a970a)) +* **api:** replace Type enum w/ strings consts ([a333d41](https://github.com/thi-ng/umbrella/commit/a333d418222972373cc1f9b256def2f79610d3fa)) +### BREAKING CHANGES -## [6.13.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.13.4...@thi.ng/api@6.13.5) (2020-12-22) +* **api:** replace Type enum w/ string consts -**Note:** Version bump only for package @thi.ng/api +- update Type, UintType, IntType, FloatType aliases +- update GL2TYPE, TYPE2GL, SIZEOF, TYPEDARRAY_CTORS tables +- add asNativeType(), asGLType() conversions +- add sizeOf() +- add uintTypeForBits(), intTypeForBits() +- update/rename uintTypeForSize(), intTypeForSize() diff --git a/packages/api/README.md b/packages/api/README.md index ca6d792124..9a786c63e5 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -54,7 +54,7 @@ yarn add @thi.ng/api ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.08 KB / CJS: 2.22 KB / UMD: 2.19 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.18 KB / CJS: 2.34 KB / UMD: 2.26 KB ## Dependencies diff --git a/packages/api/package.json b/packages/api/package.json index f6d001bae6..bb7d4c373c 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/api", - "version": "6.13.6", + "version": "7.0.0", "description": "Common, generic types, interfaces & mixins", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/api/src/api/range.ts b/packages/api/src/api/range.ts index 5d9e7096d5..c306b18555 100644 --- a/packages/api/src/api/range.ts +++ b/packages/api/src/api/range.ts @@ -1,3 +1,5 @@ +export type Range = [number, number]; + export type Range0_1 = 0 | 1; export type Range0_3 = Range0_1 | 2 | 3; diff --git a/packages/api/src/api/typedarray.ts b/packages/api/src/api/typedarray.ts index b1745f89c0..1620a87282 100644 --- a/packages/api/src/api/typedarray.ts +++ b/packages/api/src/api/typedarray.ts @@ -13,45 +13,58 @@ export type TypedArray = | Uint16Array | Uint32Array; -export type IntArray = Int8Array | Int16Array | Int32Array; -export type UIntArray = Uint8Array | Uint16Array | Uint32Array; export type FloatArray = Float32Array | Float64Array; -export type TypedArrayConstructor = +export type IntArray = Int8Array | Int16Array | Int32Array; + +export type UIntArray = + | Uint8Array + | Uint8ClampedArray + | Uint16Array + | Uint32Array; + +export type FloatArrayConstructor = + | Float32ArrayConstructor + | Float64ArrayConstructor; + +export type IntArrayConstructor = + | Int8ArrayConstructor + | Int16ArrayConstructor + | Int32ArrayConstructor; + +export type UIntArrayConstructor = | Uint8ArrayConstructor | Uint8ClampedArrayConstructor - | Int8ArrayConstructor | Uint16ArrayConstructor - | Int16ArrayConstructor - | Uint32ArrayConstructor - | Int32ArrayConstructor - | Float32ArrayConstructor - | Float64ArrayConstructor; + | Uint32ArrayConstructor; + +export type TypedArrayConstructor = + | FloatArrayConstructor + | IntArrayConstructor + | UIntArrayConstructor; /** - * Type enums for Typedarray-backed buffers. + * Type IDs for typed array backed buffers and generally describing binary data + * values. * - * {@link GLType} - * {@link GL2TYPE} - * {@link TYPE2GL} + * {@link GLType} {@link GL2TYPE} {@link TYPE2GL} */ -export enum Type { - U8, - U8C, - I8, - U16, - I16, - U32, - I32, - F32, - F64, -} +export type Type = + | "u8" + | "u8c" + | "i8" + | "u16" + | "i16" + | "u32" + | "i32" + | "f32" + | "f64"; -export type UintType = Type.U8 | Type.U16 | Type.U32; +export type UintType = "u8" | "u8c" | "u16" | "u32"; -export type IntType = Type.I8 | Type.I16 | Type.I32; +export type IntType = "i8" | "i16" | "i32"; -export type FloatType = Type.F32 | Type.F64; +export type FloatType = "f32" | "f64"; /** * WebGL numeric type constants. Use {@link GL2TYPE} to convert, if needed. @@ -74,13 +87,13 @@ export enum GLType { * Conversion from {@link GLType} to {@link Type} enums. */ export const GL2TYPE: Record = { - [GLType.I8]: Type.I8, - [GLType.U8]: Type.U8, - [GLType.I16]: Type.I16, - [GLType.U16]: Type.U16, - [GLType.I32]: Type.I32, - [GLType.U32]: Type.U32, - [GLType.F32]: Type.F32, + [GLType.I8]: "i8", + [GLType.U8]: "u8", + [GLType.I16]: "i16", + [GLType.U16]: "u16", + [GLType.I32]: "i32", + [GLType.U32]: "u32", + [GLType.F32]: "f32", }; /** @@ -89,66 +102,69 @@ export const GL2TYPE: Record = { * Not all enums are mappable: * * - `F64` maps to `undefined`, since unsupported by WebGL - * - `U8C` maps to U8 + * - `U8C` maps to "u8" */ export const TYPE2GL: Record = { - [Type.I8]: GLType.I8, - [Type.U8]: GLType.U8, - [Type.U8C]: GLType.U8, - [Type.I16]: GLType.I16, - [Type.U16]: GLType.U16, - [Type.I32]: GLType.I32, - [Type.I32]: GLType.I32, - [Type.U32]: GLType.U32, - [Type.F32]: GLType.F32, - [Type.F64]: undefined, + i8: GLType.I8, + u8: GLType.U8, + u8c: GLType.U8, + i16: GLType.I16, + u16: GLType.U16, + i32: GLType.I32, + u32: GLType.U32, + f32: GLType.F32, + f64: undefined, }; /** - * Size information (in bytes) for {@link Type} enums. For {@link GLType}, use this - * form, e.g. `SIZEOF[GL2TYPE[GLType.F32]]` + * Size information (in bytes) for {@link Type}. Also see {@link sizeOf}. */ export const SIZEOF = { - [Type.U8]: 1, - [Type.U8C]: 1, - [Type.I8]: 1, - [Type.U16]: 2, - [Type.I16]: 2, - [Type.U32]: 4, - [Type.I32]: 4, - [Type.F32]: 4, - [Type.F64]: 8, + u8: 1, + u8c: 1, + i8: 1, + u16: 2, + i16: 2, + u32: 4, + i32: 4, + f32: 4, + f64: 8, +}; + +export const FLOAT_ARRAY_CTORS: Record = { + f32: Float32Array, + f64: Float64Array, +}; + +export const INT_ARRAY_CTORS: Record = { + i8: Int8Array, + i16: Int16Array, + i32: Int32Array, +}; + +export const UINT_ARRAY_CTORS: Record = { + u8: Uint8Array, + u8c: Uint8ClampedArray, + u16: Uint16Array, + u32: Uint32Array, }; -export const TYPEDARRAY_CTORS: Record = { - [Type.U8]: Uint8Array, - [Type.U8C]: Uint8ClampedArray, - [Type.I8]: Int8Array, - [Type.U16]: Uint16Array, - [Type.I16]: Int16Array, - [Type.U32]: Uint32Array, - [Type.I32]: Int32Array, - [Type.F32]: Float32Array, - [Type.F64]: Float64Array, - [GLType.U8]: Uint8Array, - [GLType.I8]: Int8Array, - [GLType.U16]: Uint16Array, - [GLType.I16]: Int16Array, - [GLType.U32]: Uint32Array, - [GLType.I32]: Int32Array, - [GLType.F32]: Float32Array, +export const TYPEDARRAY_CTORS: Record = { + ...FLOAT_ARRAY_CTORS, + ...INT_ARRAY_CTORS, + ...UINT_ARRAY_CTORS, }; export interface TypedArrayTypeMap extends Record { - [Type.U8]: Uint8Array; - [Type.U8C]: Uint8ClampedArray; - [Type.I8]: Int8Array; - [Type.U16]: Uint16Array; - [Type.I16]: Int16Array; - [Type.U32]: Uint32Array; - [Type.I32]: Int32Array; - [Type.F32]: Float32Array; - [Type.F64]: Float64Array; + u8: Uint8Array; + u8c: Uint8ClampedArray; + i8: Int8Array; + u16: Uint16Array; + i16: Int16Array; + u32: Uint32Array; + i32: Int32Array; + f32: Float32Array; + f64: Float64Array; [GLType.U8]: Uint8Array; [GLType.I8]: Int8Array; [GLType.U16]: Uint16Array; @@ -158,6 +174,46 @@ export interface TypedArrayTypeMap extends Record { [GLType.F32]: Float32Array; } +/** + * Returns canonical {@link Type} value of `type` by first + * attempting to resolve it as {@link GLType} enum. + * + * @example + * ```ts + * asNativeType(GLType.F32) => "f32" + * asNativeType("f32") => "f32" + * ``` + * + * @param type - + */ +export const asNativeType = (type: GLType | Type): Type => { + const t = (GL2TYPE)[type]; + return t !== undefined ? t : type; +}; + +/** + * Returns suitable {@link GLType} enum of `type`. + * + * @example + * ```ts + * asGLType("f32") => GLType.F32 + * asGLType(GLType.F32) => GLType.F32 + * ``` + * + * @param type - + */ +export const asGLType = (type: GLType | Type): GLType => { + const t = (TYPE2GL)[type]; + return t !== undefined ? t : type; +}; + +/** + * Returns byte size for given {@link Type} ID or {@link GLType} enum. + * + * @param type + */ +export const sizeOf = (type: GLType | Type) => SIZEOF[asNativeType(type)]; + /** * Constructs new typed array of given {@link Type}/{@link GLType}. Supports all * arities of standard typed array ctors. @@ -171,27 +227,53 @@ export function typedArray(type: T, src: ArrayLike(type: T, buf: ArrayBufferLike, byteOffset: number, length?: number): TypedArrayTypeMap[T]; export function typedArray(type: T, ...xs: any[]) { - return new (TYPEDARRAY_CTORS[type])(...xs); + return new (TYPEDARRAY_CTORS[asNativeType(type)])(...xs); } +/** + * Takes an {@link NumericArray} and returns its corresponding {@link Type} ID. + * Standard JS arrays will default to {@link "f64"}. + * + * @param x + */ +export const typedArrayType = (x: NumericArray) => { + if (Array.isArray(x)) return "f64"; + for (let id in TYPEDARRAY_CTORS) { + if (x instanceof (TYPEDARRAY_CTORS)[id]) return id; + } + return "f64"; +}; + /** * Returns the smallest possible *unsigned* int type enum for given `x`. - * E.g. if `x <= 256`, the function returns `Type.U8`. + * E.g. if `x <= 256`, the function returns `"u8"`. * * @param x - value to classify */ -export const uintType = (x: number): UintType => - x <= 0x100 ? Type.U8 : x <= 0x10000 ? Type.U16 : Type.U32; +export const uintTypeForSize = (x: number): UintType => + x <= 0x100 ? "u8" : x <= 0x10000 ? "u16" : "u32"; /** * Returns the smallest possible *signed* int type enum for given `x`. - * E.g. if `x >= -128 && x < 128`, the function returns `Type.I8`. + * E.g. if `x >= -128 && x < 128`, the function returns `"i8"`. * * @param x - value to classify */ -export const intType = (x: number): IntType => - x >= -0x80 && x < 0x80 - ? Type.I8 - : x >= -0x8000 && x < 0x8000 - ? Type.I16 - : Type.I32; +export const intTypeForSize = (x: number): IntType => + x >= -0x80 && x < 0x80 ? "i8" : x >= -0x8000 && x < 0x8000 ? "i16" : "i32"; + +/** + * Returns suitable {@link UintType} for given bit size (`[0,32]` range) + * + * @param x + */ +export const uintTypeForBits = (x: number): UintType => + x > 16 ? "u32" : x > 8 ? "u16" : "u8"; + +/** + * Returns suitable {@link IntType} for given bit size (`[0,32]` range) + * + * @param x + */ +export const intTypeForBits = (x: number): IntType => + x > 16 ? "i32" : x > 8 ? "i16" : "i8"; diff --git a/packages/api/test/index.ts b/packages/api/test/index.ts deleted file mode 100644 index 6a03f273cd..0000000000 --- a/packages/api/test/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./mixins"; diff --git a/packages/args/CHANGELOG.md b/packages/args/CHANGELOG.md index 34925c665a..94782b3f4b 100644 --- a/packages/args/CHANGELOG.md +++ b/packages/args/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.2.0...@thi.ng/args@0.2.1) (2021-02-20) + +**Note:** Version bump only for package @thi.ng/args + + + + + +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.1.0...@thi.ng/args@0.2.0) (2021-01-13) + + +### Features + +* **args:** add defaultHint opt, update usage() ([f8a4146](https://github.com/thi-ng/umbrella/commit/f8a414605a0d5c93fcef83ab931911c6c2f39f7d)) + + + + + # 0.1.0 (2021-01-10) diff --git a/packages/args/README.md b/packages/args/README.md index fd28ef4ca2..fed01f672e 100644 --- a/packages/args/README.md +++ b/packages/args/README.md @@ -61,7 +61,7 @@ yarn add @thi.ng/args ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.79 KB / CJS: 1.92 KB / UMD: 1.92 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.03 KB / CJS: 2.16 KB / UMD: 2.10 KB ## Dependencies diff --git a/packages/args/package.json b/packages/args/package.json index da312c2098..bffd4493ea 100644 --- a/packages/args/package.json +++ b/packages/args/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/args", - "version": "0.1.0", + "version": "0.2.1", "description": "Declarative, functional & typechecked CLI argument/options parser, value coercions etc.", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/strings": "^1.15.0" }, "files": [ "*.js", @@ -61,9 +61,11 @@ ], "keywords": [ "argument", + "ansi", "cli", "coerce", - "convert", + "color", + "conversion", "declarative", "functional", "hex", diff --git a/packages/args/src/api.ts b/packages/args/src/api.ts index 12f7e9137c..228615a227 100644 --- a/packages/args/src/api.ts +++ b/packages/args/src/api.ts @@ -4,6 +4,7 @@ export interface ArgSpecBase { alias?: string; desc?: string; hint?: string; + defaultHint?: string; fn?: Fn; } @@ -92,9 +93,21 @@ export interface UsageOpts { * @defaultValue true */ color: Partial | false; + /** + * If true (default), display argument default values. + * + * @defaultValue true + */ + showDefaults: boolean; } +/** + * Color theme for {@link usage}. Each item is an ANSI color code: + * + * https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit + */ export interface ColorTheme { + default: number; hint: number; multi: number; param: number; @@ -102,6 +115,7 @@ export interface ColorTheme { } export const DEFAULT_THEME: ColorTheme = { + default: 95, hint: 90, multi: 90, param: 96, diff --git a/packages/args/src/parse.ts b/packages/args/src/parse.ts index 385562bb46..99265d00ab 100644 --- a/packages/args/src/parse.ts +++ b/packages/args/src/parse.ts @@ -5,97 +5,140 @@ import { camel } from "@thi.ng/strings"; import type { Args, ArgSpecExt, ParseOpts, ParseResult } from "./api"; import { usage } from "./usage"; +const HELP = "--help"; + export const parse = >( specs: Args, argv: string[], opts?: Partial ): ParseResult | undefined => { opts = { start: 2, showUsage: true, ...opts }; + try { + return parseOpts(specs, argv, opts); + } catch (e) { + if (opts.showUsage) { + console.log(e.message + "\n\n" + usage(specs, opts.usageOpts)); + } + throw e; + } +}; + +const parseOpts = >( + specs: Args, + argv: string[], + opts: Partial +): ParseResult | undefined => { + const aliases = aliasIndex(specs); const acc: any = {}; - const aliases = Object.entries(specs).reduce( - (acc, [k, v]) => (v.alias ? ((acc[v.alias] = k), acc) : acc), - >{} - ); let id: Nullable; let spec: Nullable; let i = opts.start!; - try { - for (; i < argv.length; ) { - const a = argv[i]; - if (!id) { - if (a[0] === "-") { - if (a[1] === "-") { - if (a === "--") { - i++; - break; - } - id = camel(a.substr(2)); - } else { - id = aliases[a[1]]; - !id && illegalArgs(`unknown alias: ${a}`); - } - if (id === "help") { - console.log(usage(specs, opts.usageOpts)); - return; - } - spec = specs[id]; - !spec && illegalArgs(id); - i++; - if (spec.flag) { - acc[id] = true; - id = null; - if (spec.fn && !spec.fn("true")) break; - } - } else break; - } else { - /^-[a-z]/i.test(a) && illegalArgs(`missing value for: --${id}`); - if (spec!.multi) { - isArray(acc[id]) ? acc[id].push(a) : (acc[id] = [a]); - } else { - acc[id] = a; - } - id = null; - i++; - if (spec!.fn && !spec!.fn(a)) break; + for (; i < argv.length; ) { + const a = argv[i]; + if (!id) { + if (a === HELP) { + console.log(usage(specs, opts.usageOpts)); + return; } + const state = parseKey(specs, aliases, acc, a); + id = state.id; + spec = state.spec; + i = i + ~~(state.state < 2); + if (state.state) break; + } else { + if (parseValue(spec!, acc, id, a)) break; + id = null; + i++; + } + } + id && illegalArgs(`missing value for: --${id}`); + return { + result: processResults(specs, acc), + index: i, + rest: argv.slice(i), + done: i >= argv.length, + }; +}; + +const aliasIndex = >(specs: Args) => + Object.entries(specs).reduce( + (acc, [k, v]) => (v.alias ? ((acc[v.alias] = k), acc) : acc), + >{} + ); + +interface ParseKeyResult { + state: number; + id?: string; + spec?: ArgSpecExt; +} + +const parseKey = >( + specs: Args, + aliases: IObjectOf, + acc: any, + a: string +): ParseKeyResult => { + if (a[0] === "-") { + let id: string | undefined; + if (a[1] === "-") { + // terminator arg, stop parsing + if (a === "--") return { state: 1 }; + id = camel(a.substr(2)); + } else { + id = aliases[a[1]]; + !id && illegalArgs(`unknown option: ${a}`); + } + const spec: ArgSpecExt = specs[id]; + !spec && illegalArgs(id); + if (spec.flag) { + acc[id] = true; + id = undefined; + // stop parsing if fn returns false + if (spec.fn && !spec.fn("true")) return { state: 1, spec }; } - id && illegalArgs(`missing value for: --${id}`); - for (id in specs) { - spec = specs[id]; - if (acc[id] === undefined) { - if (spec.default !== undefined) { - acc[id] = spec.default; - } else if (spec.optional === false) { - illegalArgs(`missing arg: --${id}`); - } - } else { - if (spec.coerce) { - try { - if (spec.multi && spec.delim) { - acc[id] = (acc[id]).reduce( - (acc, x) => ( - acc.push(...x.split(spec!.delim!)), acc - ), - [] - ); - } - acc[id] = spec.coerce(acc[id]); - } catch (e) { - throw new Error(`arg --${id}: ${e.message}`); - } - } + return { state: 0, id, spec }; + } + // no option arg, stop parsing + return { state: 2 }; +}; + +const parseValue = (spec: ArgSpecExt, acc: any, id: string, a: string) => { + /^-[a-z]/i.test(a) && illegalArgs(`missing value for: --${id}`); + if (spec!.multi) { + isArray(acc[id!]) ? acc[id!].push(a) : (acc[id!] = [a]); + } else { + acc[id!] = a; + } + return spec!.fn && !spec!.fn(a); +}; + +const processResults = >(specs: Args, acc: any) => { + let spec: Nullable; + for (let id in specs) { + spec = specs[id]; + if (acc[id] === undefined) { + if (spec.default !== undefined) { + acc[id] = spec.default; + } else if (spec.optional === false) { + illegalArgs(`missing arg: --${id}`); } + } else if (spec.coerce) { + coerceValue(spec, acc, id); } - return { - result: acc, - index: i, - rest: argv.slice(i), - done: i >= argv.length, - }; - } catch (e) { - if (opts.showUsage) { - console.log(e.message + "\n\n" + usage(specs, opts.usageOpts)); + } + return acc; +}; + +const coerceValue = (spec: ArgSpecExt, acc: any, id: string) => { + try { + if (spec.multi && spec.delim) { + acc[id] = (acc[id]).reduce( + (acc, x) => (acc.push(...x.split(spec!.delim!)), acc), + [] + ); } - throw e; + acc[id] = spec.coerce!(acc[id]); + } catch (e) { + throw new Error(`arg --${id}: ${e.message}`); } }; diff --git a/packages/args/src/usage.ts b/packages/args/src/usage.ts index c78737dbe0..d12442ffc1 100644 --- a/packages/args/src/usage.ts +++ b/packages/args/src/usage.ts @@ -3,6 +3,7 @@ import { kebab, padRight, repeat, + stringify, stripAnsi, wordWrapLines, } from "@thi.ng/strings"; @@ -15,6 +16,7 @@ export const usage = >( opts = { lineWidth: 80, paramWidth: 32, + showDefaults: true, ...opts, }; const theme = @@ -45,10 +47,21 @@ export const usage = >( isRequired ? theme.required! : theme.multi! ) : ""; + const defaults = + opts.showDefaults && spec.default + ? ansi( + ` (default: ${stringify()( + spec.defaultHint != undefined + ? spec.defaultHint + : spec.default + )})`, + theme.default + ) + : ""; return ( padRight(opts.paramWidth!)(params, stripAnsi(params).length) + wordWrapLines( - prefix + (spec.desc || ""), + prefix + (spec.desc || "") + defaults, opts.lineWidth! - opts.paramWidth! ) .map((l, i) => (i > 0 ? indent : "") + l) diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index 3ef4e4b0d6..e1f4383e57 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.9.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.9.0...@thi.ng/arrays@0.9.1) (2021-01-10) +## [0.10.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.1...@thi.ng/arrays@0.10.2) (2021-02-20) **Note:** Version bump only for package @thi.ng/arrays @@ -11,22 +11,30 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -# [0.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.8.5...@thi.ng/arrays@0.9.0) (2021-01-02) +# [0.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.9.2...@thi.ng/arrays@0.10.0) (2021-01-21) + + +### Bug Fixes + +* **arrays:** fixed-length binarySearch2/4/8/16/32 ([39e5c37](https://github.com/thi-ng/umbrella/commit/39e5c3736135f9a49daceee1fe4da9fbdbb96eab)) ### Features -* **arrays:** add bisect(), bisectWith() ([17d06a4](https://github.com/thi-ng/umbrella/commit/17d06a43e338aca5f2dc61110382363639daecc5)) -* **arrays:** add into(), sortByCachedKey() ([b94f64c](https://github.com/thi-ng/umbrella/commit/b94f64c2c351cfed5ea9ade5e42ad0b7076ef9e9)) -* **arrays:** update sortByCachedKey(), add tests ([64e8f6e](https://github.com/thi-ng/umbrella/commit/64e8f6e4e83c26c73e23a4831483bd328b78bc49)) +* **arrays:** add insert/insertUnsafe() ([2a78598](https://github.com/thi-ng/umbrella/commit/2a7859823d2fb56eef4ee7a6919fe70072475f42)) -## [0.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.8.4...@thi.ng/arrays@0.8.5) (2020-12-22) +# [0.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.8.5...@thi.ng/arrays@0.9.0) (2021-01-02) -**Note:** Version bump only for package @thi.ng/arrays + +### Features + +* **arrays:** add bisect(), bisectWith() ([17d06a4](https://github.com/thi-ng/umbrella/commit/17d06a43e338aca5f2dc61110382363639daecc5)) +* **arrays:** add into(), sortByCachedKey() ([b94f64c](https://github.com/thi-ng/umbrella/commit/b94f64c2c351cfed5ea9ade5e42ad0b7076ef9e9)) +* **arrays:** update sortByCachedKey(), add tests ([64e8f6e](https://github.com/thi-ng/umbrella/commit/64e8f6e4e83c26c73e23a4831483bd328b78bc49)) diff --git a/packages/arrays/README.md b/packages/arrays/README.md index e6ecd729ed..2b4a05e865 100644 --- a/packages/arrays/README.md +++ b/packages/arrays/README.md @@ -42,7 +42,7 @@ yarn add @thi.ng/arrays ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.00 KB / CJS: 2.18 KB / UMD: 2.15 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.08 KB / CJS: 2.27 KB / UMD: 2.23 KB ## Dependencies @@ -57,17 +57,25 @@ Package sizes (gzipped, pre-treeshake): ESM: 2.00 KB / CJS: 2.18 KB / UMD: 2.15 [Generated API docs](https://docs.thi.ng/umbrella/arrays/) +- [arrayIterator()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/iterator.ts) - [binarySearch()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/binary-search.ts) +- [bisect()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/bisect.ts) - [endsWith()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/ends-with.ts) - [ensureArray()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/ensure-array.ts) - [ensureIterable()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/ensure-iterable.ts) +- [fillRange()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/fill-range.ts) +- [find()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/find.ts) - [fuzzyMatch()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/fuzzy-match.ts) +- [insert()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/insert.ts) +- [into()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/into.ts) - [isSorted()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/is-sorted.ts) +- [levenshtein()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/levenshtein.ts) - [multiSwap()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/swap.ts) - [peek()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/peek.ts) - [quickSort()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/quicksort.ts) - [shuffle()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/shuffle.ts) (w/ custom PRNG support) - [shuffleRange()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/shuffle.ts) (w/ custom PRNG support) +- [sortByCachedKey()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/sort-cached.ts) - [startsWith()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/starts-with.ts) - [swap()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/swap.ts) - [swizzle()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/swizzle.ts) diff --git a/packages/arrays/bench/insert.ts b/packages/arrays/bench/insert.ts new file mode 100644 index 0000000000..fc0b4265c1 --- /dev/null +++ b/packages/arrays/bench/insert.ts @@ -0,0 +1,38 @@ +import { assert } from "@thi.ng/api"; +import { benchmark } from "@thi.ng/bench"; +import { SYSTEM } from "@thi.ng/random"; +import { insert, insertUnsafe } from "../src"; + +const opts = { iter: 1000, warmup: 100 }; + +const insertCopyWithin = (buf: any[], x: any, i: number, k = Infinity) => { + buf.length < k && buf.length++; + buf.copyWithin(i + 1, i); + buf[i] = x; + return buf; +}; + +const splice = (buf: any[], x: any, i: number, k = Infinity) => { + buf.splice(i, 0, x); + buf.length > k && buf.pop(); + return buf; +}; + +const run = ( + fn: typeof insert, + k: 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 = 8, + n = 1e4 +) => { + const buf: any[] = []; + const m = k - 1; + for (; --n >= 0; ) fn(buf, 1, SYSTEM.int() & m, k); + assert(buf.length === k, `len=${buf.length}`); +}; + +// prettier-ignore +for (let k of [4, 8, 16, 32, 64]) { + benchmark(() => run(splice, k), { title: `splice${k}`, ...opts }); + benchmark(() => run(insert, k), { title: `insert${k}`, ...opts }); + benchmark(() => run(insertUnsafe, k), { title: `insertUnsafe${k}`, ...opts }); + benchmark(() => run(insertCopyWithin, k), { title: `insertCopyWithin${k}`, ...opts }); +} diff --git a/packages/arrays/bench/tsconfig.json b/packages/arrays/bench/tsconfig.json new file mode 100644 index 0000000000..9655cbea10 --- /dev/null +++ b/packages/arrays/bench/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs", + "noUnusedLocals": false, + "noUnusedParameters": false + }, + "include": ["./**/*.ts", "../src/**/*.ts"] +} diff --git a/packages/arrays/package.json b/packages/arrays/package.json index d5f638fb1f..05f08a75a2 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/arrays", - "version": "0.9.1", + "version": "0.10.2", "description": "Array / Arraylike utilities", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/compare": "^1.3.22", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/random": "^2.1.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/compare": "^1.3.23", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/random": "^2.3.0" }, "files": [ "*.js", diff --git a/packages/arrays/src/binary-search.ts b/packages/arrays/src/binary-search.ts index 5ee840af47..bda59bb75d 100644 --- a/packages/arrays/src/binary-search.ts +++ b/packages/arrays/src/binary-search.ts @@ -86,6 +86,11 @@ export const binarySearchNumeric = ( return -low - 1; }; +export const binarySearch2 = (buf: ArrayLike, x: number) => { + let idx = buf[1] <= x ? 1 : 0; + return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1; +}; + /** * Non-recursive, optimized binary search for fixed size numeric arrays of 4 * values. Returns index of `x` or `-index-1` if not found. @@ -96,7 +101,7 @@ export const binarySearchNumeric = ( export const binarySearch4 = (buf: ArrayLike, x: number) => { let idx = buf[2] <= x ? 2 : 0; idx |= buf[idx + 1] <= x ? 1 : 0; - return buf[idx] === x ? idx : -idx - 1; + return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1; }; /** @@ -110,7 +115,7 @@ export const binarySearch8 = (buf: ArrayLike, x: number) => { let idx = buf[4] <= x ? 4 : 0; idx |= buf[idx + 2] <= x ? 2 : 0; idx |= buf[idx + 1] <= x ? 1 : 0; - return buf[idx] === x ? idx : -idx - 1; + return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1; }; /** @@ -125,7 +130,7 @@ export const binarySearch16 = (buf: ArrayLike, x: number) => { idx |= buf[idx + 4] <= x ? 4 : 0; idx |= buf[idx + 2] <= x ? 2 : 0; idx |= buf[idx + 1] <= x ? 1 : 0; - return buf[idx] === x ? idx : -idx - 1; + return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1; }; /** @@ -141,7 +146,7 @@ export const binarySearch32 = (buf: ArrayLike, x: number) => { idx |= buf[idx + 4] <= x ? 4 : 0; idx |= buf[idx + 2] <= x ? 2 : 0; idx |= buf[idx + 1] <= x ? 1 : 0; - return buf[idx] === x ? idx : -idx - 1; + return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1; }; /** diff --git a/packages/arrays/src/index.ts b/packages/arrays/src/index.ts index ffa20f967b..739c4ed3a2 100644 --- a/packages/arrays/src/index.ts +++ b/packages/arrays/src/index.ts @@ -8,6 +8,7 @@ export * from "./find"; export * from "./fill-range"; export * from "./fuzzy-match"; export * from "./is-sorted"; +export * from "./insert"; export * from "./into"; export * from "./iterator"; export * from "./levenshtein"; diff --git a/packages/arrays/src/insert.ts b/packages/arrays/src/insert.ts new file mode 100644 index 0000000000..b7fbeadbbd --- /dev/null +++ b/packages/arrays/src/insert.ts @@ -0,0 +1,36 @@ +/** + * Inserts `x` into `buf` at index `i` and ensures that array length doesn't + * grow beyond max `k` items (default: unbounded). + * + * @remarks + * The function will have no effect iff `i<0` or `i>=k` or `k<1`. If + * `buf.length` is larger than `k`, only the index range [i..k) will be + * modified. + * + * In benchmarking with 4, 8, 16, 32, 64 element arrays, this function is + * consistently 7-16x faster than `Array.prototype.copyWithin()` and 1.5-2x + * faster than `Array.prototype.splice()` (for sizes < ~32). See + * `/bench/insert.ts` + * + * @param buf + * @param x + * @param i + * @param k + */ +export const insert = (buf: T[], x: T, i: number, k = Infinity) => + i < 0 || i >= k || k < 1 ? buf : insertUnsafe(buf, x, i, k); + +/** + * Same as {@link insert} but without any bounds/index checks. + * + * @param buf + * @param x + * @param i + * @param k + */ +export const insertUnsafe = (buf: T[], x: T, i: number, k = Infinity) => { + let j = buf.length < k ? buf.length + 1 : k; + for (; --j > i; ) buf[j] = buf[j - 1]; + buf[i] = x; + return buf; +}; diff --git a/packages/arrays/tpl.readme.md b/packages/arrays/tpl.readme.md index 14384563c6..1244017d8a 100644 --- a/packages/arrays/tpl.readme.md +++ b/packages/arrays/tpl.readme.md @@ -37,17 +37,25 @@ ${examples} ${docLink} +- [arrayIterator()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/iterator.ts) - [binarySearch()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/binary-search.ts) +- [bisect()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/bisect.ts) - [endsWith()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/ends-with.ts) - [ensureArray()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/ensure-array.ts) - [ensureIterable()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/ensure-iterable.ts) +- [fillRange()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/fill-range.ts) +- [find()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/find.ts) - [fuzzyMatch()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/fuzzy-match.ts) +- [insert()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/insert.ts) +- [into()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/into.ts) - [isSorted()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/is-sorted.ts) +- [levenshtein()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/levenshtein.ts) - [multiSwap()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/swap.ts) - [peek()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/peek.ts) - [quickSort()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/quicksort.ts) - [shuffle()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/shuffle.ts) (w/ custom PRNG support) - [shuffleRange()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/shuffle.ts) (w/ custom PRNG support) +- [sortByCachedKey()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/sort-cached.ts) - [startsWith()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/starts-with.ts) - [swap()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/swap.ts) - [swizzle()](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays/src/swizzle.ts) diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 99d680f8ad..a9589b6b79 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,25 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.13...@thi.ng/associative@5.0.14) (2021-01-10) +# [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.17...@thi.ng/associative@5.1.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/associative +### Features - - - -## [5.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.12...@thi.ng/associative@5.0.13) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [5.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.11...@thi.ng/associative@5.0.12) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/associative +* **associative:** update meldApplyObj/meldObjWith() ([97dda16](https://github.com/thi-ng/umbrella/commit/97dda16a8766314b137c5af2d504eb599d6cf2c5)) diff --git a/packages/associative/README.md b/packages/associative/README.md index a3b8cceaa2..e05e0c2419 100644 --- a/packages/associative/README.md +++ b/packages/associative/README.md @@ -176,7 +176,7 @@ yarn add @thi.ng/associative ``` -Package sizes (gzipped, pre-treeshake): ESM: 6.24 KB / CJS: 6.43 KB / UMD: 6.21 KB +Package sizes (gzipped, pre-treeshake): ESM: 6.24 KB / CJS: 6.41 KB / UMD: 6.20 KB ## Dependencies diff --git a/packages/associative/package.json b/packages/associative/package.json index 8d65019428..3475f3cbb8 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "5.0.14", + "version": "5.1.0", "description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/compare": "^1.3.22", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5", + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/compare": "^1.3.23", + "@thi.ng/dcons": "^2.3.10", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers": "^7.6.0", "tslib": "2.0.1" }, "files": [ diff --git a/packages/associative/src/merge-apply.ts b/packages/associative/src/merge-apply.ts index 3022af4d40..007095e33c 100644 --- a/packages/associative/src/merge-apply.ts +++ b/packages/associative/src/merge-apply.ts @@ -1,5 +1,5 @@ import type { Fn, IObjectOf } from "@thi.ng/api"; -import { isFunction } from "@thi.ng/checks"; +import { isFunction, isIllegalKey } from "@thi.ng/checks"; import { copy } from "./utils"; /** @@ -68,7 +68,7 @@ export const meldApplyObj = ( xs: IObjectOf> ) => { for (let k in xs) { - if (k === "__proto__") continue; + if (isIllegalKey(k)) continue; const v = xs[k]; src[k] = isFunction(v) ? v(src[k]) : v; } diff --git a/packages/associative/src/merge-with.ts b/packages/associative/src/merge-with.ts index 3d220d5dc6..a8a02bce13 100644 --- a/packages/associative/src/merge-with.ts +++ b/packages/associative/src/merge-with.ts @@ -1,4 +1,5 @@ import type { Fn2, IObjectOf, Nullable } from "@thi.ng/api"; +import { isIllegalKey } from "@thi.ng/checks"; import { copy } from "./utils"; export const mergeMapWith = ( @@ -56,7 +57,7 @@ export const meldObjWith = ( for (let x of xs) { if (x != null) { for (let k in x) { - if (k === "__proto__") continue; + if (isIllegalKey(k)) continue; const v = x[k]; dest[k] = dest.hasOwnProperty(k) ? f(dest[k], v) : v; } diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index c363607a9e..67b5c45572 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.26...@thi.ng/atom@4.1.27) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.25...@thi.ng/atom@4.1.26) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.24...@thi.ng/atom@4.1.25) (2020-12-22) +## [4.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.27...@thi.ng/atom@4.1.28) (2021-02-20) **Note:** Version bump only for package @thi.ng/atom diff --git a/packages/atom/package.json b/packages/atom/package.json index 7c9acaf4b4..fc8cc39d3e 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "4.1.27", + "version": "4.1.28", "description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/paths": "^4.1.13", + "@thi.ng/api": "^7.0.0", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/paths": "^4.2.0", "tslib": "2.0.1" }, "files": [ diff --git a/packages/base-n/CHANGELOG.md b/packages/base-n/CHANGELOG.md new file mode 100644 index 0000000000..d98b56ccf8 --- /dev/null +++ b/packages/base-n/CHANGELOG.md @@ -0,0 +1,20 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/base-n@0.1.0...@thi.ng/base-n@0.1.1) (2021-02-20) + +**Note:** Version bump only for package @thi.ng/base-n + + + + + +# 0.1.0 (2021-01-13) + + +### Features + +* **base-n:** add en/decodeBytes(), add BASE16_XX ([d6205d7](https://github.com/thi-ng/umbrella/commit/d6205d72331bf038ebdc95c221763e2f794c10a9)) +* **base-n:** import as new pkg (MBP2010) ([f5763b3](https://github.com/thi-ng/umbrella/commit/f5763b3c6be87eb0e27a9239527283323c3e774c)) diff --git a/packages/base-n/LICENSE b/packages/base-n/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/base-n/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/base-n/README.md b/packages/base-n/README.md new file mode 100644 index 0000000000..865f85c0f6 --- /dev/null +++ b/packages/base-n/README.md @@ -0,0 +1,90 @@ + + +# ![base-n](https://media.thi.ng/umbrella/banners/thing-base-n.svg?4cffdce7) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/base-n.svg)](https://www.npmjs.com/package/@thi.ng/base-n) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/base-n.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + +- [About](#about) + - [Status](#status) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [API](#api) +- [Authors](#authors) +- [License](#license) + +## About + +Arbitrary base-n conversions w/ presets for base16/32/36/58/62/64/85, support for arrays & bigints. + +### Status + +**BETA** - possibly breaking changes forthcoming + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bbase-n%5D+in%3Atitle) + +## Installation + +```bash +yarn add @thi.ng/base-n +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 789 bytes / CJS: 892 bytes / UMD: 970 bytes + +## Dependencies + +- [@thi.ng/hex](https://github.com/thi-ng/umbrella/tree/develop/packages/hex) + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/base-n/) + +```ts +import { BASE85, defBase } from "@thi.ng/base-n"; + +BASE85.encodeBigInt(2n ** 128n - 1); +// '=r54lj&NUUO~Hi%c2ym0' + +BASE85.decodeBigInt("=r54lj&NUUO~Hi%c2ym0").toString(16); +// 'ffffffffffffffffffffffffffffffff' + +// define a custom base impl +const ternary = defBase("012"); + +ternary.encode(12345678) +// '212020020002100' + +ternary.decode("212020020002100"); +// 12345678 +``` + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-base-n, + title = "@thi.ng/base-n", + author = "Karsten Schmidt", + note = "https://thi.ng/base-n", + year = 2017 +} +``` + +## License + +© 2017 - 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/base-n/api-extractor.json b/packages/base-n/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/base-n/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/base-n/package.json b/packages/base-n/package.json new file mode 100644 index 0000000000..b4cccb437a --- /dev/null +++ b/packages/base-n/package.json @@ -0,0 +1,84 @@ +{ + "name": "@thi.ng/base-n", + "version": "0.1.1", + "description": "Arbitrary base-n conversions w/ presets for base16/32/36/58/62/64/85, support for arrays & bigints", + "module": "./index.js", + "main": "./lib/index.js", + "umd:main": "./lib/index.umd.js", + "typings": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/thi-ng/umbrella.git" + }, + "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/base-n#readme", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/postspectacular" + }, + { + "type": "patreon", + "url": "https://patreon.com/thing_umbrella" + } + ], + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module", + "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all", + "build:es6": "tsc --declaration", + "build:test": "rimraf build && tsc -p test/tsconfig.json", + "build:check": "tsc --isolatedModules --noEmit", + "test": "mocha test", + "cover": "nyc mocha test && nyc report --reporter=lcov", + "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", + "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", + "doc": "node_modules/.bin/typedoc --out doc --theme ../../tools/doc/typedoc-theme src/index.ts", + "pub": "yarn build:release && yarn publish --access public" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@microsoft/api-extractor": "^7.12.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^8.3.0", + "nyc": "^15.1.0", + "ts-node": "^9.1.1", + "typedoc": "^0.20.26", + "typescript": "^4.1.5" + }, + "dependencies": { + "@thi.ng/hex": "^0.2.0" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "array", + "base16", + "base32", + "base36", + "base58", + "base62", + "base64", + "base85", + "bigint", + "binary", + "conversion", + "encode", + "decode", + "string", + "typescript" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "status": "beta", + "year": 2017 + } +} diff --git a/packages/base-n/src/16.ts b/packages/base-n/src/16.ts new file mode 100644 index 0000000000..bedfd6fb0c --- /dev/null +++ b/packages/base-n/src/16.ts @@ -0,0 +1,11 @@ +import { defBase } from "./base"; + +/** + * Digits: 0-9 A-F + */ +export const BASE16_UC = defBase("0123456789ABCDEF"); + +/** + * Digits: 0-9 a-f + */ +export const BASE16_LC = defBase("0123456789abcdef"); diff --git a/packages/base-n/src/32.ts b/packages/base-n/src/32.ts new file mode 100644 index 0000000000..0a2e131451 --- /dev/null +++ b/packages/base-n/src/32.ts @@ -0,0 +1,17 @@ +import { defBase } from "./base"; + +/** + * Digits: A-Z 2-7 + * + * @remarks + * Reference: https://tools.ietf.org/html/rfc4648 + */ +export const BASE32_RFC4648 = defBase("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"); + +/** + * Digits: 0-9 A-V + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base32#base32hex + */ +export const BASE32_HEX = defBase("0123456789ABCDEFGHIJKLMNOPQRSTUV"); diff --git a/packages/base-n/src/36.ts b/packages/base-n/src/36.ts new file mode 100644 index 0000000000..99f02821ae --- /dev/null +++ b/packages/base-n/src/36.ts @@ -0,0 +1,11 @@ +import { defBase } from "./base"; + +export const B36_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + +/** + * Digits: 0-9 A-Z + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base36 + */ +export const BASE36 = defBase(B36_CHARS); diff --git a/packages/base-n/src/58.ts b/packages/base-n/src/58.ts new file mode 100644 index 0000000000..70ae485c16 --- /dev/null +++ b/packages/base-n/src/58.ts @@ -0,0 +1,9 @@ +import { defBase } from "./base"; + +export const B58_CHARS = + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; + +/** + * Reference: https://en.wikipedia.org/wiki/Binary-to-text_encoding + */ +export const BASE58 = defBase(B58_CHARS); diff --git a/packages/base-n/src/62.ts b/packages/base-n/src/62.ts new file mode 100644 index 0000000000..e88f53535f --- /dev/null +++ b/packages/base-n/src/62.ts @@ -0,0 +1,12 @@ +import { B36_CHARS } from "./36"; +import { defBase } from "./base"; + +export const B62_CHARS = B36_CHARS + "abcdefghijklmnopqrstuvwxyz"; + +/** + * Digits: 0-9 A-Z a-z + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base62 + */ +export const BASE62 = defBase(B62_CHARS); diff --git a/packages/base-n/src/64.ts b/packages/base-n/src/64.ts new file mode 100644 index 0000000000..4a55b453a2 --- /dev/null +++ b/packages/base-n/src/64.ts @@ -0,0 +1,12 @@ +import { B62_CHARS } from "./62"; +import { defBase } from "./base"; + +export const B64_CHARS = B62_CHARS + "+/"; + +/** + * Digits: 0-9 A-Z a-z + / + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base64 + */ +export const BASE64 = defBase(B64_CHARS); diff --git a/packages/base-n/src/85.ts b/packages/base-n/src/85.ts new file mode 100644 index 0000000000..64f0ab28b2 --- /dev/null +++ b/packages/base-n/src/85.ts @@ -0,0 +1,9 @@ +import { B62_CHARS } from "./62"; +import { defBase } from "./base"; + +const B85_CHARS = B62_CHARS + "!#$%&()*+-;<=>?@^_`{|}~"; + +/** + * Reference: https://en.wikipedia.org/wiki/Ascii85 + */ +export const BASE85 = defBase(B85_CHARS); diff --git a/packages/base-n/src/api.ts b/packages/base-n/src/api.ts new file mode 100644 index 0000000000..fd3b64b489 --- /dev/null +++ b/packages/base-n/src/api.ts @@ -0,0 +1,48 @@ +export interface IBase { + readonly N: number; + readonly base: string; + + /** + * Encodes `x` into a baseN encoded string. `x` MUST be < 2^53. Use + * `encodeBigInt()` for arbitrary values. + * + * @param x + */ + encode(x: number): string; + /** + * Encodes bigint `x` into a baseN encoded string. + * + * @param x + */ + encodeBigInt(x: bigint): string; + + /** + * Encodes given byte array into a bigint and then baseN encodes it. + * + * @param buf + */ + encodeBytes(buf: Uint8Array): string; + + /** + * Decodes baseN encoded string `x` into a numeric value. Assumes the + * resulting `x` will be < 2^53. Use `decodeBigInt()` for arbitrary values. + * + * @param x + */ + decode(x: string): number; + /** + * Decodes baseN encoded string `x` into a bigint value. + * + * @param x + */ + decodeBigInt(x: string): bigint; + /** + * Decodes given string in a byte array. The byte values will be big endian + * order, with the LSB aligned to end of the given array. If `buf` is + * shorter than the space required by the encoded source string, the most + * significant bytes will be ignored. + * + * @param buf + */ + decodeBytes(x: string, buf: Uint8Array): Uint8Array; +} diff --git a/packages/base-n/src/base.ts b/packages/base-n/src/base.ts new file mode 100644 index 0000000000..b13886cc45 --- /dev/null +++ b/packages/base-n/src/base.ts @@ -0,0 +1,85 @@ +import { U8 } from "@thi.ng/hex"; +import type { IBase } from "./api"; + +export const defBase = (chars: string) => new BaseN(chars); + +export class BaseN implements IBase { + readonly N: number; + readonly index: Record; + + constructor(public readonly base: string) { + this.N = base.length; + this.index = [...base].reduce( + (acc, x, i) => ((acc[x] = i), acc), + >{} + ); + } + + encode(x: number) { + const { base, N } = this; + if (x === 0) return base[0]; + let res = ""; + while (x > 0) { + res = base[x % N] + res; + x = (x / N) | 0; + } + return res; + } + + encodeBigInt(x: bigint) { + if (x < BigInt(2 ** 53)) return this.encode(Number(x)); + const { base, N } = this; + if (x === BigInt(0)) return base[0]; + const NN = BigInt(N); + let res = ""; + while (x > 0) { + res = base[Number(x % NN)] + res; + x /= NN; + } + return res; + } + + encodeBytes(buf: Uint8Array) { + let hex = ""; + for (let i = 0, n = buf.length; i < n; i++) hex += U8(buf[i]); + return this.encodeBigInt(BigInt(`0x${hex}`)); + } + + decode(x: string) { + const { index, N } = this; + let res = 0; + for (let n = x.length - 1, i = 0; i <= n; i++) { + res += index[x[i]] * N ** (n - i); + } + return res; + } + + decodeBigInt(x: string): bigint { + const { index, N } = this; + const NN = BigInt(N); + let res = BigInt(0); + for (let n = x.length - 1, i = 0; i <= n; i++) { + res += BigInt(index[x[i]]) * NN ** BigInt(n - i); + } + return res; + } + + decodeBytes(x: string, buf: Uint8Array): Uint8Array { + let y = this.decodeBigInt(x); + const M = BigInt(255); + const SHIFT = BigInt(8); + for (let i = buf.length; --i >= 0; ) { + buf[i] = Number(y & M); + y >>= SHIFT; + } + return buf; + } + + validate(x: string) { + return new RegExp(`^[${this.base}]+$`).test(x); + } + + size(x: number) { + return Math.ceil(Math.log(x) / Math.log(this.N)); + } +} diff --git a/packages/base-n/src/index.ts b/packages/base-n/src/index.ts new file mode 100644 index 0000000000..a58466b41d --- /dev/null +++ b/packages/base-n/src/index.ts @@ -0,0 +1,10 @@ +export * from "./api"; +export * from "./base"; + +export * from "./16"; +export * from "./32"; +export * from "./36"; +export * from "./58"; +export * from "./62"; +export * from "./64"; +export * from "./85"; diff --git a/packages/base-n/test/index.ts b/packages/base-n/test/index.ts new file mode 100644 index 0000000000..a9234eccfb --- /dev/null +++ b/packages/base-n/test/index.ts @@ -0,0 +1,34 @@ +import * as assert from "assert"; +import { + BASE32_HEX, + BASE32_RFC4648, + BASE36, + BASE58, + BASE62, + BASE64, + BASE85, + IBase, +} from "../src"; + +describe("base-n", () => { + it("roundtrip", () => { + const X = BigInt(2) ** BigInt(128) - BigInt(1); + + const check = ( + base: IBase, + expected: string, + id: string | number = base.N + ) => { + assert.strictEqual(base.encodeBigInt(X), expected, `encode: ${id}`); + assert.strictEqual(base.decodeBigInt(expected), X, `decode: ${id}`); + }; + + check(BASE32_RFC4648, "H7777777777777777777777777", "32rfc"); + check(BASE32_HEX, "7VVVVVVVVVVVVVVVVVVVVVVVVV", "32hex"); + check(BASE36, "F5LXX1ZZ5PNORYNQGLHZMSP33"); + check(BASE58, "YcVfxkQb6JRzqk5kF2tNLv"); + check(BASE62, "7n42DGM5Tflk9n8mt7Fhc7"); + check(BASE64, "3/////////////////////"); + check(BASE85, "=r54lj&NUUO~Hi%c2ym0"); + }); +}); diff --git a/packages/base-n/test/tsconfig.json b/packages/base-n/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/base-n/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/base-n/tpl.readme.md b/packages/base-n/tpl.readme.md new file mode 100644 index 0000000000..4319daa09e --- /dev/null +++ b/packages/base-n/tpl.readme.md @@ -0,0 +1,67 @@ +# ${pkg.banner} + +[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name}) +![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + + + +## About + +${pkg.description} + +${status} + +${supportPackages} + +${relatedPackages} + +${blogPosts} + +## Installation + +${pkg.install} + +${pkg.size} + +## Dependencies + +${pkg.deps} + +${examples} + +## API + +${docLink} + +```ts +import { BASE85, defBase } from "@thi.ng/base-n"; + +BASE85.encodeBigInt(2n ** 128n - 1); +// '=r54lj&NUUO~Hi%c2ym0' + +BASE85.decodeBigInt("=r54lj&NUUO~Hi%c2ym0").toString(16); +// 'ffffffffffffffffffffffffffffffff' + +// define a custom base impl +const ternary = defBase("012"); + +ternary.encode(12345678) +// '212020020002100' + +ternary.decode("212020020002100"); +// 12345678 +``` + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/base-n/tsconfig.json b/packages/base-n/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/base-n/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md index 5a9ce6bc1b..ee3ed9a893 100644 --- a/packages/bench/CHANGELOG.md +++ b/packages/bench/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.25...@thi.ng/bench@2.0.26) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.24...@thi.ng/bench@2.0.25) (2020-12-22) +## [2.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.26...@thi.ng/bench@2.0.27) (2021-02-20) **Note:** Version bump only for package @thi.ng/bench diff --git a/packages/bench/package.json b/packages/bench/package.json index 568652971e..32e9531461 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bench", - "version": "2.0.26", + "version": "2.0.27", "description": "Benchmarking utilities w/ optional statistics", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index c6542261a1..66589e34a9 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.45...@thi.ng/bencode@0.3.46) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.44...@thi.ng/bencode@0.3.45) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.43...@thi.ng/bencode@0.3.44) (2020-12-22) +## [0.3.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.49...@thi.ng/bencode@0.3.50) (2021-02-20) **Note:** Version bump only for package @thi.ng/bencode diff --git a/packages/bencode/package.json b/packages/bencode/package.json index c9c70015e1..546a5b410a 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bencode", - "version": "0.3.46", + "version": "0.3.50", "description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/transducers-binary": "^0.6.6" }, "files": [ "*.js", diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md index 6c4cf2a425..4631612cef 100644 --- a/packages/binary/CHANGELOG.md +++ b/packages/binary/CHANGELOG.md @@ -3,17 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.20...@thi.ng/binary@2.0.21) (2021-01-02) +# [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.21...@thi.ng/binary@2.1.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/binary +### Features - - - -## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.19...@thi.ng/binary@2.0.20) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/binary +* **binary:** add interleave4_12_24/4_16_32() ([89044d2](https://github.com/thi-ng/umbrella/commit/89044d2dfe4035028729fff4d9e7c890bdb008ff)) +* **binary:** add MSB_BITS8/16/32 LUTs ([e0eb47b](https://github.com/thi-ng/umbrella/commit/e0eb47bf4293832347b99a6706d257b391fd31b9)) +* **binary:** add swapLane02/13 ([2e45f48](https://github.com/thi-ng/umbrella/commit/2e45f48e946aa09943b01b4a7b7a9daee9e520ca)) diff --git a/packages/binary/README.md b/packages/binary/README.md index 6f36dd14bd..5553c2b53a 100644 --- a/packages/binary/README.md +++ b/packages/binary/README.md @@ -20,7 +20,7 @@ This project is part of the ## About -95+ assorted binary / bitwise operations, conversions, utilities. +100+ assorted binary / bitwise operations, conversions, utilities, lookup tables. ### Status @@ -42,7 +42,7 @@ yarn add @thi.ng/binary ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.88 KB / CJS: 2.19 KB / UMD: 1.87 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.02 KB / CJS: 2.36 KB / UMD: 2.01 KB ## Dependencies diff --git a/packages/binary/package.json b/packages/binary/package.json index 2f0ae264e2..dfe98e046b 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/binary", - "version": "2.0.21", - "description": "95+ assorted binary / bitwise operations, conversions, utilities", + "version": "2.1.0", + "description": "100+ assorted binary / bitwise operations, conversions, utilities, lookup tables", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", @@ -61,10 +61,17 @@ "binary", "bitwise", "conversion", + "count", + "float", "graycode", + "int", "logic", + "lut", + "mask", "math", + "shift", "splat", + "swap", "swizzle", "typedarray", "typescript" diff --git a/packages/binary/src/constants.ts b/packages/binary/src/constants.ts index 8fbecfa8de..c23db8c61f 100644 --- a/packages/binary/src/constants.ts +++ b/packages/binary/src/constants.ts @@ -1 +1,18 @@ +const defBits = (n: number) => + new Array(n).fill(0).map((_, i) => 1 << (n - 1 - i)); +/** + * 8bit values in MSB order (i.e. MSB_BITS[0] = 0x80) + */ +export const MSB_BITS8 = defBits(8); + +/** + * 16bit values in MSB order (i.e. MSB_BITS[0] = 0x8000) + */ +export const MSB_BITS16 = defBits(16); + +/** + * 32bit values in MSB order (i.e. MSB_BITS[0] = 0x80000000) + */ +export const MSB_BITS32 = defBits(32); + export const MASKS = new Array(33).fill(0).map((_, i) => Math.pow(2, i) - 1); diff --git a/packages/binary/src/splat.ts b/packages/binary/src/splat.ts index e466076cc0..330315dff1 100644 --- a/packages/binary/src/splat.ts +++ b/packages/binary/src/splat.ts @@ -48,3 +48,23 @@ export const same4 = (x: number) => ((x >> 4) & 0xf) === (x & 0xf); * @param x - */ export const same8 = (x: number) => ((x >> 8) & 0xff) === (x & 0xff); + +/** + * Expands 3x4bit value like `0xabc` to 24bits: `0xaabbcc` + * + * @param x + */ +export const interleave4_12_24 = (x: number) => + ((x & 0xf00) * 0x1100) | ((x & 0xf0) * 0x110) | ((x & 0xf) * 0x11); + +/** + * Expands 4x4bit value like `0xabcd` to 32bits: `0xaabbccdd` + * + * @param x + */ +export const interleave4_16_32 = (x: number) => + (((x & 0xf000) * 0x11000) | + ((x & 0xf00) * 0x1100) | + ((x & 0xf0) * 0x110) | + ((x & 0xf) * 0x11)) >>> + 0; diff --git a/packages/binary/src/swizzle.ts b/packages/binary/src/swizzle.ts index d5807f1023..c6ccc5d697 100644 --- a/packages/binary/src/swizzle.ts +++ b/packages/binary/src/swizzle.ts @@ -196,3 +196,19 @@ export const flip16: FnN = (x) => mux(x << 16, x >>> 16, 0xffff); * @deprecated renamed to {@link flip8} */ export const flipBytes = flip8; + +/** + * Swaps bytes lanes 0 & 2 (i.e. bits 24-31 with bits 8-15) + * + * @param x + */ +export const swapLane02: FnN = (x) => + ((x & 0xff00) << 16) | ((x >>> 16) & 0xff00) | (x & 0x00ff00ff); + +/** + * Swaps bytes lanes 1 & 3 (i.e. bits 16-23 with bits 0-7) + * + * @param x + */ +export const swapLane13: FnN = (x) => + ((x & 0xff) << 16) | ((x >> 16) & 0xff) | (x & 0xff00ff00); diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index b95c109aad..fdbb2aed7f 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -3,33 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.28...@thi.ng/bitfield@0.3.29) (2021-01-10) +# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.30...@thi.ng/bitfield@0.4.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.27...@thi.ng/bitfield@0.3.28) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.26...@thi.ng/bitfield@0.3.27) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/bitfield +### Features +* **bitfield:** add row/column extracts, popcounts, rename factories ([0c4c112](https://github.com/thi-ng/umbrella/commit/0c4c1127cbb9bd6fb071837adef2d7b65e2de533)) +### BREAKING CHANGES -## [0.3.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.25...@thi.ng/bitfield@0.3.26) (2020-12-22) +* **bitfield:** rename factory fns to follow umbrella-wide naming conventions -**Note:** Version bump only for package @thi.ng/bitfield +- rename bitField() => defBitField() +- rename bitMatrix() => defBitMatrix() +- add BitMatrix.row()/column() bitfield extraction +- add BitMatrix.popCountRow/Column() +- add BitField.popCount() +- update masks in bit accessors +- update BitField ctor & accessors to allow numbers (not just booleans) diff --git a/packages/bitfield/README.md b/packages/bitfield/README.md index a9bbd9553b..de0f39d584 100644 --- a/packages/bitfield/README.md +++ b/packages/bitfield/README.md @@ -44,7 +44,7 @@ yarn add @thi.ng/bitfield ``` -Package sizes (gzipped, pre-treeshake): ESM: 947 bytes / CJS: 1008 bytes / UMD: 1.08 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.17 KB / CJS: 1.22 KB / UMD: 1.31 KB ## Dependencies diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 2bd623d26f..71ac461a08 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitfield", - "version": "0.3.29", + "version": "0.4.0", "description": "1D / 2D bit field implementations", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/strings": "^1.15.0" }, "files": [ "*.js", diff --git a/packages/bitfield/src/bitfield.ts b/packages/bitfield/src/bitfield.ts index d0493448b4..c055528b9b 100644 --- a/packages/bitfield/src/bitfield.ts +++ b/packages/bitfield/src/bitfield.ts @@ -1,6 +1,6 @@ import { assert, Fn2, IClear, ICopy } from "@thi.ng/api"; import { align, bitAnd, bitNot, bitOr, bitXor } from "@thi.ng/binary"; -import { binOp, toString } from "./util"; +import { binOp, popCount, toString } from "./util"; /** * 1D bit field, backed by a Uint32Array. Hence size is always rounded @@ -10,7 +10,7 @@ export class BitField implements IClear, ICopy { data: Uint32Array; n: number; - constructor(bits: number | string | ArrayLike) { + constructor(bits: number | string | ArrayLike) { const isNumber = typeof bits === "number"; this.n = align(isNumber ? bits : (bits).length, 32); this.data = new Uint32Array(this.n >>> 5); @@ -50,7 +50,7 @@ export class BitField implements IClear, ICopy { * @param n - bit number */ at(n: number) { - return this.data[n >>> 5] & (0x80000000 >>> (n & 31)); + return this.data[n >>> 5] & (1 << (~n & 31)); } /** @@ -60,9 +60,9 @@ export class BitField implements IClear, ICopy { * @param n - bit number * @param v - new bit value */ - setAt(n: number, v = true) { + setAt(n: number, v: boolean | number = true) { const id = n >>> 5; - const mask = 0x80000000 >>> (n & 31); + const mask = 1 << (~n & 31); const r = this.data[id] & mask; if (v) { this.data[id] |= mask; @@ -79,14 +79,14 @@ export class BitField implements IClear, ICopy { * @param start - * @param vals - */ - setRange(start: number, vals: string | ArrayLike) { + setRange(start: number, vals: string | ArrayLike) { const isString = typeof vals === "string"; - for (let i = 0, n = vals.length; i < n; i++) { + for (let i = 0, n = Math.min(this.n, i + vals.length); i < n; i++) { this.setAt( start + i, isString ? (vals)[i] === "1" - : (>vals)[i] + : (>vals)[i] ); } } @@ -99,7 +99,7 @@ export class BitField implements IClear, ICopy { */ toggleAt(n: number) { const id = n >>> 5; - const mask = 0x80000000 >>> (n & 31); + const mask = 1 << (~n & 31); const r = this.data[id] & mask; if (r) { this.data[id] &= ~mask; @@ -109,6 +109,13 @@ export class BitField implements IClear, ICopy { return r; } + /** + * Returns number of set bits (1's) in the bitfield. + */ + popCount() { + return popCount(this.data); + } + and(field: BitField) { return this.binOp(field, bitAnd); } @@ -140,5 +147,6 @@ export class BitField implements IClear, ICopy { } } -export const bitField = (bits: number | string | ArrayLike) => - new BitField(bits); +export const defBitField = ( + bits: number | string | ArrayLike +) => new BitField(bits); diff --git a/packages/bitfield/src/bitmatrix.ts b/packages/bitfield/src/bitmatrix.ts index ce9b815184..59520861e4 100644 --- a/packages/bitfield/src/bitmatrix.ts +++ b/packages/bitfield/src/bitmatrix.ts @@ -1,6 +1,7 @@ import { assert, Fn2, IClear, ICopy } from "@thi.ng/api"; import { align, bitAnd, bitNot, bitOr, bitXor } from "@thi.ng/binary"; -import { binOp, toString } from "./util"; +import { BitField } from "./bitfield"; +import { binOp, popCount, toString } from "./util"; /** * MxN row-major 2D bit matrix, backed by a Uint32Array. Hence the width @@ -66,9 +67,7 @@ export class BitMatrix implements IClear, ICopy { * @param n - column */ at(m: number, n: number) { - return ( - this.data[(n >>> 5) + m * this.stride] & (0x80000000 >>> (n & 31)) - ); + return this.data[(n >>> 5) + m * this.stride] & (1 << (~n & 31)); } /** @@ -79,9 +78,9 @@ export class BitMatrix implements IClear, ICopy { * @param n - column * @param v - bit value */ - setAt(m: number, n: number, v = true) { + setAt(m: number, n: number, v: boolean | number = true) { const id = (n >>> 5) + m * this.stride; - const mask = 0x80000000 >>> (n & 31); + const mask = 1 << (~n & 31); const r = this.data[id] & mask; if (v) { this.data[id] |= mask; @@ -100,7 +99,7 @@ export class BitMatrix implements IClear, ICopy { */ toggleAt(m: number, n: number) { const id = (n >>> 5) + m * this.stride; - const mask = 0x80000000 >>> (n & 31); + const mask = 1 << (~n & 31); const r = this.data[id] & mask; if (r) { this.data[id] &= ~mask; @@ -126,6 +125,42 @@ export class BitMatrix implements IClear, ICopy { return this.binOp(this, bitNot); } + popCountRow(m: number) { + this.ensureRow(m); + m *= this.stride; + return popCount(this.data.subarray(m, m + this.stride)); + } + + popCountColumn(n: number) { + this.ensureColumn(n); + const { data, stride, m } = this; + const mask = 1 << (~n & 31); + let res = 0; + for (let i = n >>> 5, j = 0; j < m; i += stride, j++) { + data[i] & mask && res++; + } + return res; + } + + row(m: number) { + this.ensureRow(m); + const row = new BitField(this.n); + m *= this.stride; + row.data.set(this.data.subarray(m, m + this.stride)); + return row; + } + + column(n: number) { + this.ensureColumn(n); + const { data, stride, m } = this; + const column = new BitField(m); + const mask = 1 << (~n & 31); + for (let i = n >>> 5, j = 0; j < m; i += stride, j++) { + data[i] & mask && column.setAt(j); + } + return column; + } + toString() { const res: string[] = []; for (let i = 0, j = 0, s = this.stride; i < this.m; i++, j += s) { @@ -146,7 +181,15 @@ export class BitMatrix implements IClear, ICopy { `matrices must be same size` ); } + + protected ensureRow(m: number) { + assert(m >= 0 && m < this.m, `row index out of range: ${m}`); + } + + protected ensureColumn(n: number) { + assert(n >= 0 && n < this.n, `column index out of range: ${n}`); + } } -export const bitMatrix = (rows: number, cols = rows) => +export const defBitMatrix = (rows: number, cols = rows) => new BitMatrix(rows, cols); diff --git a/packages/bitfield/src/util.ts b/packages/bitfield/src/util.ts index 2f51117bdd..7b2c527a65 100644 --- a/packages/bitfield/src/util.ts +++ b/packages/bitfield/src/util.ts @@ -1,3 +1,4 @@ +import { popCount as $popCount } from "@thi.ng/binary"; import { B32 } from "@thi.ng/strings"; import type { Fn2 } from "@thi.ng/api"; @@ -24,3 +25,21 @@ export const binOp = ( ) => { for (let i = src.length; --i >= 0; ) dest[i] = op(src[i], dest[i]); }; + +/** + * Returns number of set bits (1's) in the given array (index range). + * + * @param data + * @param i + * @param n + * + * @internal + **/ +export const popCount = (data: Uint32Array, i = 0, n = data.length) => { + let num = 0; + for (let m = i + n; i < m; i++) { + const x = data[i]; + x > 0 && (num += $popCount(x)); + } + return num; +}; diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md index e811d6051a..b3e364532e 100644 --- a/packages/bitstream/CHANGELOG.md +++ b/packages/bitstream/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.30...@thi.ng/bitstream@1.1.31) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.29...@thi.ng/bitstream@1.1.30) (2020-12-22) +## [1.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.31...@thi.ng/bitstream@1.1.32) (2021-02-20) **Note:** Version bump only for package @thi.ng/bitstream diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index ec2392fc22..e516f354a9 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitstream", - "version": "1.1.31", + "version": "1.1.32", "description": "ES6 iterator based read/write bit streams with support for variable word widths", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/errors": "^1.2.26" + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index b0898534c8..eed647b270 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.65...@thi.ng/cache@1.0.66) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.64...@thi.ng/cache@1.0.65) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.63...@thi.ng/cache@1.0.64) (2020-12-22) +## [1.0.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.69...@thi.ng/cache@1.0.70) (2021-02-20) **Note:** Version bump only for package @thi.ng/cache diff --git a/packages/cache/package.json b/packages/cache/package.json index 19279d4f67..27b20f1091 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "1.0.66", + "version": "1.0.70", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/dcons": "^2.3.10", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md index f44ffe3b54..137b7a7945 100644 --- a/packages/checks/CHANGELOG.md +++ b/packages/checks/CHANGELOG.md @@ -3,28 +3,24 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [2.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.7.13...@thi.ng/checks@2.8.0) (2021-01-10) +# [2.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.8.0...@thi.ng/checks@2.9.0) (2021-02-20) ### Features -* **checks:** add isNumericInt/Float() checks ([7e054c1](https://github.com/thi-ng/umbrella/commit/7e054c14b06850800869ba0bc8c8174e233dda53)) - - - +* **checks:** add isIllegalKey() (make public) ([507fc80](https://github.com/thi-ng/umbrella/commit/507fc806903e766e42a98ddd569ba4031925204b)) +* **checks:** replace isPrototypePolluted() w/ isProtoPath() ([d276b84](https://github.com/thi-ng/umbrella/commit/d276b8465eda21a32f3613d20c043ea50fce7f57)) -## [2.7.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.7.12...@thi.ng/checks@2.7.13) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/checks +# [2.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.7.13...@thi.ng/checks@2.8.0) (2021-01-10) -## [2.7.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.7.11...@thi.ng/checks@2.7.12) (2020-12-22) +### Features -**Note:** Version bump only for package @thi.ng/checks +* **checks:** add isNumericInt/Float() checks ([7e054c1](https://github.com/thi-ng/umbrella/commit/7e054c14b06850800869ba0bc8c8174e233dda53)) diff --git a/packages/checks/README.md b/packages/checks/README.md index a4993877c2..e91f92929a 100644 --- a/packages/checks/README.md +++ b/packages/checks/README.md @@ -43,7 +43,7 @@ yarn add @thi.ng/checks ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.47 KB / CJS: 1.73 KB / UMD: 1.46 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.63 KB / CJS: 1.89 KB / UMD: 1.59 KB ## Dependencies diff --git a/packages/checks/package.json b/packages/checks/package.json index dbfa8cfe07..8e0f890f94 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/checks", - "version": "2.8.0", + "version": "2.9.0", "description": "Collection of 50+ type, feature & value checks", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { "tslib": "2.0.1" diff --git a/packages/checks/src/index.ts b/packages/checks/src/index.ts index cff744c075..0e9ec6167c 100644 --- a/packages/checks/src/index.ts +++ b/packages/checks/src/index.ts @@ -49,6 +49,7 @@ export * from "./is-positive"; export * from "./is-primitive"; export * from "./is-promise"; export * from "./is-promiselike"; +export * from "./is-proto-path"; export * from "./is-regexp"; export * from "./is-safari"; export * from "./is-set"; diff --git a/packages/checks/src/is-proto-path.ts b/packages/checks/src/is-proto-path.ts new file mode 100644 index 0000000000..5c8b23d010 --- /dev/null +++ b/packages/checks/src/is-proto-path.ts @@ -0,0 +1,39 @@ +import { isArray } from "./is-array"; +import { isString } from "./is-string"; + +const ILLEGAL_KEYS = new Set(["__proto__", "prototype", "constructor"]); + +/** + * Returns true, if given `x` is an illegal object key as per + * {@link ILLEGAL_KEYS}. + * + * @see {@link isProtoPath} for more details + * + * @param x + */ +export const isIllegalKey = (x: any) => ILLEGAL_KEYS.has(x); + +/** + * Returns true if given `path` contains any {@link ILLEGAL_KEYS}, i.e. could be + * used to poison the prototype chain of an object. + * + * @remarks + * If given an array, each item is considered a single sub-path property and + * will be checked as is. If given a string it will be split using "." as + * delimiter and each item checked as is (same way array paths are handled). + * + * Original discussion here, implementation updated to be more encompassing: + * https://github.com/thi-ng/umbrella/pull/273 + * + * @param path + */ +export const isProtoPath = ( + path: string | number | readonly (string | number)[] +) => + isArray(path) + ? path.some(isIllegalKey) + : isString(path) + ? path.indexOf(".") !== -1 + ? path.split(".").some(isIllegalKey) + : isIllegalKey(path) + : false; diff --git a/packages/checks/test/index.ts b/packages/checks/test/index.ts index 4270d2d127..cb0d72576f 100644 --- a/packages/checks/test/index.ts +++ b/packages/checks/test/index.ts @@ -10,6 +10,7 @@ import { isNil, isObject, isPlainObject, + isProtoPath, isString, isSymbol, isTransferable, @@ -192,4 +193,20 @@ describe("checks", function () { assert.ok(!isHexColor("hi #ff3300 hi"), "invalid: hi #ff3300 hi"); assert.ok(!isHexColor("#123 #123"), "invalid: #123 #123"); }); + + it("isProtoPath", () => { + assert.ok(!isProtoPath("foo.__proto.bar"), "0"); + assert.ok(!isProtoPath("foo.bar"), "1"); + assert.ok(!isProtoPath(""), "2"); + assert.ok(isProtoPath("__proto__"), "3"); + assert.ok(isProtoPath("prototype"), "4"); + assert.ok(isProtoPath("constructor"), "5"); + assert.ok(isProtoPath("foo.__proto__.bar"), "6"); + assert.ok(!isProtoPath([]), "7"); + assert.ok(!isProtoPath([""]), "8"); + assert.ok(!isProtoPath(["foo", 23]), "9"); + assert.ok(!isProtoPath(["prototype.foo"]), "10"); + assert.ok(isProtoPath(["__proto__"]), "11"); + assert.ok(isProtoPath(["foo", "__proto__", "bar"]), "12"); + }); }); diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index f5c674a912..ae63f04978 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,17 +3,130 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@2.1.1...@thi.ng/color@2.1.2) (2021-01-10) +# [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@2.1.5...@thi.ng/color@3.0.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/color +### Bug Fixes + +* **color:** div-by-zero in XYY<>XYZ conversions ([8a71c6e](https://github.com/thi-ng/umbrella/commit/8a71c6ec25766967c20e27cfd6a0d44abde85a57)) +* **color:** don't clamp Oklab/XYZ<>RGB conversions ([fab3639](https://github.com/thi-ng/umbrella/commit/fab3639ec59d8346752bb8a3831e9fac8d1663f7)) +* **color:** fix resolveAsCSS() ([7b1eeff](https://github.com/thi-ng/umbrella/commit/7b1eeff17003229b9d38705dbee8e7da790699a1)) +* **color:** fix typo in parseHex, update parse helpers ([a7315c0](https://github.com/thi-ng/umbrella/commit/a7315c0545bc4ef55f05a3b909f113fb9ca98041)) +* **color:** kelvinRgb() results are sRGB ([31cd4b5](https://github.com/thi-ng/umbrella/commit/31cd4b5af37d72c0eded08c2e5bf9a520dcdd400)) +* **color:** normalize LCH hue channel ([c0b9e9d](https://github.com/thi-ng/umbrella/commit/c0b9e9d90172487c7b0dce7d252d30bba92e425e)) +* **color:** rescale labXyz(), use D50 for LCH->RGB ([9e59545](https://github.com/thi-ng/umbrella/commit/9e59545fb0cca91dfe7050a1a7db70239f818e9d)) +* **color:** unconstrained analog() for some modes ([439265b](https://github.com/thi-ng/umbrella/commit/439265bbc6a2510a8fa6897e6165d805079c6db9)) +* **color:** update Lab/LCH rules in parseCss() ([cb7f15e](https://github.com/thi-ng/umbrella/commit/cb7f15e1a98b78bdc6a61b3cdb5cdc55f2bc828f)) +* **color:** update resolveAsCss() ([0e7e955](https://github.com/thi-ng/umbrella/commit/0e7e955e176bd7b3e440dc7190dee26f9843fe8b)) +### Code Refactoring + +* **color:** major update/rename all types/conversions ([4143c8f](https://github.com/thi-ng/umbrella/commit/4143c8fe746a692e61be7696053c883eef7ab326)) + + +### Features +* **color:** add AColor.set() ([7e7a05c](https://github.com/thi-ng/umbrella/commit/7e7a05c0a1f9bfe57e304ab2afe3b314b048ea5e)) +* **color:** add AColor.toJSON() ([ee96412](https://github.com/thi-ng/umbrella/commit/ee96412656fb6bd019f356a50f83651150ee7293)) +* **color:** add ARGB32/ABGR32 int types/conversions ([1993beb](https://github.com/thi-ng/umbrella/commit/1993bebce4ee8c44a6dbcde01bc3635757d5d3f2)) +* **color:** add barebones support for LAB & LCH ([6e3b8c9](https://github.com/thi-ng/umbrella/commit/6e3b8c9b84b33b5280247c17ae3f9b862dd44d04)) +* **color:** add generic analog() (for all color types) ([117a5bc](https://github.com/thi-ng/umbrella/commit/117a5bcdcdd3c84f7c9eb8d68197963db4515b07)) +* **color:** add gradient and mix fns ([f31966c](https://github.com/thi-ng/umbrella/commit/f31966ca8612415fb8faaff02a13b5f8eddb2753)) +* **color:** add Int32.alpha accessor, minor update int->srgb ([b65f9ee](https://github.com/thi-ng/umbrella/commit/b65f9ee2896636df5bb5882e07186043d7ddc466)) +* **color:** add lab D50/65 conv, update HSx<>CSS conv ([014e41d](https://github.com/thi-ng/umbrella/commit/014e41de9d7b051c58f4ea4a90ff0d3783884b6f)) +* **color:** add multiColorGradient(), update cos version ([dc88f37](https://github.com/thi-ng/umbrella/commit/dc88f37abed0c5ab7dbdf2ea42fa60ddb4d5a353)) +* **color:** add Oklab color space support ([57a5bad](https://github.com/thi-ng/umbrella/commit/57a5bad8cff99636b28f9d17124c7c445f36eebb)) +* **color:** add rgbSrgbApprox() and vice versa ([c1efada](https://github.com/thi-ng/umbrella/commit/c1efada4f2b546c7515a34e12e31ea6a8857ec03)) +* **color:** add setPrecision(), LCH cleanup ([778f84a](https://github.com/thi-ng/umbrella/commit/778f84aa5a080ffd8afb12967553f53463a34d2c)) +* **color:** add sortMapped() for mapped memory cols ([9a548ec](https://github.com/thi-ng/umbrella/commit/9a548eccf3553d03afaff7817ce47f4bfeb98691)) +* **color:** add SystemColors and defaults ([16bad21](https://github.com/thi-ng/umbrella/commit/16bad2194d52b2aa3880ec8e37cc3a3891f0c20e)) +* **color:** add TypedColor/ColorFactory.range impls ([7ecfa0c](https://github.com/thi-ng/umbrella/commit/7ecfa0c5840722b8f4bb8965063f545a2d5348af)) +* **color:** add wavelengthXyza() ([d29ce23](https://github.com/thi-ng/umbrella/commit/d29ce236e2d0a4a43053b18bc8d4b41f69f4f66b)) +* **color:** add XYY mode ([7a743f2](https://github.com/thi-ng/umbrella/commit/7a743f2cc824ba2a46e32d72be8519a34d99b94c)) +* **color:** add XYZ/Oklab conversions, update/fix XYZ matrices ([e07a038](https://github.com/thi-ng/umbrella/commit/e07a038f9fc0317008c9a2a2e05bdba88eff0712)) +* **color:** add/update conversions ([e979044](https://github.com/thi-ng/umbrella/commit/e9790440dcf37ace01d4ea5f4c42ae76a556dc86)) +* **color:** add/update distance functions ([6d15065](https://github.com/thi-ng/umbrella/commit/6d15065c07cb8e434f0d964c98d5fd1878738868)) +* **color:** add/update Lab/XYZ/LCH conversions ([9feb251](https://github.com/thi-ng/umbrella/commit/9feb251def42ac12b6f522a8ea390e4e836cacaa)) +* **color:** add/update luminance & YCC conversion ([89ca131](https://github.com/thi-ng/umbrella/commit/89ca131a4b3878ca30d3199d8647b67ed426f287)) +* **color:** convert mix() to defmulti, color mode aware ([faed98b](https://github.com/thi-ng/umbrella/commit/faed98b3ced6a6e30bfd3d3afc95f493b39dc707)) +* **color:** generic isBlack/Gray/White, LCH color ranges ([598afdf](https://github.com/thi-ng/umbrella/commit/598afdf045c7a56261a5edb96d21686bd2d2a2d8)) +* **color:** improve int ARGB/ABGR support ([6460e4d](https://github.com/thi-ng/umbrella/commit/6460e4d04db8e548e575a586f24143c1ed674cde)) +* **color:** major restructure, new types/conversions ([6389f7c](https://github.com/thi-ng/umbrella/commit/6389f7c4baf2b8ef184cf76b8d71b8d0a44237a6)) +* **color:** new parseCSS(), add SRGBA, update conversions ([f748d65](https://github.com/thi-ng/umbrella/commit/f748d65934fe9472cc19b3e6bbfcce2578129fb7)) +* **color:** replace proximity functions ([7a0be62](https://github.com/thi-ng/umbrella/commit/7a0be62c08ea2717298f2365292fa4c9eca6f911)) +* **color:** split Lab & XYZ types into D50/D65 ([29e1e74](https://github.com/thi-ng/umbrella/commit/29e1e74a259bc8c73a79ccc77c654649f95c7d8c)) +* **color:** update ColorFactory, TypedColor ([8c5f8fb](https://github.com/thi-ng/umbrella/commit/8c5f8fb5255beed3a272d987c99fd3539f92b9d6)) +* **color:** update ColorMix & gradient types/functions ([829fcf6](https://github.com/thi-ng/umbrella/commit/829fcf6b61079e2ffaafadfd0ac115e341db6743)) +* **color:** update CSS_NAMES ([7ea0cf0](https://github.com/thi-ng/umbrella/commit/7ea0cf073cc39c165b24258be3b13cfddfb3dd41)) +* **color:** update types, CSS formatting ([f0502a2](https://github.com/thi-ng/umbrella/commit/f0502a2518a4e90edf45e35df180d2d273cdff68)) +* **color:** update/restructure types, add buffer mapping ([cebaafa](https://github.com/thi-ng/umbrella/commit/cebaafa3bff43409a39162374ede7b0b07086b05)) +* **color:** use RGB fallbacks for Lab/LCH CSS ([53ddaeb](https://github.com/thi-ng/umbrella/commit/53ddaeb5b3ff18c443b8308ad14ddba468dbe9da)) -## [2.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@2.1.0...@thi.ng/color@2.1.1) (2021-01-05) -**Note:** Version bump only for package @thi.ng/color +### Performance Improvements + +* **color:** make defColor() fixed for 4 channels ([4ea77ef](https://github.com/thi-ng/umbrella/commit/4ea77eff4ef89b771268c6244628b71ec869ab8b)) + + +### BREAKING CHANGES + +* **color:** remove obsolete resolveAsCss(), use css() instead + +- update MaybeColor alias +- update TypedColor +- merge resolveAsCss() cases into css() +- fix color factory for int args +* **color:** replace color classes w/ dynamically generated impls + +- add ColorSpec, ColorType, ColorFactory types +- add defColor() color type factory based on declarative ColorSpec +- all color types now based on defColor() +- remove obsolete AColor class +- color factories now also act as converters +- add color() factory to wrap color in class for given mode +- remove CSS and Int types (use plain strings/ints now, and use css() + or resolveAsCss() to convert to CSS strings) +- parseCss() now returns ParsedColor (circumvents circular deps) +- replace convert() w/ new simplified version +- add/update generic isGray(), isBlack(), isWhite(), luminance() +* **color:** update/rename all color types/conversions + +- rename YCbCrA => YCC +- remove `A` suffix from all color types + (e.g. `HSVA` => `HSV`, `XYZA` => `XYZ` etc.) +- accordingly, rename all conversions (e.g. `rgbaHsva()` => `rgbHsv()`) +- rename `.alpha` accessor in all color types + (previously a mixture of `.a` vs `.alpha`, now always latter) +- standardize casing in all function names (now always camelCase) + e.g. `asCSS()` => `asCss()` +- resolveAsCss() untyped default now sRGB +- rename distSatHsv() => distHsvSat() +- rename distLumaHsv() => distHsvLuma() +- rename distLumaRGB() => distRgbLuma() +- add distChannel() HOF +- add basic convert() support for Lab<>LCH<>CSS +- add/update docstrings +- rename RANGES => COLOR_RANGES +- update colorFromRange(), colorsFromRange() and + colorsFromTheme() to return wrapped HSV colors +* **color:** multiCosineGradient() args now given as options object + +- add MultiGradientOpts +- add support for per-interval easing +- add support for result color coercion +* **color:** parseCSS() now returns wrapped color types, +not raw RGBA arrays as previously + +- parseCSS() now returns SRGBA, HSLA, LAB or LCH color types and supports more CSS syntax opts +- all asXXX() functions also return wrapped colors, + only asCSS() still returns strings +- add SRGBA type/color mode reserve existing RGBA for + linear colors (non-gamma corrected) +- rename existing conversions, now using SRGBA (i.e. srgbaCss(), + srgbaInt()), add new versions for (now linear) RGBA +- parseCSS() RGB colors now result in SRGB instances, + use asRGBA() or srgbRgba() to convert to linear RGB diff --git a/packages/color/README.md b/packages/color/README.md index 321df95047..cf56b57885 100644 --- a/packages/color/README.md +++ b/packages/color/README.md @@ -12,16 +12,18 @@ This project is part of the For the Clojure version, please visit: [thi.ng/color-clj](https://thi.ng/color-clj) - [About](#about) - - [Color spaces / modes](#color-spaces--modes) - - [Class wrappers](#class-wrappers) + - [Supported color spaces / modes](#supported-color-spaces--modes) + - [Color creation / conversion](#color-creation--conversion) + - [Storage & memory mapping](#storage--memory-mapping) - [Color theme generation](#color-theme-generation) - - [Color sorting](#color-sorting) - - [RGBA transformations](#rgba-transformations) - - [RGBA Porter-Duff compositing](#rgba-porter-duff-compositing) - - [Cosine gradients](#cosine-gradients) - - [Two-color gradients](#two-color-gradients) - - [Multi-stop gradients](#multi-stop-gradients) + - [Color sorting & distance](#color-sorting--distance) + - [Sorting memory-mapped colors](#sorting-memory-mapped-colors) + - [Gradients](#gradients) + - [Multi-stop gradients in any color space](#multi-stop-gradients-in-any-color-space) + - [Cosine gradients](#cosine-gradients) + - [RGB color transformations](#rgb-color-transformations) - [Status](#status) + - [Related packages](#related-packages) - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) @@ -31,136 +33,297 @@ For the Clojure version, please visit: [thi.ng/color-clj](https://thi.ng/color-c ## About -Array-based color types, conversions, transformations, declarative theme generation, multi-color gradients, presets. +Array-based color types, CSS parsing, conversions, transformations, declarative theme generation, gradients, presets. + +--- + +**Note: Version 3.0.0 constitutes an almost complete overhaul of the entire +package, providing a more simple and flexible API, as well as various new +additional features (compared to previous versions).** + +--- + +### Supported color spaces / modes + +Fast color model/space conversions (any direction) between (in alphabetical +order). All types support an alpha channel, which defaults to 100% opaque (apart +from the integer types). + +- ABGR (uint32, `0xaabbggrr`, aka sRGB(A) as packed int) +- [ARGB](https://en.wikipedia.org/wiki/RGBA_color_model#ARGB32) (uint32, `0xaarrggbb`, aka sRGB(A) as packed int) +- [CSS](https://www.w3.org/TR/css-color-4/) (string, hex3/4/6/8, named colors, system colors, rgba(), hsla(), lch(), lab(), etc.) +- [HCY](http://www.chilliant.com/rgb2hsv.html) (float4, similar to LCH) +- [HSI](https://en.wikipedia.org/wiki/HSL_and_HSV#HSI_to_RGB) (float4) +- [HSL](https://en.wikipedia.org/wiki/HSL_and_HSV) (float4) +- [HSV](https://en.wikipedia.org/wiki/HSL_and_HSV) (float4) +- [Lab](https://en.wikipedia.org/wiki/CIELAB_color_space) (float4, D50/D65 versions) +- [LCH](https://en.wikipedia.org/wiki/HCL_color_space) (float4) +- [Oklab](https://bottosson.github.io/posts/oklab/) (float4) +- [RGB](https://en.wikipedia.org/wiki/RGB_color_space) (float4, _linear_) +- [sRGB](https://en.wikipedia.org/wiki/SRGB) (float4, [gamma corrected](https://en.wikipedia.org/wiki/Gamma_correction)) +- [XYY](https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_xy_chromaticity_diagram_and_the_CIE_xyY_color_space) (float4) +- [XYZ](https://en.wikipedia.org/wiki/CIE_1931_color_space) (float4, aka CIE 1931, D50/D65 versions) +- [YCC](https://en.wikipedia.org/wiki/YCbCr) (float4, aka YCbCr) + +| From/To | CSS | HCY | HSI | HSL | HSV | Int | Lab | LCH | Oklab | RGB | sRGB | XYY | XYZ | YCC | +|-----------|-----|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----|-------|-----------------|-----------------|-----|-----------------|-----------------| +| **CSS** | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | βœ…(1) | βœ…(4) | βœ… | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HCY** | πŸ†Ž | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HSI** | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HSL** | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HSV** | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **Int** | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | +| **Lab** | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | βœ…(3) | βœ… | πŸ†Ž | βœ…(3) | πŸ†Ž | πŸ†Ž | βœ…(3) | πŸ†Ž | +| **LCH** | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | βœ… | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **Oklab** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | +| **RGB** | πŸ†Ž | βœ…(2) | βœ…(2) | βœ…(2) | βœ…(2) | βœ… | βœ…(3) | βœ… | βœ… | βœ… | βœ… | πŸ†Ž | βœ…(3) | βœ…(2) | +| **sRGB** | βœ… | βœ…(2) | βœ…(2) | βœ…(2) | βœ…(2) | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **XYY** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | +| **XYZ** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | βœ… | βœ…(3) | πŸ†Ž | +| **YCC** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | + +- βœ… - direct conversion +- πŸ†Ž - indirect conversion (mostly via RGB/sRGB) +- (1) - only via `parseHex()` +- (2) - no consideration for linear/gamma encoded RGB/sRGB + (see [Wikipedia](https://en.wikipedia.org/wiki/HSL_and_HSV#cite_note-26)) +- (3) - including [D50/D65 illuminant](https://en.wikipedia.org/wiki/Illuminant_D65) options +- (4) - parsed as Lab w/ D50 illuminant as per [CSS Color Module Level 4](https://www.w3.org/TR/css-color-4/#lab-colors) + +#### Color creation / conversion + +Each color type provides a factory function to create & convert color instances +from other models/spaces. These functions can take the following arguments: + +- CSS string +- number (interpreted as packed ARGB int32) +- array (used as is) +- scalars (one per channel, alpha optional, always defaults to 1.0) +- color instance (triggers conversion) + +Additionally, an optional target backing buffer, start index and stride can be +given. See [next section](#storage--memory-mapping). + +Some examples: -### Color spaces / modes +```ts +srgb("#ff0") +// $Color { offset: 0, stride: 1, buf: [ 1, 1, 0, 1 ] } + +srgb(0x44ffff00) +// $Color { offset: 0, stride: 1, buf: [ 1, 1, 0, 0.26666666666666666 ] } + +srgb(1,1,0) +// $Color { offset: 0, stride: 1, buf: [ 1, 1, 0, 1 ] } + +srgb([0.1, 0.2, 0.3, 0.4]) +// $Color { offset: 0, stride: 1, buf: [ 0.1, 0.2, 0.3, 0.4 ] } + +// convert RGB CSS into Lab (D50) +labD50("#ff0") +// $Color { +// offset: 0, +// stride: 1, +// buf: [ 0.9760712516622824, -0.1575287517691254, 0.9338847788323792, 1 ] +// } + +// convert RGB CSS into Lab CSS (CSS Level 4 only) +css(labD50("#ff0")) +// 'lab(97.607% -15.753 93.388)' + +// round trip: +// CSS -> sRGB -> lin RGB -> Lab -> lin RGB -> sRGB -> CSS +css(rgb(labD50("#ff0"))) +// '#ffff00' +``` + +Additionally, colors can be created from black body temperatures +([`kelvinRgb()`](https://github.com/thi-ng/umbrella/blob/develop/packages/color/src/rgb/kelvin-rgba.ts)) +or wavelengths +([`wavelengthXyz()`](https://github.com/thi-ng/umbrella/blob/develop/packages/color/src/xyz/wavelength-xyz.ts)). -Fast color space conversions (any direction) between: +![kelvinRgb() result swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/blackbody.svg) -- CSS (string, hex3/hex4/hex6/hex8, rgba(), hsla(), named colors) -- HCYA (float4) -- HSIA (float4) -- HSLA (float4) -- HSVA (float4) -- Int32 (uint32, `0xaarrggbb`) -- RGBA (float4) -- XYZA (float4, aka CIE 1931) -- YCbCr (float4) +![wavelengthXyz() result swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/wavelength.svg) -Apart from `CSS` and `Int32` colors, all others can be stored as plain -arrays, typed array or custom array-like types of (mostly) normalized -values (`[0,1]` interval). Where applicable, the hue too is stored in -that range, NOT in degrees. +### Storage & memory mapping -Apart from conversions, most other operations provided by this package -are currently only supporting RGBA colors. These can also be converted -to / from sRGB (i.e. linear vs gamma corrected). +All color types store their channel values in plain arrays, typed arrays of +(mostly) normalized values (`[0,1]` interval). Where applicable, the hue too is +stored in that range (similar to [CSS +`turn`](https://www.w3.org/TR/css-values-3/#angle-value) units), NOT in degrees. +Likewise, luminance is always stored in the `[0,1]` too, even for Lab, LCH where +often the `[0,100]` range is used instead. -#### Class wrappers +As a fairly unique feature, all color types can be used to provided views of a +backing memory buffer (e.g. for WASM/WebGL/WebGPU interop, pixel buffers etc.), +incl. support for arbitrary component strides. -The package provides lightweight class wrappers for each color mode / -space. These wrappers act similarly to the `Vec2/3/4` wrappers in +The lightweight class wrappers act similarly to the `Vec2/3/4` wrappers in [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors), support striding (for mapped memory views), named channel accessor aliases (in addition to array indexing) and are fully compatible with -all functions (and act as syntax sugar for generic conversion -functions). Wrapper factory functions are provided for convenience. +all vector functions. + +![Memory diagram of densely packed buffer](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/mapped-colors-01.png) + +```ts +const memory = new Float32Array(16); + +// create RGBA color views of buffer: num, start index, strides +// here the colors are tightly packed w/o gaps in between +// (by default entire buffer is mapped, last 4 args are optional) +const colors = rgb.mapBuffer(memory, 4, 0, 1, 4); + +// manipulating the colors, will directly manipulate the underlying buffer +namedHueRgb(colors[0], Hue.ORANGE); +namedHueRgb(colors[1], Hue.CHARTREUSE); +namedHueRgb(colors[2], Hue.SPRING_GREEN); +namedHueRgb(colors[3], Hue.AZURE); + +memory +// Float32Array(16) [ 1, 0.5, 0, 1, 0.5, 1, 0, 1, 0, 1, 0.5, 1, 0, 0.5, 1, 1 ] + +css(colors[0]) +// '#ff8000' +css(colors[1]) +// '#80ff00' +css(colors[2]) +// '#00ff80' +css(colors[3]) +// '#0080ff' + +// use deref() to obtain a packed copy +colors[0].deref() +// [ 1, 0.5, 0, 1 ] +``` + +![Memory diagram of strided & interleaved buffer](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/mapped-colors-02.png) + +```ts +// here we create a *strided* WebGL attrib buffer for 3 points +// each point defines a: 3D position, UV coords and RGB(A) color +const attribs = new Float32Array([ + // pos uv color + 0,0,0, 0,0, 0.25,0.5,0,1, + 100,0,0, 1,0, 0.5,0.5,0.25,1, + 100,100,0, 1,1, 0,1,0.5,1, +]); + +// create strided view of colors +// 3 items, start index 5, component stride 1, element stride 9 +colors = srgb.mapBuffer(attribs, 3, 5, 1, 9); + +css(colors[0]) +// '#408000' +css(colors[1]) +// '#808040' +css(colors[2]) +// '#00ff80' +``` ### Color theme generation -The package provides several methods for procedural & declarative color theme -generations. The latter relies on the concept of HSV color ranges, which can be -sampled directly and/or mixed with a base color to produce randomized -variations. Furthermore, multiple such ranges can be combined into a weighted -set to define probabilistic color themes. +The package provides several methods for declarative & probabilistic color theme +generation. The latter relies on the concept of LCH color ranges, which can be +sampled directly and/or mixed with a base color (of any type) to produce +randomized variations. Furthermore, multiple such ranges can be combined into a +weighted set to define probabilistic color themes. ```ts // single random color drawn from the "bright" color range preset -colorFromRange(RANGES.bright); +colorFromRange("bright"); // [ 0.7302125322518669, 0.8519945301256682, 0.8134374983367859, 1 ] -// single random color based on given HSV base color and preset -colorFromRange(RANGES.warm, [0.33, 1, 1]) -// [ 0.3065587375218628, 0.8651353734302525, 0.748781892650323, 1 ] +// single random color based on given raw HSV base color and preset +colorFromRange("warm", { base: hsv(0.33, 1, 1) }) +// $Color { +// offset: 0, +// stride: 1, +// buf: [ 0.774977122048776, 0.7432832945738063, 0.3186095419992927, 1 ] +// } // infinite iterator of colors sampled from the preset // (see table below) -const colors = colorsFromRange(RANGES.bright); +const colors = colorsFromRange("bright"); colors.next(); // { // value: [ 0.006959075656347791, 0.8760165887192115, 0.912149937028727, 1 ], // done: false // } -// 10 cool reds, w/ 10% hue variance -[...colorsFromRange(RANGES.cool, [0, 0.8, 1], { num: 10, variance: 0.1 })] +// 10 cool reds, w/ Β±10% hue variance +[...colorsFromRange("cool", { num: 10, base: lch(1, 0.8, 0), variance: 0.1 })] // generate colors based on given (weighted) textual description(s) -// here using named CSS colors, but could also be HSV tuples +// here using named CSS colors, but could also be or typed colors or raw LCH tuples [...colorsFromTheme( [["warm", "goldenrod"], ["cool", "springgreen", 0.1]], { num: 100, variance: 0.05 } )] // theme parts can also be given in the format used internally -// note: base colors are always in HSV // all keys are optional (range, base, weight), // but at least `range` or `base` must be given... [...colorsFromTheme( [ { range: "warm", base: "goldenrod" }, - { range: RANGES.cool, base: [0, 1, 0.5], weight: 0.1 } + { range: COLOR_RANGES.cool, base: hsv(0, 1, 0.5), weight: 0.1 } ], { num: 100, variance: 0.05 } )] ``` -| ID | 100 colors drawn from color range preset only, sorted by hue | -|-----------|--------------------------------------------------------------------------------------------------------------------| -| `bright` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright.svg) | -| `cool` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool.svg) | -| `dark` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark.svg) | -| `fresh` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh.svg) | -| `hard` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard.svg) | -| `intense` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense.svg) | -| `light` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light.svg) | -| `neutral` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral.svg) | -| `soft` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft.svg) | -| `warm` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm.svg) | -| `weak` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak.svg) | - -| ID | 100 colors, single base color w/ color range preset, sorted by hue | -|-----------|--------------------------------------------------------------------------------------------------------------------| -| `bright` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-bright.svg) | -| `cool` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-cool.svg) | -| `dark` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-dark.svg) | -| `fresh` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-fresh.svg) | -| `hard` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-hard.svg) | -| `intense` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-intense.svg) | -| `light` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-light.svg) | -| `neutral` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-neutral.svg) | -| `soft` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-soft.svg) | -| `warm` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-warm.svg) | -| `weak` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-weak.svg) | - -| ID | 100 colors, 2 base colors w/ color range preset, sorted by brightness | -|-----------|------------------------------------------------------------------------------------------------------------------| -| `bright` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-bright.svg) | -| `cool` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-cool.svg) | -| `dark` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-dark.svg) | -| `fresh` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-fresh.svg) | -| `hard` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-hard.svg) | -| `intense` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-intense.svg) | -| `light` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-light.svg) | -| `neutral` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-neutral.svg) | -| `soft` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-soft.svg) | -| `warm` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-warm.svg) | -| `weak` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-weak.svg) | +This table below shows three sets of sample swatches for each color range preset +and the following color theme (raw samples and chunked & sorted): + +- 1/3 goldenrod +- 1/3 turquoise +- 1/3 pink +- 1/6 black +- 1/6 gray +- 1/6 white + +| ID | 100 colors drawn from color range preset | +|-----------|-----------------------------------------------------------------------------------------------------------------------------| +| `bright` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright-chunks.svg) | +| `cool` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool-chunks.svg) | +| `dark` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark-chunks.svg) | +| `fresh` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh-chunks.svg) | +| `hard` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard-chunks.svg) | +| `intense` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense-chunks.svg) | +| `light` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light-chunks.svg) | +| `neutral` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral-chunks.svg) | +| `soft` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft-chunks.svg) | +| `warm` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm-chunks.svg) | +| `weak` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak-chunks.svg) | Full example: ```ts -import { colorsFromTheme, hsva, swatchesH } from "@thi.ng/color"; +import { colorsFromTheme, swatchesH } from "@thi.ng/color"; import { serialize } from "@thi.ng/hiccup"; import { svg } from "@thi.ng/hiccup-svg"; import { writeFileSync } from "fs"; @@ -169,18 +332,17 @@ import { writeFileSync } from "fs"; // color range preset names, CSS colors and weights const theme: ColorThemePartTuple[] = [ ["cool", "goldenrod"], - ["fresh", "hotpink", 0.1], - ["light", "springgreen", 0.1], + ["hard", "hotpink", 0.1], + ["fresh", "springgreen", 0.1], ]; -// generate 200 HSV colors based on above description +// generate 200 LCH colors based on above description const colors = [...colorsFromTheme(theme, { num: 200, variance: 0.05 })]; // create SVG doc of color swatches (hiccup format) -// (convert colors to RGB for smaller file size) const doc = svg( { width: 1000, height: 50, convert: true }, - swatchesH(colors.map((x) => hsvaRgba([], x)), 5, 50) + swatchesH(colors, 5, 50) ); // serialize to SVG file @@ -189,52 +351,114 @@ writeFileSync("export/swatches-ex01.svg", serialize(doc)); ![example result color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-ex01.svg) -### Color sorting +### Color sorting & distance -The `sortColors()` function can be used to sort an array of colors using -arbitrary sort criteria. The following comparators are bundled: +The package provides several functions to compute full or channel-wise distances +between colors. These functions can also be used for sorting color arrays (see below). + +- `distChannel` - single channel distance only +- `distHsv` / `distHsvSat` / `distHsvLuma` +- `distEucledian3` / `distEucledian4` +- `distRgbLuma` / `distSrgbLuma` +- `distCIEDE2000` +- `distCMC` + +The `sort()` function can be used to sort an array of colors using arbitrary +sort criteria (basically any function which can transform a color into a +number). The following comparators are bundled: - `selectChannel(i)` - sort by channel -- `proximityHSV(target)` - sort by distance to target color (HSV colors) -- `proximityRGB(target)` - sort by distance to target color (RGB colors) +- `proximity(target, distFn)` - sort by distance to target color using given distance function +- `luminance` / `luminanceRgb` / `luminanceSrgb` etc. ```ts // (see above example) const colors = [...colorsFromTheme(theme, { num: 200, variance: 0.05 })]; -sortColors(colors, proximityHSV([0,1,0.5])); +sortColors(colors, proximity(lch("#fff"), distCIEDE2000())); ``` ![sorted color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-ex02.svg) -### RGBA transformations +#### Sorting memory-mapped colors -RGBA [color matrix -transformations](https://github.com/thi-ng/umbrella/tree/develop/packages/color/src/transform.ts), -including parametric preset transforms: +Memory mapped colors (e.g. a mapped pixel buffer) can be sorted (in place) via +`sortMapped()`. This function does NOT change the order of elements in the given +colors array, BUT instead sorts the apparent order by swapping the contents of +the backing memory. -- brightness -- contrast -- exposure -- saturation (luminance aware) -- hue rotation -- color temperature (warm / cold) -- sepia (w/ fade amount) -- tint (green / magenta) -- grayscale (luminance aware) -- subtraction/inversion (also available as non-matrix op) -- luminance to alpha +See the [pixel sorting +example](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) +for a concrete use case... -Transformation matrices can be combined using matrix multiplication / -concatenation (see `concat()`) for more efficient application. +```ts +// memory buffer of 4 sRGB colors +const buf = new Float32Array([0,1,0,1, 0,0.5,0,1, 0,0.25,0,1, 0,0.75,0,1]); + +// map buffer (creates 4 SRGB instances linked to the buffer) +const pix = srgb.mapBuffer(buf); + +// display original order +pix.map(css); +// [ '#00ff00', '#008000', '#004000', '#00bf00' ] + +// sort colors (buffer!) by luminance +sortMapped(pix, luminanceSrgb); + +// new order +pix.map(css); +// [ '#004000', '#008000', '#00bf00', '#00ff00' ] + +// buffer contents have been re-ordered +buf +// Float32Array(16) [ +// 0, 0.25, 0, 1, 0, +// 0.5, 0, 1, 0, 0.75, +// 0, 1, 0, 1, 0, +// 1 +// ] +``` + +### Gradients + +#### Multi-stop gradients in any color space + +The `multiColorGradient()` function can be used to generate gradients in any +color space and gradient stops must be using all the same color type. Colors are +pairwise interpolated, and by default, uses generic `mix()` function which +delegates to type specific strategies. See `GradientOpts` for details. -### RGBA Porter-Duff compositing +![LCH example gradient](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/lch-gradient.svg) -This feature has been moved to the separate -[@thi.ng/porter-duff](https://github.com/thi-ng/umbrella/tree/develop/packages/porter-duff) -package. +```ts +const L = 0.8; +const C = 0.8; + +const gradient = multiColorGradient({ + num: 100, + // gradient stops + stops: [ + [0, lch(L, C, 0)], + [1 / 3, lch(L, C, 1 / 3)], + [2 / 3, lch(L, C, 2 / 3)], + [1, lch(L, 0, 1)], + ], + // optionally with easing function + // easing: (t) => t * t, +}); + +writeFileSync( + `export/lch-gradient.svg`, + serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH(gradient, 5, 50) + ) + ) +); +``` -### Cosine gradients +#### Cosine gradients - [Original article](http://www.iquilezles.org/www/articles/palettes/palettes.htm) - [Gradient generator](http://dev.thi.ng/gradients/) @@ -266,42 +490,42 @@ The following presets are bundled (in [`cosine-gradients.ts`](https://github.com | ![gradient: yellow-purple-magenta](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-purple-magenta.png) | `yellow-purple-magenta` | | ![gradient: yellow-red](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-red.png) | `yellow-red` | -### Two-color gradients +##### Two-color cosine gradients The `cosineCoeffs()` function can be used to compute the cosine gradient coefficients between 2 start/end colors: ```ts // compute gradient coeffs between red / green -cosineGradient(10, cosineCoeffs([1,0,0,1], [0,1,0,1])).map(rgbaCss) -// #ff0000 -// #f70800 -// #e11e00 -// #bf4000 -// #966900 -// #699600 -// #40bf00 -// #1ee100 -// #08f700 -// #00ff00 +cosineGradient(10, cosineCoeffs([1,0,1,1], [0,1,0,1])).map(css) +// '#ff00ff' +// '#f708f7' +// '#e11ee1' +// '#bf40bf' +// '#966996' +// '#699669' +// '#40bf40' +// '#1ee11e' +// '#08f708' +// '#00ff00' ``` -### Multi-stop gradients +##### Multi-stop gradients -The `multiCosineGradient()` function returns an iterator of raw RGBA +The `multiCosineGradient()` function returns an iterator of raw RGB colors based on given gradient stops. This iterator computes a cosine -gradient between each color stop and yields a sequence of RGBA values. +gradient between each color stop and yields a sequence of RGB values. ```ts -col.multiCosineGradient( - // num colors to produce - 10, - // gradient stops (normalized positions, only RGBA colors supported) - [0.1, col.RED], [0.5, col.GREEN], [0.9, col.BLUE] -) +multiCosineGradient({ + num: 10, + // gradient stops (normalized positions) + stops: [[0.1, [1, 0, 0, 1]], [0.5, [0, 1, 0, 1]], [0.9, [0, 0, 1, 1]]], + // optional color transform/coercion + tx: srgba +}) // convert to CSS -.map(col.rgbaCss) - +.map(css) // [ // "#ff0000", // "#ff0000", @@ -317,12 +541,38 @@ col.multiCosineGradient( // ] ``` +### RGB color transformations + +RGB [color matrix +transformations](https://github.com/thi-ng/umbrella/tree/develop/packages/color/src/transform.ts), +including parametric preset transforms: + +- brightness +- contrast +- exposure +- saturation (luminance aware) +- hue rotation +- color temperature (warm / cold) +- sepia (w/ fade amount) +- tint (green / magenta) +- grayscale (luminance aware) +- subtraction/inversion (also available as non-matrix op) +- luminance to alpha + +Transformation matrices can be combined using matrix multiplication / +concatenation (see `concat()`) for more efficient application. + ### Status **STABLE** - used in production [Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bcolor%5D+in%3Atitle) +### Related packages + +- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) - Typed array backed, integer and floating point pixel buffers w/ customizable formats, blitting, dithering, conversions +- [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) - Optimized 2d/3d/4d and arbitrary length vector operations + ## Installation ```bash @@ -337,12 +587,13 @@ yarn add @thi.ng/color ``` -Package sizes (gzipped, pre-treeshake): ESM: 8.42 KB / CJS: 8.85 KB / UMD: 8.31 KB +Package sizes (gzipped, pre-treeshake): ESM: 13.67 KB / CJS: 14.33 KB / UMD: 13.41 KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/arrays](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays) +- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/compare](https://github.com/thi-ng/umbrella/tree/develop/packages/compare) - [@thi.ng/compose](https://github.com/thi-ng/umbrella/tree/develop/packages/compose) @@ -362,56 +613,17 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| | Heatmap visualization of this mono-repo's commits | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | -| | Visualization of different grid iterator strategies | [Demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) | -| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Heatmap visualization of this mono-repo's commits | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | +| | Visualization of different grid iterator strategies | [Demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | ## API [Generated API docs](https://docs.thi.ng/umbrella/color/) -```ts -import * as col from "@thi.ng/color"; - -// route #1: asXXX() converters: string -> CSS -> ARGB (int) -> RGBA -const a = col.asRGBA(col.css("#3cf")); -// [0.2, 0.8, 1, 1] - -// route #2: parseCSS(): string -> RGBA -const b = col.parseCss("hsla(30,100%,50%,0.75)"); -// [ 1, 0.5, 0, 0.75 ] - -// route #3: convert() multi-method: CSS -> RGBA -> HSVA -// (see convert.ts) -const c = col.convert("rgb(0,255,255)", "hsv", "css"); -// [ 0.4999999722222268, 0.9999990000010001, 1, 1 ] - -// route #4: direct conversion RGBA -> HSLA -> CSS -// first arg is output color (same calling convention as @thi.ng/vectors) -// (use `null` to mutate the input color) -col.hslaCss(col.rgbaHsla([], [1, 0.5, 0.5, 1])) -// "hsl(0.00,100.00%,75.00%)" - -col.luminance(col.css("white")) -col.luminance(0xffffff, "int") -// 1 - -// apply color matrix (RGBA only) -col.transform([], col.saturation(1.25), a) -// [ 0.07835000000000002, 0.82835, 1, 1 ] - -// combine matrix transformations -filter = col.concat( - col.saturation(0.5), // 50% saturation - col.brightness(0.1), // +10% brightness -); - -col.transform([], filter, col.RED); -// [ 0.7065, 0.2065, 0.2065, 1 ] -``` - ## Authors Karsten Schmidt diff --git a/packages/color/package.json b/packages/color/package.json index 47351d12d9..2f2a4ac099 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/color", - "version": "2.1.2", - "description": "Array-based color types, conversions, transformations, declarative theme generation, multi-color gradients, presets", + "version": "3.0.0", + "description": "Array-based color types, CSS parsing, conversions, transformations, declarative theme generation, gradients, presets", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -31,7 +31,7 @@ "build:check": "tsc --isolatedModules --noEmit", "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", - "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib internal", + "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib api css hcy hsi hsl hsv int internal lab lch oklab ops rgb srgb xyy xyz ycc", "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --excludePrivate --out doc --theme ../../tools/doc/typedoc-theme src/index.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", @@ -43,57 +43,82 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/compare": "^1.3.22", - "@thi.ng/compose": "^1.4.23", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/compare": "^1.3.23", + "@thi.ng/compose": "^1.4.24", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/math": "^3.2.0", + "@thi.ng/random": "^2.3.0", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", "*.d.ts", "lib", - "internal" + "api", + "css", + "hcy", + "hsi", + "hsl", + "hsv", + "int", + "internal", + "lab", + "lch", + "oklab", + "ops", + "rgb", + "srgb", + "xyy", + "xyz", + "ycc" ], "keywords": [ - "alpha", - "blend", - "channel", - "cie1931", "color", "conversion", "cosine", "css", - "declarative", + "D50", + "D65", + "distance", "filter", + "gamma", + "generator", "gradient", "hcy", "hsi", "hsl", "hsv", + "interpolation", + "iterator", + "lab", + "lch", "matrix", - "porter-duff", + "oklab", + "random", "rgb", + "sort", "srgb", "swatches", "theme", "typescript", + "xyy", "xyz", - "ycbcr" + "ycbcr", + "ycc" ], "publishConfig": { "access": "public" @@ -103,5 +128,10 @@ "setTimeout": false }, "sideEffects": false, - "thi.ng": {} + "thi.ng": { + "related": [ + "pixel", + "vectors" + ] + } } diff --git a/packages/color/src/analog.ts b/packages/color/src/analog.ts deleted file mode 100644 index e0e24fdefd..0000000000 --- a/packages/color/src/analog.ts +++ /dev/null @@ -1,82 +0,0 @@ -import type { FnN } from "@thi.ng/api"; -import { clamp01 } from "@thi.ng/math"; -import { IRandom, SYSTEM } from "@thi.ng/random"; -import { setC4 } from "@thi.ng/vectors"; -import type { Color, ReadonlyColor } from "./api"; -import { ensureAlpha } from "./internal/ensure-alpha"; -import { ensureHue } from "./internal/ensure-hue"; - -const $analog = (x: number, delta: number, rnd: IRandom, post: FnN = clamp01) => - delta !== 0 ? post(x + rnd.norm(delta)) : x; - -const $alpha = (a: number, delta: number, rnd: IRandom) => - delta !== 0 - ? clamp01((a !== undefined ? a : 1) + rnd.norm(delta)) - : ensureAlpha(a); - -/** - * Similar to {@link analogRGB}. Returns an analog color based on given HSVA - * color,with each channel randomly varied by given delta amounts (and - * optionally given {@link @thi.ng/random#IRandom} PRNG). - * - * @remarks - * By default (unless `deltaS`, `deltaV`, `deltaA` are provided) only the hue of - * the color will be modulated. - * - * @param out - * @param src - * @param deltaH - * @param deltaS - * @param deltaV - * @param deltaA - * @param rnd - */ -export const analogHSV = ( - out: Color | null, - src: ReadonlyColor, - deltaH: number, - deltaS = 0, - deltaV = 0, - deltaA = 0, - rnd: IRandom = SYSTEM -) => - setC4( - out || src, - $analog(src[0], deltaH, rnd, ensureHue), - $analog(src[1], deltaS, rnd), - $analog(src[2], deltaV, rnd), - $alpha(src[3], deltaA, rnd) - ); - -/** - * Similar to {@link analogHSV}. Returns an analog color based on given RGBA - * color, with each channel randomly varied by given delta amounts (and - * optionally given {@link @thi.ng/random#IRandom} PRNG). - * - * @remarks - * By default the green and blue channel variance will be the same as `deltaR`. - * - * @param out - * @param src - * @param deltaR - * @param deltaG - * @param deltaB - * @param deltaA - * @param rnd - */ -export const analogRGB = ( - out: Color | null, - src: ReadonlyColor, - deltaR: number, - deltaG = deltaR, - deltaB = deltaR, - deltaA = 0, - rnd: IRandom = SYSTEM -) => - setC4( - out || src, - $analog(src[0], deltaR, rnd), - $analog(src[1], deltaG, rnd), - $analog(src[2], deltaB, rnd), - $alpha(src[3], deltaA, rnd) - ); diff --git a/packages/color/src/api.ts b/packages/color/src/api.ts index 360eaef342..a49e24ea7f 100644 --- a/packages/color/src/api.ts +++ b/packages/color/src/api.ts @@ -1,300 +1,233 @@ -import type { FnU2, Tuple } from "@thi.ng/api"; +import type { FnU2, IDeref, NumericArray, Range, Tuple } from "@thi.ng/api"; import type { IRandom } from "@thi.ng/random"; -import type { ReadonlyVec, Vec } from "@thi.ng/vectors"; - -export type ColorMode = - | "rgb" - | "hcy" - | "hsv" - | "hsl" - | "hsi" - | "int" - | "css" - | "xyz" - | "ycbcr"; - -export type CSSColorName = - | "aliceblue" - | "antiquewhite" - | "aqua" - | "aquamarine" - | "azure" - | "beige" - | "bisque" - | "black" - | "blanchedalmond" - | "blue" - | "blueviolet" - | "brown" - | "burlywood" - | "cadetblue" - | "chartreuse" - | "chocolate" - | "coral" - | "cornflowerblue" - | "cornsilk" - | "crimson" - | "cyan" - | "darkblue" - | "darkcyan" - | "darkgoldenrod" - | "darkgray" - | "darkgreen" - | "darkgrey" - | "darkkhaki" - | "darkmagenta" - | "darkolivegreen" - | "darkorange" - | "darkorchid" - | "darkred" - | "darksalmon" - | "darkseagreen" - | "darkslateblue" - | "darkslategray" - | "darkslategrey" - | "darkturquoise" - | "darkviolet" - | "deeppink" - | "deepskyblue" - | "dimgray" - | "dimgrey" - | "dodgerblue" - | "firebrick" - | "floralwhite" - | "forestgreen" - | "fuchsia" - | "gainsboro" - | "ghostwhite" - | "gold" - | "goldenrod" - | "gray" - | "grey" - | "green" - | "greenyellow" - | "honeydew" - | "hotpink" - | "indianred" - | "indigo" - | "ivory" - | "khaki" - | "lavender" - | "lavenderblush" - | "lawngreen" - | "lemonchiffon" - | "lightblue" - | "lightcoral" - | "lightcyan" - | "lightgoldenrodyellow" - | "lightgray" - | "lightgreen" - | "lightgrey" - | "lightpink" - | "lightsalmon" - | "lightseagreen" - | "lightskyblue" - | "lightslategray" - | "lightslategrey" - | "lightsteelblue" - | "lightyellow" - | "lime" - | "limegreen" - | "linen" - | "magenta" - | "maroon" - | "mediumaquamarine" - | "mediumblue" - | "mediumorchid" - | "mediumpurple" - | "mediumseagreen" - | "mediumslateblue" - | "mediumspringgreen" - | "mediumturquoise" - | "mediumvioletred" - | "midnightblue" - | "mintcream" - | "mistyrose" - | "moccasin" - | "navajowhite" - | "navy" - | "oldlace" - | "olive" - | "olivedrab" - | "orange" - | "orangered" - | "orchid" - | "palegoldenrod" - | "palegreen" - | "paleturquoise" - | "palevioletred" - | "papayawhip" - | "peachpuff" - | "peru" - | "pink" - | "plum" - | "powderblue" - | "purple" - | "red" - | "rosybrown" - | "royalblue" - | "saddlebrown" - | "salmon" - | "sandybrown" - | "seagreen" - | "seashell" - | "sienna" - | "silver" - | "skyblue" - | "slateblue" - | "slategray" - | "slategrey" - | "snow" - | "springgreen" - | "steelblue" - | "tan" - | "teal" - | "thistle" - | "tomato" - | "turquoise" - | "violet" - | "wheat" - | "white" - | "whitesmoke" - | "yellow" - | "yellowgreen"; - -export type ColorRangePreset = - | "light" - | "dark" - | "bright" - | "weak" - | "neutral" - | "fresh" - | "soft" - | "hard" - | "warm" - | "cool" - | "intense"; - -export type CosineGradientPreset = - | "blue-cyan" - | "blue-magenta-orange" - | "blue-white-red" - | "cyan-magenta" - | "green-blue-orange" - | "green-cyan" - | "green-magenta" - | "green-red" - | "heat1" - | "magenta-green" - | "orange-blue" - | "orange-magenta-blue" - | "purple-orange-cyan" - | "rainbow1" - | "rainbow2" - | "rainbow3" - | "rainbow4" - | "red-blue" - | "yellow-green-blue" - | "yellow-magenta-cyan" - | "yellow-purple-magenta" - | "yellow-red"; +import type { IVector, ReadonlyVec, Vec } from "@thi.ng/vectors"; export type Color = Vec; export type ReadonlyColor = ReadonlyVec; -/** - * A 4x5 matrix in column-major order - */ -export type ColorMatrix = Tuple; - -export type CosCoeffs = Tuple; -export type CosGradientSpec = Tuple; +export type MaybeColor = + | TypedColor + | IParsedColor + | ReadonlyColor + | string + | number; -export type ColorConversion = (out: Color, src: T) => Color; export type ColorOp = (out: Color | null, src: ReadonlyColor) => Color; -export type ColorDistance = FnU2; +export type ColorMode = + | "argb32" + | "abgr32" + | "hcy" + | "hsi" + | "hsl" + | "hsv" + | "lab50" + | "lab65" + | "lch" + | "oklab" + | "rgb" + | "srgb" + | "xyy" + | "xyz50" + | "xyz65" + | "ycc"; + +/** + * Hue names in radial order, e.g. used by {@link namedHueRgb}. + */ +export enum Hue { + RED, + ORANGE, + YELLOW, + CHARTREUSE, + GREEN, + SPRING_GREEN, + CYAN, + AZURE, + BLUE, + VIOLET, + MAGENTA, + ROSE, +} export interface IColor { readonly mode: ColorMode; } -export type Range = [number, number]; +export interface ChannelSpec { + /** + * Acceptable value range for this channel. Used by {@link TypedColor.clamp}. + * @defaultValue [0,1] + */ + range?: Range; +} -export interface ColorRange { +export interface ColorSpec { + mode: M; /** - * Hue ranges + * Define additional per-channel constraints, information. Currently only + * used to define limits. */ - h?: Range[]; + channels?: Partial>; /** - * Saturation ranges + * Channel names in index order (used to define channel accessors). */ - s?: Range[]; + order: readonly K[]; /** - * Brightness ranges + * Conversions from source modes. `rgb` is mandatory, others optional. If a + * key specifies an array of functions, these will be applied to source + * color in LTR order. */ - v?: Range[]; + from: Partial>> & { + rgb: ColorOp; + }; +} + +export type Conversions = Partial> & { + rgb: ColorOp; +}; + +export interface ColorFactory> { + (col: MaybeColor, buf?: NumericArray, idx?: number, stride?: number): T; + (col?: Vec, idx?: number, stride?: number): T; + (a: number, b: number, c: number, ...xs: number[]): T; + + readonly class: TypedColorConstructor; + /** - * Alpha ranges + * Returns a new random color, optionally backed by given memory. I.e. if + * `buf` is given, the returned color will wrap `buf` from given `index` + * (default: 0) and `stride` step size (default: 1). + * + * @param rnd + * @param buf + * @param index + * @param stride */ - a?: Range[]; + random( + rnd?: IRandom, + buf?: NumericArray, + index?: number, + stride?: number + ): T; + /** - * Black point ranges + * Same as {@link TypedColor.range}. */ - b?: Range[]; + readonly range: [ReadonlyColor, ReadonlyColor]; + /** - * White point ranges + * Returns array of memory mapped colors using given backing array and + * stride settings. + * + * @remarks + * The `cstride` is the step size between individual color components. + * `estride` is the step size between successive colors and will default to + * number of channels supported by given color type/space. This arrangement + * allows for different storage approaches, incl. SOA, AOS, striped / + * interleaved etc. + * + * @param buf - backing array + * @param num - num vectors (default: buf.length / numChannels) + * @param start - start index (default: 0) + * @param cstride - component stride (default: 1) + * @param estride - element stride (default: numChannels) */ - w?: Range[]; + mapBuffer( + buf: NumericArray, + num?: number, + start?: number, + cstride?: number, + estride?: number + ): T[]; +} + +export interface TypedColorConstructor> { + new (buf?: NumericArray, offset?: number, stride?: number): T; } -export interface ColorRangeOpts { +export interface TypedColor extends IColor, IDeref, IVector { /** - * Nunber of result colors. - * - * @defaultValue ∞ + * Backing array / memory */ - num: number; + buf: NumericArray; /** - * Max. normalized & randomized hue shift for result colors. Only used if a - * base color is given. - * - * @defaultValue 0.025 + * Start index in array */ - variance: number; + offset: number; /** - * Tolerance for grayscale check (used for both saturation and brightness). - * - * @defaultValue 0.001 + * Step size between channels */ - eps: number; + stride: number; + /** - * PRNG instance to use for randomized values + * A tuple of `[min, max]` where both are vectors specifying the + * min/max channel ranges for this color type. * - * @defaultValue {@link @thi.ng/random#SYSTEM} + * @remarks + * Even though there're several color spaces which do not impose limits on + * at least some of their axes, the limits returned by this function + * indicate RGB "safe" colors and were determined by projecting all RGB + * colors into the color space used by this type. */ - rnd: IRandom; -} + readonly range: [ReadonlyColor, ReadonlyColor]; -export interface ColorThemePart { /** - * Color range spec to use + * Clamps all color channels so that colors is inside RGB gamut. + * + * @remarks + * Note: This is not a 100% guarantee, due to each channel being clamped + * individually based on pre-determined limits. */ - range?: ColorRange | ColorRangePreset; + clamp(): this; + /** - * HSV(A) base color + * Randomizes all color channels based on channel ranges defined for this + * color type (usually [0..1] interval). Alpha channel will remain + * untouched. + * + * @param rnd */ - base?: ReadonlyColor | CSSColorName; + randomize(rnd?: IRandom): this; + /** - * Relative weight of this theme part + * Copies `src` into this color's array. * - * @defaultValue 1.0 + * @param src + */ + set(src: ReadonlyColor): this; + + /** + * For memory mapped colors, this ensures only the elements used by this + * color are being serialized (as array) by `JSON.stringify()`. */ - weight?: number; + toJSON(): number[]; +} + +export interface IParsedColor extends IColor, IDeref {} + +/** + * Result type returned by {@link parseCss}, a simple wrapper for a raw color + * array and color mode. + */ +export class ParsedColor implements IParsedColor { + constructor(public readonly mode: ColorMode, public value: Color) {} + + deref() { + return this.value; + } } -export type ColorThemePartTuple = - | [ColorRangePreset, CSSColorName, number?] - | [ColorRangePreset | CSSColorName, number?] - | ColorRangePreset - | CSSColorName; +/** + * A 4x5 matrix in column-major order + */ +export type ColorMatrix = Tuple; + +export type ColorDistance = FnU2; + +export type ColorMixFn = ( + out: Color | null, + a: T, + b: T, + t: number +) => Color; diff --git a/packages/color/src/api/constants.ts b/packages/color/src/api/constants.ts new file mode 100644 index 0000000000..99d02dcef9 --- /dev/null +++ b/packages/color/src/api/constants.ts @@ -0,0 +1,240 @@ +import { float, percent } from "@thi.ng/strings"; + +/** + * RGB black + */ +export const BLACK = Object.freeze([0, 0, 0, 1]); +/** + * RGB white + */ +export const WHITE = Object.freeze([1, 1, 1, 1]); +/** + * RGB red + */ +export const RED = Object.freeze([1, 0, 0, 1]); +/** + * RGB green + */ +export const GREEN = Object.freeze([0, 1, 0, 1]); +/** + * RGB blue + */ +export const BLUE = Object.freeze([0, 0, 1, 1]); +/** + * RGB cyan + */ +export const CYAN = Object.freeze([0, 1, 1, 1]); +/** + * RGB magenta + */ +export const MAGENTA = Object.freeze([1, 0, 1, 1]); +/** + * RGB yellow + */ +export const YELLOW = Object.freeze([1, 1, 0, 1]); + +/** + * ITU-R BT.601 RGB luminance coeffs + * + * @remarks + * Reference: + * https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion + */ +export const RGB_LUMINANCE_REC601 = [0.299, 0.587, 0.114]; + +/** + * ITU-R BT.709 RGB luminance coeffs + * + * @remarks + * Reference: + * https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.709_conversion + */ +export const RGB_LUMINANCE_REC709 = [0.2126, 0.7152, 0.0722]; + +/** + * ITU-R BT.2020 RGB luminance coeffs + * + * @remarks + * Reference: + * https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.2020_conversion + */ +export const RGB_LUMINANCE_REC2020 = [0.2627, 0.678, 0.0593]; + +/** + * sRGB to XYZ D65 conversion matrix + * + * @remarks + * Reference: + * http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html + */ +export const RGB_XYZ_D50 = [ + 0.4360747, + 0.2225045, + 0.0139322, + 0.3850649, + 0.7168786, + 0.0971045, + 0.1430804, + 0.0606169, + 0.7141733, +]; + +/** + * XYZ D50 to sRGB conversion matrix + * + * @remarks + * Reference: + * http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html + */ +export const XYZ_RGB_D50 = [ + 3.1338561, + -0.9787684, + 0.0719453, + -1.6168667, + 1.9161415, + -0.2289914, + -0.4906146, + 0.033454, + 1.4052427, +]; + +/** + * sRGB to XYZ D65 conversion matrix + * + * @remarks + * Reference: + * http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html + */ +export const RGB_XYZ_D65 = [ + 0.4124564, + 0.2126729, + 0.0193339, + 0.3575761, + 0.7151522, + 0.119192, + 0.1804375, + 0.072175, + 0.9503041, +]; + +/** + * XYZ D65 to sRGB conversion matrix + * + * @remarks + * Reference: + * http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html + */ +export const XYZ_RGB_D65 = [ + 3.2404542, + -0.969266, + 0.0556434, + -1.5371385, + 1.8760108, + -0.2040259, + -0.4985314, + 0.041556, + 1.0572252, +]; + +/** + * D50 -> D65 chromatic adaptation matrix. Inverse of {@link BRADFORD_D65_D50}. + * + * @remarks + * Reference: + * http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html + */ +export const BRADFORD_D50_D65 = [ + 0.9555766, + -0.0282895, + 0.0122982, + -0.0230393, + 1.0099416, + -0.020483, + 0.0631636, + 0.0210077, + 1.3299098, +]; + +/** + * D65 -> D50 chromatic adaptation matrix. Inverse of {@link BRADFORD_D50_D65}. + * + * @remarks + * Reference: + * http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html + */ +export const BRADFORD_D65_D50 = [ + 1.0478112, + 0.0295424, + -0.0092345, + 0.0228866, + 0.9904844, + 0.0150436, + -0.050127, + -0.0170491, + 0.7521316, +]; + +/** + * CIE Standard Illuminant D50 + */ +export const D50 = [0.96422, 1, 0.82521]; + +/** + * CIE Standard Illuminant D65 + * + * Reference: + * https://en.wikipedia.org/wiki/Illuminant_D65 + */ +export const D65 = [0.95047, 1, 1.08883]; + +export const OKLAB_M1 = [ + 0.8189330101, + 0.0329845436, + 0.0482003018, + 0.3618667424, + 0.9293118715, + 0.2643662691, + -0.1288597137, + 0.0361456387, + 0.633851707, +]; + +export const OKLAB_M2 = [ + 0.2104542553, + 1.9779984951, + 0.0259040371, + 0.793617785, + -2.428592205, + 0.7827717662, + -0.0040720468, + 0.4505937099, + -0.808675766, +]; + +/** + * Float value formatter + * + * @internal + */ +export let FF = float(3); +/** + * Percentage value formatter + * + * @internal + */ +export let PC = percent(3); + +/** + * Sets precision for CSS formatted values to `x` significant digits (default: + * 3). + * + * @param x + */ +export const setPrecision = (x: number) => { + FF = float(x); + PC = percent(x); +}; + +export const INV8BIT = 1 / 0xff; + +export const EPS = 1 / 256; diff --git a/packages/color/src/api/gradients.ts b/packages/color/src/api/gradients.ts new file mode 100644 index 0000000000..8bcf8c342c --- /dev/null +++ b/packages/color/src/api/gradients.ts @@ -0,0 +1,61 @@ +import type { FnN, FnU, Tuple } from "@thi.ng/api"; +import type { Color, ColorMixFn, ReadonlyColor } from "../api"; + +export type CosineGradientPreset = + | "blue-cyan" + | "blue-magenta-orange" + | "blue-white-red" + | "cyan-magenta" + | "green-blue-orange" + | "green-cyan" + | "green-magenta" + | "green-red" + | "heat1" + | "magenta-green" + | "orange-blue" + | "orange-magenta-blue" + | "purple-orange-cyan" + | "rainbow1" + | "rainbow2" + | "rainbow3" + | "rainbow4" + | "red-blue" + | "yellow-green-blue" + | "yellow-magenta-cyan" + | "yellow-purple-magenta" + | "yellow-red"; + +export type CosineCoeffs = Tuple; + +export type CosGradientSpec = Tuple; + +/** + * A tuple of normalized position and color for a gradient stop. + */ +export type GradientColorStop = [number, T]; + +export interface GradientOpts { + /** + * Number of colors to generate + */ + num: number; + /** + * Gradient color stops, each a `[pos, color]` + */ + stops: GradientColorStop[]; + /** + * Interpolation function + */ + mix?: ColorMixFn; + /** + * Easing function + */ + easing?: FnN; +} + +export interface CosineGradientOpts extends GradientOpts { + /** + * Post transformation function for each color + */ + tx?: FnU; +} diff --git a/packages/color/src/names.ts b/packages/color/src/api/names.ts similarity index 56% rename from packages/color/src/names.ts rename to packages/color/src/api/names.ts index 0693bcaf36..c8865d1f74 100644 --- a/packages/color/src/names.ts +++ b/packages/color/src/api/names.ts @@ -1,4 +1,154 @@ -import type { CSSColorName } from "./api"; +export type CSSColorName = + | "aliceblue" + | "antiquewhite" + | "aqua" + | "aquamarine" + | "azure" + | "beige" + | "bisque" + | "black" + | "blanchedalmond" + | "blue" + | "blueviolet" + | "brown" + | "burlywood" + | "cadetblue" + | "chartreuse" + | "chocolate" + | "coral" + | "cornflowerblue" + | "cornsilk" + | "crimson" + | "cyan" + | "darkblue" + | "darkcyan" + | "darkgoldenrod" + | "darkgray" + | "darkgreen" + | "darkgrey" + | "darkkhaki" + | "darkmagenta" + | "darkolivegreen" + | "darkorange" + | "darkorchid" + | "darkred" + | "darksalmon" + | "darkseagreen" + | "darkslateblue" + | "darkslategray" + | "darkslategrey" + | "darkturquoise" + | "darkviolet" + | "deeppink" + | "deepskyblue" + | "dimgray" + | "dimgrey" + | "dodgerblue" + | "firebrick" + | "floralwhite" + | "forestgreen" + | "fuchsia" + | "gainsboro" + | "ghostwhite" + | "gold" + | "goldenrod" + | "gray" + | "grey" + | "green" + | "greenyellow" + | "honeydew" + | "hotpink" + | "indianred" + | "indigo" + | "ivory" + | "khaki" + | "lavender" + | "lavenderblush" + | "lawngreen" + | "lemonchiffon" + | "lightblue" + | "lightcoral" + | "lightcyan" + | "lightgoldenrodyellow" + | "lightgray" + | "lightgreen" + | "lightgrey" + | "lightpink" + | "lightsalmon" + | "lightseagreen" + | "lightskyblue" + | "lightslategray" + | "lightslategrey" + | "lightsteelblue" + | "lightyellow" + | "lime" + | "limegreen" + | "linen" + | "magenta" + | "maroon" + | "mediumaquamarine" + | "mediumblue" + | "mediumorchid" + | "mediumpurple" + | "mediumseagreen" + | "mediumslateblue" + | "mediumspringgreen" + | "mediumturquoise" + | "mediumvioletred" + | "midnightblue" + | "mintcream" + | "mistyrose" + | "moccasin" + | "navajowhite" + | "navy" + | "oldlace" + | "olive" + | "olivedrab" + | "orange" + | "orangered" + | "orchid" + | "palegoldenrod" + | "palegreen" + | "paleturquoise" + | "palevioletred" + | "papayawhip" + | "peachpuff" + | "peru" + | "pink" + | "plum" + | "powderblue" + | "purple" + | "red" + | "rosybrown" + | "royalblue" + | "saddlebrown" + | "salmon" + | "sandybrown" + | "seagreen" + | "seashell" + | "sienna" + | "silver" + | "skyblue" + | "slateblue" + | "slategray" + | "slategrey" + | "snow" + | "springgreen" + | "steelblue" + | "tan" + | "teal" + | "thistle" + | "tomato" + | "turquoise" + | "violet" + | "wheat" + | "white" + | "whitesmoke" + | "yellow" + | "yellowgreen" + // additions + | "rebeccapurple" + | "transparent"; export const CSS_NAMES: Record = { aliceblue: "f0f8ff", @@ -148,4 +298,7 @@ export const CSS_NAMES: Record = { whitesmoke: "f5f5f5", yellow: "ff0", yellowgreen: "9acd32", + // additions + transparent: "0000", + rebeccapurple: "639", }; diff --git a/packages/color/src/api/ranges.ts b/packages/color/src/api/ranges.ts new file mode 100644 index 0000000000..f3a2203592 --- /dev/null +++ b/packages/color/src/api/ranges.ts @@ -0,0 +1,102 @@ +import type { Range } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { ReadonlyColor } from "../api"; +import type { CSSColorName } from "./names"; + +export type ColorRangePreset = + | "light" + | "dark" + | "bright" + | "weak" + | "neutral" + | "fresh" + | "soft" + | "hard" + | "warm" + | "cool" + | "intense"; + +export interface ColorRange { + /** + * Hue ranges + */ + h?: Range[]; + /** + * Saturation ranges + */ + c?: Range[]; + /** + * Brightness ranges + */ + l?: Range[]; + /** + * Alpha ranges + */ + a?: Range[]; + /** + * Black point ranges + */ + b?: Range[]; + /** + * White point ranges + */ + w?: Range[]; +} + +export interface ColorRangeOpts { + /** + * Nunber of result colors. + * + * @defaultValue ∞ + */ + num: number; + /** + * Base color. Either a {@link TypedColor} instance, {@link CSSColorName} or + * raw LCH tuple. Its hue will be used as bias to create a randomized + * variation (based on {@link ColorRangeOpts.variance}). + */ + base?: ReadonlyColor | CSSColorName; + /** + * Max. normalized & randomized hue shift for result colors. Only used if a + * base color is given. + * + * @defaultValue 0.025 (i.e. +/- 9 degrees) + */ + variance: number; + /** + * Tolerance for grayscale check (used for both saturation and brightness). + * + * @defaultValue 0.001 + */ + eps: number; + /** + * PRNG instance to use for randomized values + * + * @defaultValue {@link @thi.ng/random#SYSTEM} + */ + rnd: IRandom; +} + +export interface ColorThemePart { + /** + * Color range spec to use + */ + range?: ColorRange | ColorRangePreset; + /** + * Base color. Either a {@link TypedColor} instance, {@link CSSColorName} or + * raw LCH tuple. + */ + base?: ReadonlyColor | CSSColorName; + /** + * Relative weight of this theme part + * + * @defaultValue 1.0 + */ + weight?: number; +} + +export type ColorThemePartTuple = + | [ColorRangePreset, CSSColorName, number?] + | [ColorRangePreset | CSSColorName, number?] + | ColorRangePreset + | CSSColorName; diff --git a/packages/color/src/api/system.ts b/packages/color/src/api/system.ts new file mode 100644 index 0000000000..c50f965cee --- /dev/null +++ b/packages/color/src/api/system.ts @@ -0,0 +1,98 @@ +/** + * @remarks + * Reference: https://www.w3.org/TR/css-color-4/#typedef-system-color + */ +export interface SystemColors { + /** + * Background of application content or documents. + */ + canvas: string; + /** + * Text in application content or documents. + */ + canvastext: string; + /** + * Text in non-active, non-visited links. For light backgrounds, + * traditionally blue. + */ + linktext: string; + /** + * Text in visited links. For light backgrounds, traditionally purple. + */ + visitedtext: string; + /** + * Text in active links. For light backgrounds, traditionally red. + */ + activetext: string; + /** + * The face background color for push buttons. + */ + buttonface: string; + /** + * Text on push buttons. + */ + buttontext: string; + /** + * The base border color for push buttons. + */ + buttonborder: string; + /** + * Background of input fields. + */ + field: string; + /** + * Text in input fields. + */ + fieldtext: string; + /** + * Background of selected items/text. + */ + highlight: string; + /** + * Text of selected items/text. + */ + highlighttext: string; + /** + * Background of text that has been specially marked (such as by the HTML + * mark element). + */ + mark: string; + /** + * Text that has been specially marked (such as by the HTML mark element). + */ + marktext: string; + /** + * Disabled text. (Often, but not necessarily, gray.) + */ + graytext: string; +} + +/** + * Default CSS system colors used by {@link parseCss}. Use + * {@link setSystemColors} to provide custom defaults. + */ +export let CSS_SYSTEM_COLORS: SystemColors = { + canvas: "fff", + canvastext: "000", + linktext: "001ee4", + visitedtext: "4e2386", + activetext: "eb3323", + buttonface: "ddd", + buttontext: "000", + buttonborder: "000", + field: "fff", + fieldtext: "000", + highlight: "bbd5fb", + highlighttext: "000", + mark: "000", + marktext: "fff", + graytext: "808080", +}; + +/** + * Merges {@link CSS_SYSTEM_COLORS} w/ new values. + * + * @param cols + */ +export const setSystemColors = (cols: Partial) => + Object.assign(CSS_SYSTEM_COLORS, cols); diff --git a/packages/color/src/checks.ts b/packages/color/src/checks.ts deleted file mode 100644 index b844580cb8..0000000000 --- a/packages/color/src/checks.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { eqDelta } from "@thi.ng/math"; -import type { ReadonlyColor } from "./api"; - -const EPS = 1e-3; - -export const isGrayHsv = (x: ReadonlyColor, eps = EPS) => x[1] <= eps; - -export const isGrayRGB = (x: ReadonlyColor, eps = EPS) => - eqDelta(x[0], x[1], eps) && eqDelta(x[0], x[2], eps); - -export const isBlackHsv = (x: ReadonlyColor, eps = EPS) => x[2] <= eps; - -export const isBlackRGB = (x: ReadonlyColor, eps = EPS) => - x[0] <= eps && x[1] <= eps && x[2] <= eps; - -export const isWhiteHsv = (x: ReadonlyColor, eps = EPS) => - x[1] <= eps && x[2] >= 1 - eps; - -export const isWhiteRGB = (x: ReadonlyColor, eps = EPS) => { - eps = 1 - eps; - return x[0] >= eps && x[1] >= eps && x[2] >= eps; -}; diff --git a/packages/color/src/closest-hue.ts b/packages/color/src/closest-hue.ts deleted file mode 100644 index 997cdeecbb..0000000000 --- a/packages/color/src/closest-hue.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Hue } from "./constants"; -import { ensureHue } from "./internal/ensure-hue"; - -/** - * Returns the {@link Hue} constant of the closest of 12 defined hues. - * - * @param h - normalized hue - */ -export const closestHue = (h: number): Hue => - Math.round(ensureHue(h) * 12) % 12; - -/** - * Returns the {@link Hue} constant of the closest primary or secondary hue. - * - * @param h - normalized hue - */ -export const closestPrimaryHue = (h: number): Hue => - Math.round(ensureHue(h) * 12) % 12 & 0xe; diff --git a/packages/color/src/color-range.ts b/packages/color/src/color-range.ts deleted file mode 100644 index 5c789b64fe..0000000000 --- a/packages/color/src/color-range.ts +++ /dev/null @@ -1,265 +0,0 @@ -import { peek } from "@thi.ng/arrays"; -import { isArray, isNumber, isString } from "@thi.ng/checks"; -import { illegalArgs } from "@thi.ng/errors"; -import { IRandom, SYSTEM, weightedRandom } from "@thi.ng/random"; -import { analogHSV } from "./analog"; -import type { - Color, - ColorRange, - ColorRangeOpts, - ColorRangePreset, - ColorThemePart, - ColorThemePartTuple, - Range, - ReadonlyColor, -} from "./api"; -import { isBlackHsv, isGrayHsv, isWhiteHsv } from "./checks"; -import { ensureAlpha } from "./internal/ensure-alpha"; -import { ensureHue } from "./internal/ensure-hue"; -import { parseCss } from "./parse-css"; -import { rgbaHsva } from "./rgba-hsva"; - -/** - * Preset {@link ColorRange}s for use with {@link colorsFromRange}, - * {@link colorsFromTheme} etc. - */ -export const RANGES: Record = { - light: { - s: [[0.3, 0.7]], - v: [[0.9, 1]], - b: [[0.15, 0.3]], - w: [[0.3, 1]], - }, - dark: { - s: [[0.7, 1]], - v: [[0.15, 0.4]], - b: [[0, 0.5]], - w: [[0.5, 0.75]], - }, - bright: { - s: [[0.8, 1]], - v: [[0.8, 1]], - }, - weak: { - s: [[0.15, 0.3]], - v: [[0.7, 1]], - b: [[0.2, 0.2]], - w: [[0.2, 1]], - }, - neutral: { - s: [[0.25, 0.35]], - v: [[0.3, 0.7]], - b: [[0.15, 0.15]], - w: [[0.9, 1]], - }, - fresh: { - s: [[0.4, 0.8]], - v: [[0.8, 1]], - b: [[0.05, 0.3]], - w: [[0.8, 1]], - }, - soft: { - s: [[0.2, 0.3]], - v: [[0.6, 0.9]], - b: [[0.05, 0.15]], - w: [[0.6, 0.9]], - }, - hard: { - s: [[0.9, 1]], - v: [[0.4, 1]], - }, - warm: { - s: [[0.6, 0.9]], - v: [[0.4, 0.9]], - b: [[0.2, 0.2]], - w: [[0.8, 1]], - }, - cool: { - s: [[0.05, 0.2]], - v: [[0.9, 1]], - b: [[0, 0.95]], - w: [[0.95, 1]], - }, - intense: { - s: [[0.9, 1]], - v: [ - [0.2, 0.35], - [0.8, 1], - ], - }, -}; - -const FULL: Range[] = [[0, 1]]; - -const DEFAULT_RANGE: ColorRange = { - h: FULL, - s: FULL, - v: FULL, - b: FULL, - w: FULL, - a: [[1, 1]], -}; - -const DEFAULT_OPTS: ColorRangeOpts = { - num: Infinity, - variance: 0.025, - eps: 1e-3, - rnd: SYSTEM, -}; - -const $rnd = (ranges: Range[], rnd: IRandom) => - rnd.minmax(...ranges[rnd.int() % ranges.length]); - -/** - * Takes a {@link ColorRange}, optional base color (HSV(A)) and options to produce - * a single new result color. This color is randomized within the channel limits - * of the given `range`. If a `base` color is provided, its hue is used as bias - * and the `variance` option defines the max. -/+ normalized hue shift of the - * result color. - * - * @remarks - * If the base color is a shade of gray (incl. black & white), the result will - * be another gray and is based on the range's black and white point sub-ranges. - * - * The alpha channel of the result color will only be randomized (based on - * `range.a` settings) iff no `base` color was provided. If `base` is given, the - * result will used the same alpha. - * - * A custom PRNG can be defined via the `rnd` option (default: `Math.random`). - * - * @param range - * @param base - * @param opts - */ -export const colorFromRange = ( - range: ColorRange, - base?: ReadonlyColor, - opts?: Partial> -): Color => { - range = { ...DEFAULT_RANGE, ...range }; - const { variance, rnd, eps } = { ...DEFAULT_OPTS, ...opts }; - let h: number, a: number; - if (base) { - h = base[0]; - a = ensureAlpha(base[3]); - if (isBlackHsv(base, eps)) return [h, 0, $rnd(range.b!, rnd), a]; - if (isWhiteHsv(base, eps)) return [h, 0, $rnd(range.w!, rnd), a]; - if (isGrayHsv(base, eps)) - return [ - h, - 0, - $rnd(rnd.float() < 0.5 ? range.b! : range.w!, rnd), - a, - ]; - h = ensureHue(h + rnd.norm(variance)); - } else { - h = $rnd(range.h!, rnd); - a = $rnd(range.a!, rnd); - } - return [h, $rnd(range.s!, rnd), $rnd(range.v!, rnd), a]; -}; - -/** - * Generator version of {@link colorFromRange}, by default yielding an infinite - * sequence of random colors based on given range, base color (optional) and - * other opts. Use `num` option to limit number of results. - * - * @param range - * @param base - * @param opts - */ -export function* colorsFromRange( - range: ColorRange, - base?: ReadonlyColor, - opts: Partial = {} -) { - let num = opts.num != undefined ? opts.num : Infinity; - while (--num >= 0) yield colorFromRange(range, base, opts); -} - -/** @internal */ -const asThemePart = (p: ColorThemePart | ColorThemePartTuple) => { - let spec: ColorThemePart; - let weight: number; - if (isArray(p)) { - const [a, ...xs] = p; - if (isNumber(peek(xs))) { - weight = peek(xs); - xs.pop(); - } else { - weight = 1; - } - spec = ( - (xs.length === 1 - ? { range: a, base: xs[0], weight } - : xs.length === 0 - ? RANGES[a] - ? { range: a, weight } - : { base: a, weight } - : illegalArgs(`invalid theme part: "${p}"`)) - ); - } else if (isString(p)) { - spec = ( - (RANGES[p] - ? { range: p, weight: 1 } - : { base: p, weight: 1 }) - ); - } else { - spec = p; - spec.weight == null && (spec.weight = 1); - } - isString(spec.range) && (spec.range = RANGES[spec.range]); - isString(spec.base) && (spec.base = rgbaHsva([], parseCss(spec.base))); - return spec; -}; - -/** - * Probabilistic color theme generator. Yield randomized colors based on given - * weighted set of theme part specs. - * - * @remarks - * Each theme part is a tuple of either: - * - * - `[range, color, weight?]` - * - `[range, weight?]` - * - `[color, weight?]` - * - * `range` can be either a {@link ColorRange} or the name of a {@link RANGE} - * preset. Likewise, `color` can be an HSV(A) color tuple or a CSS color name. - * The `weight` of each part defines the relative importance/probability of this - * theme part, compared to others. Default weight is 1.0. - * - * @example - * ```ts - * [...colorsFromTheme( - * [["cool", "aliceblue"], ["bright", "orange", 0.25], ["hotpink", 0.1]], - * { num: 10 } - * )] - * ``` - * - * @param parts - * @param opts - */ -export function* colorsFromTheme( - parts: (ColorThemePart | ColorThemePartTuple)[], - opts: Partial = {} -) { - let { num, variance } = { ...DEFAULT_OPTS, ...opts }; - const theme = parts.map(asThemePart); - const choice = weightedRandom( - theme, - theme.map((x) => x.weight!) - ); - while (--num! >= 0) { - const spec = choice(); - if (spec.range) { - yield colorFromRange( - spec.range, - spec.base, - opts - ); - } else if (spec.base) { - yield analogHSV([], spec.base, variance!); - } - } -} diff --git a/packages/color/src/color.ts b/packages/color/src/color.ts new file mode 100644 index 0000000000..55af530b0f --- /dev/null +++ b/packages/color/src/color.ts @@ -0,0 +1,69 @@ +import { isString } from "@thi.ng/checks"; +import type { + Color, + ColorFactory, + ColorMode, + ParsedColor, + TypedColor, +} from "./api"; +import { hcy } from "./hcy/hcy"; +import { hsi } from "./hsi/hsi"; +import { hsl } from "./hsl/hsl"; +import { hsv } from "./hsv/hsv"; +import { argb32, abgr32 } from "./int/int"; +import { labD50 } from "./lab/lab50"; +import { labD65 } from "./lab/lab65"; +import { lch } from "./lch/lch"; +import { oklab } from "./oklab/oklab"; +import { rgb } from "./rgb/rgb"; +import { srgb } from "./srgb/srgb"; +import { xyy } from "./xyy/xyy"; +import { xyzD50 } from "./xyz/xyz50"; +import { xyzD65 } from "./xyz/xyz65"; +import { ycc } from "./ycc/ycc"; + +const FACTORIES: Record> = { + argb32, + abgr32, + hcy, + hsi, + hsl, + hsv, + lab50: labD50, + lab65: labD65, + lch, + oklab, + rgb, + srgb, + xyy, + xyz50: xyzD50, + xyz65: xyzD65, + ycc, +}; + +export function color( + src: ParsedColor, + buf?: Color, + idx?: number, + stride?: number +): TypedColor; +export function color( + mode: ColorMode, + buf: Color, + idx?: number, + stride?: number +): TypedColor; +export function color( + src: any, + buf?: any, + idx?: number, + stride?: number +): TypedColor { + if (isString(src)) return FACTORIES[src](buf, idx, stride); + if (buf) { + const res = FACTORIES[(src).mode](buf, idx, stride); + res.set(src.deref()); + return res; + } + return FACTORIES[(src).mode](src.deref()); +} diff --git a/packages/color/src/constants.ts b/packages/color/src/constants.ts deleted file mode 100644 index bf114b6e08..0000000000 --- a/packages/color/src/constants.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { float, percent } from "@thi.ng/strings"; - -// RGBA constants - -export const BLACK = Object.freeze([0, 0, 0, 1]); -export const WHITE = Object.freeze([1, 1, 1, 1]); - -export const RED = Object.freeze([1, 0, 0, 1]); -export const GREEN = Object.freeze([0, 1, 0, 1]); -export const BLUE = Object.freeze([0, 0, 1, 1]); - -export const CYAN = Object.freeze([0, 1, 1, 1]); -export const MAGENTA = Object.freeze([1, 0, 1, 1]); -export const YELLOW = Object.freeze([1, 1, 0, 1]); - -export const RGB_LUMINANCE = [0.299, 0.587, 0.114]; - -// Hue names - -export enum Hue { - RED, - ORANGE, - YELLOW, - CHARTREUSE, - GREEN, - SPRING_GREEN, - CYAN, - AZURE, - BLUE, - VIOLET, - MAGENTA, - ROSE, -} - -// internal helpers - -export const SRGB_ALPHA = 0.055; - -export const RGB_XYZ = [ - 0.4124564, - 0.3575761, - 0.1804375, - 0.2126729, - 0.7151522, - 0.072175, - 0.0193339, - 0.119192, - 0.9503041, -]; - -export const XYZ_RGB = [ - 3.2404542, - -1.5371385, - -0.4985314, - -0.969266, - 1.8760108, - 0.041556, - 0.0556434, - -0.2040259, - 1.0572252, -]; - -export const FF = float(2); -export const PC = percent(2); -export const INV8BIT = 1 / 0xff; diff --git a/packages/color/src/convert.ts b/packages/color/src/convert.ts index 9abd2648d7..ef40d8be80 100644 --- a/packages/color/src/convert.ts +++ b/packages/color/src/convert.ts @@ -1,242 +1,55 @@ -import type { Implementation2O, MultiFn2O } from "@thi.ng/defmulti"; -import { DEFAULT, defmulti } from "@thi.ng/defmulti"; -import { illegalArgs } from "@thi.ng/errors"; +import { assert } from "@thi.ng/api"; +import { isArray } from "@thi.ng/checks"; +import { unsupported } from "@thi.ng/errors"; import type { Color, - ColorConversion, ColorMode, - IColor, + ColorSpec, + Conversions, ReadonlyColor, } from "./api"; -import { hcyaRgba } from "./hcya-rgba"; -import { hsiaRgba } from "./hsia-rgba"; -import { hslaCss } from "./hsla-css"; -import { hslaHsva } from "./hsla-hsva"; -import { hslaRgba } from "./hsla-rgba"; -import { hsvaCss } from "./hsva-css"; -import { hsvaHsla } from "./hsva-hsla"; -import { hsvaRgba } from "./hsva-rgba"; -import { int32Css } from "./int-css"; -import { int32Rgba } from "./int-rgba"; -import { parseCss } from "./parse-css"; -import { rgbaCss } from "./rgba-css"; -import { rgbaHcya } from "./rgba-hcya"; -import { rgbaHsia } from "./rgba-hsia"; -import { rgbaHsla } from "./rgba-hsla"; -import { rgbaHsva } from "./rgba-hsva"; -import { rgbaInt } from "./rgba-int"; -import { rgbaXyza } from "./rgba-xyza"; -import { rgbaYcbcra } from "./rgba-ycbcra"; -import { xyzaRgba } from "./xyza-rgba"; -import { ycbcraRgba } from "./ycbcra-rgba"; -export const convert: MultiFn2O< - string | number | ReadonlyColor | IColor, - ColorMode, - ColorMode, - Color | string | number -> = defmulti((col: any, mdest, msrc) => - col.mode !== undefined - ? `${mdest}-${col.mode}` - : msrc !== undefined - ? `${mdest}-${msrc}` - : illegalArgs(`missing src color mode`) -); -convert.add(DEFAULT, (col: any, mdest, msrc) => - (col.mode !== undefined && col.mode === mdest) || mdest === msrc - ? col - : illegalArgs(`missing conversion for mode ${msrc} -> ${mdest}`) -); - -export function asCSS(col: IColor): string; -export function asCSS( - col: string | number | ReadonlyColor, - mode: ColorMode -): string; -export function asCSS(col: any, mode?: ColorMode) { - return convert(col, "css", mode); -} - -export function asRGBA(col: IColor): Color; -export function asRGBA( - col: string | number | ReadonlyColor, - mode: ColorMode -): Color; -export function asRGBA(col: any, mode?: ColorMode) { - return convert(col, "rgb", mode); -} - -export function asHCYA(col: IColor): Color; -export function asHCYA( - col: string | number | ReadonlyColor, - mode: ColorMode -): Color; -export function asHCYA(col: any, mode?: ColorMode) { - return convert(col, "hcy", mode); -} - -export function asHSIA(col: IColor): Color; -export function asHSIA( - col: string | number | ReadonlyColor, - mode: ColorMode -): Color; -export function asHSIA(col: any, mode?: ColorMode) { - return convert(col, "hsi", mode); -} - -export function asHSLA(col: IColor): Color; -export function asHSLA( - col: string | number | ReadonlyColor, - mode: ColorMode -): Color; -export function asHSLA(col: any, mode?: ColorMode) { - return convert(col, "hsl", mode); -} - -export function asHSVA(col: IColor): Color; -export function asHSVA( - col: string | number | ReadonlyColor, - mode: ColorMode -): Color; -export function asHSVA(col: any, mode?: ColorMode) { - return convert(col, "hsv", mode); -} - -export function asXYZA(col: IColor): Color; -export function asXYZA( - col: string | number | ReadonlyColor, - mode: ColorMode -): Color; -export function asXYZA(col: any, mode?: ColorMode) { - return convert(col, "xyz", mode); -} - -export function asYCbCrA(col: IColor): Color; -export function asYCbCrA( - col: string | number | ReadonlyColor, - mode: ColorMode -): Color; -export function asYCbCrA(col: any, mode?: ColorMode) { - return convert(col, "ycbcr", mode); -} - -const defConversion = ( - dest: ColorMode, - src: ColorMode, - impl: Implementation2O< - string | number | ReadonlyColor | IColor, - ColorMode, - ColorMode, - Color | string | number - > -) => convert.add(`${dest}-${src}`, impl); - -const defConversions = ( - src: ColorMode, - toRGBA: ColorConversion, - ...dest: ColorMode[] +export const CONVERSIONS: Partial> = {}; + +/** + * Registers conversions for given {@link ColorSpec}. Called by + * {@link defColor}. + * + * @param spec + * + * @internal + */ +export const defConversions = ( + mode: ColorMode, + spec: ColorSpec["from"] ) => { - defConversion("rgb", src, (x: any) => toRGBA([], x)); - dest.forEach((id) => - defConversion(id, src, (x: any) => convert(toRGBA([], x), id, "rgb")) - ); + for (let id in spec) { + const val = spec[id]; + if (isArray(val)) { + const [a, b, c, d] = val; + spec[id] = + val.length === 2 + ? (out, src) => b(out, a(out, src)) + : val.length === 3 + ? (out, src) => c!(out, b(out, a(out, src))) + : (out, src) => d!(out, c!(out, b(out, a(out, src)))); + } + } + CONVERSIONS[mode] = spec; }; -// CSS - -defConversion("rgb", "css", (x: any) => parseCss(x)); - -([ - "hcy", - "hsi", - "hsl", - "hsv", - "int", - "xyz", - "ycbcr", -]).forEach((id) => - defConversion(id, "css", (x: any) => convert(parseCss(x), id, "rgb")) -); - -// Int - -defConversions("int", int32Rgba, "hcy", "hsi", "hsl", "hsv", "xyz", "ycbcr"); - -defConversion("css", "int", (x: any) => int32Css(x)); - -// HCYA - -defConversions("hcy", hcyaRgba, "css", "int", "hsl", "hsv", "xyz", "ycbcr"); - -// HSIA - -defConversions( - "hsi", - hsiaRgba, - "css", - "int", - "hcy", - "hsl", - "hsv", - "xyz", - "ycbcr" -); - -// HSLA - -defConversions("hsl", hslaRgba, "hcy", "hsi", "int", "xyz", "ycbcr"); - -defConversion("css", "hsl", (x: any) => hslaCss(x)); - -defConversion("hsv", "hsl", (x: any) => hslaHsva([], x)); - -// HSVA - -defConversions("hsv", hsvaRgba, "hcy", "hsi", "int", "xyz", "ycbcr"); - -defConversion("css", "hsv", (x: any) => hsvaCss(x)); - -defConversion("hsl", "hsv", (x: any) => hsvaHsla([], x)); - -// RGBA - -(<[ColorMode, ColorConversion][]>[ - ["hcy", rgbaHcya], - ["hsi", rgbaHsia], - ["hsl", rgbaHsla], - ["hsv", rgbaHsva], - ["xyz", rgbaXyza], - ["ycbcr", rgbaYcbcra], -]).forEach(([id, fn]) => defConversion(id, "rgb", (x: any) => fn([], x))); - -defConversion("css", "rgb", (x: any) => rgbaCss(x)); - -defConversion("int", "rgb", (x: any) => rgbaInt(x)); - -// XYZA - -defConversions( - "xyz", - xyzaRgba, - "css", - "hcy", - "hsi", - "hsl", - "hsv", - "int", - "ycbcr" -); - -// YCbCr - -defConversions( - "ycbcr", - ycbcraRgba, - "css", - "hcy", - "hsi", - "hsl", - "hsv", - "int", - "xyz" -); +export const convert = ( + res: T | null, + src: ReadonlyColor, + destMode: ColorMode, + srcMode: ColorMode +): T => { + const spec = CONVERSIONS[destMode]; + assert(!!spec, `no conversions available for ${destMode}`); + let $convert = spec![srcMode]; + return $convert + ? $convert(res, src) + : CONVERSIONS.rgb![srcMode] + ? spec!.rgb(res, CONVERSIONS.rgb![srcMode]!([], src)) + : unsupported(`can't convert: ${srcMode} -> ${destMode}`); +}; diff --git a/packages/color/src/css.ts b/packages/color/src/css.ts deleted file mode 100644 index 6ff35db131..0000000000 --- a/packages/color/src/css.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { ICopy, IDeref } from "@thi.ng/api"; -import type { ColorMode, IColor } from "./api"; - -export const css = (col: string) => new CSS(col); - -export class CSS implements IColor, ICopy, IDeref { - value: string; - - constructor(col: string) { - this.value = col; - } - - get mode() { - return "css"; - } - - copy() { - return new CSS(this.value); - } - - deref() { - return this.value; - } -} diff --git a/packages/color/src/css/css.ts b/packages/color/src/css/css.ts new file mode 100644 index 0000000000..3b0baa25a4 --- /dev/null +++ b/packages/color/src/css/css.ts @@ -0,0 +1,57 @@ +import type { Fn } from "@thi.ng/api"; +import { isNumber, isString } from "@thi.ng/checks"; +import type { ColorMode, IParsedColor, MaybeColor, TypedColor } from "../api"; +import { convert } from "../convert"; +import { hslCss } from "../hsl/hsl-css"; +import { hsvCss } from "../hsv/hsv-css"; +import { intArgb32Css } from "../int/int-css"; +import { intAbgr32Argb32 } from "../int/int-int"; +import { lchLab } from "../lab/lab-lch"; +import { labRgb, labRgbD65 } from "../lab/lab-rgb"; +import { rgbCss } from "../rgb/rgb-css"; +import { rgbSrgb } from "../rgb/rgb-srgb"; +import { srgbCss } from "../srgb/srgb-css"; + +/** @internal */ +const CSS_CONVERSIONS: Partial>> = { + abgr32: (x) => intArgb32Css(intAbgr32Argb32(x[0])), + argb32: (x) => intArgb32Css(x[0]), + hsl: hslCss, + hsv: hsvCss, + // TODO temporarily disabled until CSS L4 is officially supported in browsers + // currently serializing as sRGB CSS + // lab50: labCss, + // lab65: (x) => labCss(labLabD65_50([], x)), + // lch: lchCss, + lab50: (src) => srgbCss(rgbSrgb(null, labRgb([], src))), + lab65: (src) => srgbCss(rgbSrgb(null, labRgbD65([], src))), + lch: (src) => srgbCss(rgbSrgb(null, labRgb(null, lchLab([], src)))), + rgb: rgbCss, + srgb: srgbCss, +}; + +/** + * Takes a color in one of the following formats and tries to convert it + * to a CSS string: + * + * - any {@link TypedColor} instance + * - raw sRGB(A) vector + * - number (packed 0xaarrggbb int, MUST provide alpha channel) + * - string (passthrough) + * + * @param col - source color + */ +export const css = (src: Exclude) => { + let asCss: Fn | undefined; + return isString(src) + ? src + : isNumber(src) + ? intArgb32Css(src) + : (>src).mode + ? (asCss = CSS_CONVERSIONS[(>src).mode]) + ? asCss(src) + : CSS_CONVERSIONS.rgb!( + convert([], src, "rgb", (>src).mode) + ) + : srgbCss(src); +}; diff --git a/packages/color/src/css/parse-css.ts b/packages/color/src/css/parse-css.ts new file mode 100644 index 0000000000..11e513e0ab --- /dev/null +++ b/packages/color/src/css/parse-css.ts @@ -0,0 +1,149 @@ +import type { IDeref } from "@thi.ng/api"; +import { assert } from "@thi.ng/api"; +import { interleave4_12_24, interleave4_16_32 } from "@thi.ng/binary"; +import { isString } from "@thi.ng/checks"; +import { illegalArgs, unsupported } from "@thi.ng/errors"; +import { clamp01, fract, TAU } from "@thi.ng/math"; +import { IParsedColor, ParsedColor } from "../api"; +import { CSS_NAMES } from "../api/names"; +import { CSS_SYSTEM_COLORS } from "../api/system"; +import { intArgb32Srgb } from "../int/int-srgb"; + +/** + * Attempts to parse given CSS color into an interim {@link ParsedColor} type + * with {@link srgb}, {@link hsl}, {@link labD50} or {@link lch} color modes. + * Throws an error if any of the validations during parsing failed. + * + * @remarks + * The following syntax versions are supported: + * + * - CSS named colors + * - CSS system colors @see {@link CSS_SYSTEM_COLORS} + * - hex3/4/6/8 + * - `rgb(r% g% b% / a%?)` + * - `rgb(r g b / a?)` + * - `rgb(r,g,b)` + * - `rgba(r,g,b,a)` + * - `hsl(h s% l% / a%?)` + * - `hsl(h,s%,l%)` + * - `hsla(h,s%,l%,a)` + * - `lab(l a b / alpha?)` + * - `lch(l c h / alpha?)` + * + * Hue values can be given according to CSS Color L4 spec (raw, deg, rad, grad, + * turn): https://www.w3.org/TR/css-color-4/#typedef-hue + * + * If no alpha channel is given, it will default to 1.0 (fully opaque). + * + * Note that any named or system CSS colors, hex colors and any RGB colors will + * be returned as sRGB instance. In former versions of this library (pre 3.0.0), + * there was only a single RGB type with undefined behaviour re: linear or + * gamma-encoded versions. Since v3.0.0, {@link rgb} is only used for _linear_ + * and {@link srgb} for non-linear (gamma encoded) RGB colors (CSS uses sRGB by + * default). + * + * @param src + */ +export const parseCss = (src: string | IDeref): IParsedColor => { + src = (isString(src) ? src : src.deref()).toLowerCase(); + const named = (CSS_NAMES)[src] || (CSS_SYSTEM_COLORS)[src]; + if (named || src[0] === "#") + return new ParsedColor( + "srgb", + intArgb32Srgb([], parseHex(named || src)) + ); + const parts = src.split(/[(),/ ]+/); + const [mode, a, b, c, d] = parts; + assert( + parts.length === 5 || parts.length === 6, + `invalid ${mode} color: ${src}` + ); + switch (mode) { + case "rgb": + case "rgba": + return new ParsedColor("srgb", [ + parseNumOrPercent(a), + parseNumOrPercent(b), + parseNumOrPercent(c), + parseAlpha(d), + ]); + case "hsl": + case "hsla": + return new ParsedColor("hsl", [ + parseHue(a), + parsePercent(b), + parsePercent(c), + parseAlpha(d), + ]); + case "lab": + return new ParsedColor("lab50", [ + parsePercent(a, false), + parseNumber(b) * 0.01, + parseNumber(c) * 0.01, + parseAlpha(d), + ]); + case "lch": + return new ParsedColor("lch", [ + parsePercent(a, false), + parseNumber(b) * 0.01, + parseHue(c), + parseAlpha(d), + ]); + default: + unsupported(`color mode: ${mode}`); + } +}; + +const HUE_NORMS: Record = { + rad: TAU, + grad: 400, + turn: 1, + deg: 360, + undefined: 360, +}; + +const parseHue = (x: string) => { + const match = /^(-?[0-9.]+)(deg|rad|grad|turn)?$/.exec(x); + assert(!!match, `expected hue, got: ${x}`); + return fract(parseFloat(match![1]) / HUE_NORMS[match![2]]); +}; + +const parseAlpha = (x?: string) => (x ? parseNumOrPercent(x, 1) : 1); + +const parsePercent = (x: string, clamp = true) => { + assert(/^([0-9.]+)%$/.test(x), `expected percentage, got: ${x}`); + const res = parseFloat(x) / 100; + return clamp ? clamp01(res) : res; +}; + +const parseNumber = (x: string) => { + assert(/^-?[0-9.]+$/.test(x), `expected number, got: ${x}`); + return parseFloat(x); +}; + +const parseNumOrPercent = (x: string, norm = 255, clamp = true) => { + assert(/^-?[0-9.]+%?$/.test(x), `expected number or percentage, got: ${x}`); + const res = parseFloat(x) / (x.endsWith("%") ? 100 : norm); + return clamp ? clamp01(res) : res; +}; + +export const parseHex = (src: string): number => { + const match = /^#?([0-9a-f]{3,8})$/i.exec(src); + if (match) { + const hex = match[1]; + switch (hex.length) { + case 3: + return ( + (interleave4_12_24(parseInt(hex, 16)) | 0xff000000) >>> 0 + ); + case 4: + return interleave4_16_32(parseInt(hex, 16)) >>> 0; + case 6: + return (parseInt(hex, 16) | 0xff000000) >>> 0; + case 8: + return parseInt(hex, 16) >>> 0; + default: + } + } + return illegalArgs(`invalid hex color: "${src}"`); +}; diff --git a/packages/color/src/defcolor.ts b/packages/color/src/defcolor.ts new file mode 100644 index 0000000000..bcf198f6dd --- /dev/null +++ b/packages/color/src/defcolor.ts @@ -0,0 +1,183 @@ +import type { IDeref, NumericArray } from "@thi.ng/api"; +import { + implementsFunction, + isArrayLike, + isNumber, + isString, +} from "@thi.ng/checks"; +import { illegalArgs } from "@thi.ng/errors"; +import { EPS } from "@thi.ng/math"; +import type { IRandom } from "@thi.ng/random"; +import { + clamp4, + declareIndices, + eqDelta4, + mapStridedBuffer, + randMinMax, + set4, + stridedValues, +} from "@thi.ng/vectors"; +import type { + ChannelSpec, + ColorFactory, + ColorMode, + ColorSpec, + IColor, + MaybeColor, + ReadonlyColor, + TypedColor, +} from "./api"; +import { convert, defConversions } from "./convert"; +import { parseCss } from "./css/parse-css"; +import { intArgb32Rgb } from "./int/int-rgb"; +import { ensureArgs } from "./internal/ensure-args"; + +type $DefColor = { + [k in K]: number; +} & { + readonly mode: M; + random(rnd?: IRandom): $DefColor; + set(src: ReadonlyColor): $DefColor; + toJSON(): number[]; +} & TypedColor<$DefColor>; + +export const defColor = ( + spec: ColorSpec +) => { + const channels: Partial> = spec.channels || {}; + const order = spec.order; + const numChannels = order.length; + order.reduce((acc, id) => { + acc[id] = { + range: [0, 1], + ...channels[id], + }; + return acc; + }, channels); + const min = order.map((id) => channels[id]!.range![0]); + const max = order.map((id) => channels[id]!.range![1]); + // fix alpha channel for randomize() + const minR = set4([], min); + const maxR = set4([], max); + minR[numChannels - 1] = 1; + + const $Color = class implements TypedColor<$DefColor> { + buf: NumericArray; + [id: number]: number; + + constructor(buf?: NumericArray, public offset = 0, public stride = 1) { + this.buf = buf || [0, 0, 0, 0]; + this.offset = offset; + this.stride = stride; + } + + get mode() { + return spec.mode; + } + + get length() { + return numChannels; + } + + get range(): [ReadonlyColor, ReadonlyColor] { + return [min, max]; + } + + get [Symbol.toStringTag]() { + return spec.mode; + } + + [Symbol.iterator]() { + return stridedValues( + this.buf, + this.length, + this.offset, + this.stride + ); + } + + copy(): $DefColor { + return new $Color(this.deref()); + } + + copyView(): $DefColor { + return new $Color(this.buf, this.offset, this.stride); + } + + empty(): $DefColor { + return new $Color(); + } + + deref() { + return [this[0], this[1], this[2], this[3]]; + } + + set(src: ReadonlyColor) { + return set4(this, src); + } + + clamp() { + return clamp4(null, this, min, max); + } + + eqDelta(o: $DefColor, eps = EPS): boolean { + return eqDelta4(this, o, eps); + } + + toJSON() { + return this.deref(); + } + + randomize(rnd?: IRandom): this { + return randMinMax(this, minR, maxR, rnd); + } + }; + + declareIndices($Color.prototype, order); + defConversions(spec.mode, spec.from); + + const fromColor = (src: ReadonlyColor, mode: ColorMode, xs: any[]): any => { + const res = new $Color(...xs); + return mode !== spec.mode + ? convert(res, src, spec.mode, mode) + : res.set(src); + }; + + const factory = (src?: MaybeColor, ...xs: any[]): $DefColor => + src == null + ? new $Color() + : isString(src) + ? factory(parseCss(src), ...xs) + : isArrayLike(src) + ? isString((src).mode) + ? fromColor(src, (src).mode, xs) + : new $Color(src, ...xs) + : implementsFunction(src, "deref") + ? fromColor((>src).deref(), (src).mode, xs) + : isNumber(src) + ? xs.length && xs.every(isNumber) + ? new $Color(...ensureArgs([src, ...xs])) + : fromColor(intArgb32Rgb([], src), "rgb", xs) + : illegalArgs(`can't create a ${spec.mode} color from: ${src}`); + + factory.class = $Color; + + factory.range = <[ReadonlyColor, ReadonlyColor]>[min, max]; + + factory.random = ( + rnd?: IRandom, + buf?: NumericArray, + idx?: number, + stride?: number + ) => new $Color(buf, idx, stride).randomize(rnd); + + factory.mapBuffer = ( + buf: NumericArray, + num = (buf.length / numChannels) | 0, + start = 0, + cstride = 1, + estride = numChannels + ) => mapStridedBuffer($Color, buf, num, start, cstride, estride); + + return >>factory; +}; diff --git a/packages/color/src/distance.ts b/packages/color/src/distance.ts deleted file mode 100644 index eee9e96c37..0000000000 --- a/packages/color/src/distance.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { cossin, TAU } from "@thi.ng/math"; -import type { ColorDistance } from "./api"; -import { luminanceRGB } from "./luminance-rgb"; - -/** - * Computes distance between two HSV colors, i.e. the eucledian distance between - * points in a cyclinder. - * - * @param a - * @param b - */ -export const distHSV: ColorDistance = (a, b) => { - const aa = cossin(a[0] * TAU, a[1]); - const bb = cossin(b[0] * TAU, b[1]); - return Math.hypot(aa[0] - bb[0], aa[1] - bb[1], a[2] - b[2]); -}; - -/** - * Computes difference in saturation between two HSV colors. - * - * @param a - * @param b - */ -export const distSatHSV: ColorDistance = (a, b) => Math.abs(a[1] - b[1]); - -/** - * Computes difference in brightness between two HSV or two HSL colors. - * - * @param a - * @param b - */ -export const distLumaHSV: ColorDistance = (a, b) => Math.abs(a[2] - b[2]); - -/** - * Computes eucledian distance between two RGB colors. - * - * @param a - * @param b - */ -export const distRGB: ColorDistance = (a, b) => - Math.hypot(a[0] - b[0], a[1] - b[1], a[2] - b[2]); - -/** - * Computes difference in luminance between two RGB colors. - * - * @param a - * @param b - */ -export const distLumaRGB: ColorDistance = (a, b) => - Math.abs(luminanceRGB(a) - luminanceRGB(b)); diff --git a/packages/color/src/hcya-rgba.ts b/packages/color/src/hcy/hcy-rgb.ts similarity index 50% rename from packages/color/src/hcya-rgba.ts rename to packages/color/src/hcy/hcy-rgb.ts index 17d39287cf..3158cd4af6 100644 --- a/packages/color/src/hcya-rgba.ts +++ b/packages/color/src/hcy/hcy-rgb.ts @@ -1,16 +1,16 @@ import { clamp01 } from "@thi.ng/math"; -import { dot3, setC3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { RGB_LUMINANCE } from "./constants"; -import { hueRgba } from "./hue-rgba"; -import { ensureAlpha } from "./internal/ensure-alpha"; +import { setC3 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { hueRgb } from "../rgb/hue-rgb"; +import { ensureAlpha } from "../internal/ensure-alpha"; +import { luminanceRgb } from "../ops/luminance-rgb"; -export const hcyaRgba: ColorOp = (out, src) => { +export const hcyRgb: ColorOp = (out, src) => { const h = src[0]; let c = src[1]; const y = src[2]; - const rgb = hueRgba(out || src, h, ensureAlpha(src[3])); - const lum = dot3(rgb, RGB_LUMINANCE); + const rgb = hueRgb(out || src, h, ensureAlpha(src[3])); + const lum = luminanceRgb(rgb); if (y < lum) { c *= y / lum; } else if (lum < 1) { diff --git a/packages/color/src/hcy/hcy.ts b/packages/color/src/hcy/hcy.ts new file mode 100644 index 0000000000..d057e39760 --- /dev/null +++ b/packages/color/src/hcy/hcy.ts @@ -0,0 +1,35 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { rgbHcy } from "../rgb/rgb-hcy"; + +export declare class HCY implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + h: number; + c: number; + y: number; + alpha: number; + [id: number]: number; + readonly mode: "hcy"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): HCY; + copyView(): HCY; + deref(): Color; + empty(): HCY; + eqDelta(o: HCY, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const hcy = >defColor({ + mode: "hcy", + order: ["h", "c", "y", "alpha"], + from: { rgb: rgbHcy, srgb: rgbHcy }, +}); diff --git a/packages/color/src/hcya.ts b/packages/color/src/hcya.ts deleted file mode 100644 index 30c899503e..0000000000 --- a/packages/color/src/hcya.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { declareIndices, IVector } from "@thi.ng/vectors"; -import type { Color, ColorMode } from "./api"; -import { AColor } from "./internal/acolor"; -import { ensureArgs } from "./internal/ensure-args"; - -export function hcya(col: Color, offset?: number, stride?: number): HCYA; -export function hcya(h?: number, c?: number, y?: number, a?: number): HCYA; -export function hcya(...args: any[]) { - return new HCYA(...ensureArgs(args)); -} - -export class HCYA extends AColor implements IVector { - h!: number; - c!: number; - y!: number; - a!: number; - - get mode() { - return "hcy"; - } - - copy() { - return new HCYA(this.deref()); - } - - copyView() { - return new HCYA(this.buf, this.offset, this.stride); - } - - empty() { - return new HCYA(); - } -} - -declareIndices(HCYA.prototype, ["h", "c", "y", "a"]); diff --git a/packages/color/src/hsia-rgba.ts b/packages/color/src/hsi/hsi-rgb.ts similarity index 86% rename from packages/color/src/hsia-rgba.ts rename to packages/color/src/hsi/hsi-rgb.ts index 036801a8de..3c3cd6b009 100644 --- a/packages/color/src/hsia-rgba.ts +++ b/packages/color/src/hsi/hsi-rgb.ts @@ -1,10 +1,10 @@ import { setC3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { clampH } from "./clamp"; +import type { ColorOp } from "../api"; +import { clampH } from "../ops/clamp"; // https://en.wikipedia.org/wiki/HSL_and_HSV#From_HSI -export const hsiaRgba: ColorOp = (out, src) => { +export const hsiRgb: ColorOp = (out, src) => { out = clampH(out || src, src); const s = out[1]; const i = out[2]; diff --git a/packages/color/src/hsi/hsi.ts b/packages/color/src/hsi/hsi.ts new file mode 100644 index 0000000000..e321d75c9b --- /dev/null +++ b/packages/color/src/hsi/hsi.ts @@ -0,0 +1,35 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { rgbHsi } from "../rgb/rgb-hsi"; + +export declare class HSI implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + h: number; + s: number; + i: number; + alpha: number; + [id: number]: number; + readonly mode: "hsi"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): HSI; + copyView(): HSI; + deref(): Color; + empty(): HSI; + eqDelta(o: HSI, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const hsi = >defColor({ + mode: "hsi", + order: ["h", "s", "i", "alpha"], + from: { rgb: rgbHsi, srgb: rgbHsi }, +}); diff --git a/packages/color/src/hsia.ts b/packages/color/src/hsia.ts deleted file mode 100644 index abfed2879e..0000000000 --- a/packages/color/src/hsia.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { declareIndices, IVector } from "@thi.ng/vectors"; -import type { Color, ColorMode } from "./api"; -import { AColor } from "./internal/acolor"; -import { ensureArgs } from "./internal/ensure-args"; - -export function hsia(col: Color, offset?: number, stride?: number): HSIA; -export function hsia(h?: number, s?: number, i?: number, a?: number): HSIA; -export function hsia(...args: any[]) { - return new HSIA(...ensureArgs(args)); -} - -export class HSIA extends AColor implements IVector { - h!: number; - s!: number; - i!: number; - a!: number; - - get mode() { - return "hsi"; - } - - copy() { - return new HSIA(this.deref()); - } - - copyView() { - return new HSIA(this.buf, this.offset, this.stride); - } - - empty() { - return new HSIA(); - } -} - -declareIndices(HSIA.prototype, ["h", "s", "i", "a"]); diff --git a/packages/color/src/hsl/hsl-css.ts b/packages/color/src/hsl/hsl-css.ts new file mode 100644 index 0000000000..22d4bafc68 --- /dev/null +++ b/packages/color/src/hsl/hsl-css.ts @@ -0,0 +1,16 @@ +import { clamp01, fract } from "@thi.ng/math"; +import type { ReadonlyColor } from "../api"; +import { FF, PC } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +export const hslCss = (src: ReadonlyColor) => { + const h = FF(fract(src[0]) * 360); + const s = PC(clamp01(src[1])); + const l = PC(clamp01(src[2])); + const a = ensureAlpha(src[3]); + // TODO update to new syntax once CSS Color L4 is more widely supported + // https://www.w3.org/TR/css-color-4/#serializing-lab-lch + // https://test.csswg.org/harness/results/css-color-4_dev/grouped/ (test reports) + // return `hsl(${h} ${s} ${l}` + (a < 1 ? `/${FF(a)})` : ")"); + return a < 1 ? `hsla(${h},${s},${l},${FF(a)})` : `hsl(${h},${s},${l})`; +}; diff --git a/packages/color/src/hsla-hsva.ts b/packages/color/src/hsl/hsl-hsv.ts similarity index 64% rename from packages/color/src/hsla-hsva.ts rename to packages/color/src/hsl/hsl-hsv.ts index 6137738e6b..06f03bcc3a 100644 --- a/packages/color/src/hsla-hsva.ts +++ b/packages/color/src/hsl/hsl-hsv.ts @@ -1,7 +1,7 @@ -import type { ColorOp } from "./api"; -import { clampH } from "./clamp"; +import type { ColorOp } from "../api"; +import { clampH } from "../ops/clamp"; -export const hslaHsva: ColorOp = (out, src) => { +export const hslHsv: ColorOp = (out, src) => { out = clampH(out || src, src); const s = out[1]; const l = out[2]; diff --git a/packages/color/src/hsla-rgba.ts b/packages/color/src/hsl/hsl-rgb.ts similarity index 57% rename from packages/color/src/hsla-rgba.ts rename to packages/color/src/hsl/hsl-rgb.ts index b0b6f4f91b..51b0778e05 100644 --- a/packages/color/src/hsla-rgba.ts +++ b/packages/color/src/hsl/hsl-rgb.ts @@ -1,13 +1,13 @@ import { clamp01 } from "@thi.ng/math"; import { setC3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { hueRgba } from "./hue-rgba"; -import { ensureAlpha } from "./internal/ensure-alpha"; +import type { ColorOp } from "../api"; +import { hueRgb } from "../rgb/hue-rgb"; +import { ensureAlpha } from "../internal/ensure-alpha"; -export const hslaRgba: ColorOp = (out, src) => { +export const hslRgb: ColorOp = (out, src) => { const s = clamp01(src[1]); const l = clamp01(src[2]); - out = hueRgba(out || src, src[0], ensureAlpha(src[3])); + out = hueRgb(out || src, src[0], ensureAlpha(src[3])); const c = (1 - Math.abs(2 * l - 1)) * s; return setC3( out, diff --git a/packages/color/src/hsl/hsl.ts b/packages/color/src/hsl/hsl.ts new file mode 100644 index 0000000000..426ffa622a --- /dev/null +++ b/packages/color/src/hsl/hsl.ts @@ -0,0 +1,36 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { hsvHsl } from "../hsv/hsv-hsl"; +import { rgbHsl } from "../rgb/rgb-hsl"; + +export declare class HSL implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + h: number; + s: number; + l: number; + alpha: number; + [id: number]: number; + readonly mode: "hsl"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): HSL; + copyView(): HSL; + deref(): Color; + empty(): HSL; + eqDelta(o: HSL, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const hsl = >defColor({ + mode: "hsl", + order: ["h", "s", "l", "alpha"], + from: { rgb: rgbHsl, srgb: rgbHsl, hsv: hsvHsl }, +}); diff --git a/packages/color/src/hsla-css.ts b/packages/color/src/hsla-css.ts deleted file mode 100644 index 23e93f52d2..0000000000 --- a/packages/color/src/hsla-css.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { clamp01 } from "@thi.ng/math"; -import type { ReadonlyColor } from "./api"; -import { FF, PC } from "./constants"; -import { ensureAlpha } from "./internal/ensure-alpha"; -import { ensureHue } from "./internal/ensure-hue"; - -export const hslaCss = (src: ReadonlyColor) => { - const h = FF(ensureHue(src[0]) * 360); - const s = PC(clamp01(src[1])); - const l = PC(clamp01(src[2])); - const a = ensureAlpha(src[3]); - return a < 1 ? `hsla(${h},${s},${l},${FF(a)})` : `hsl(${h},${s},${l})`; -}; diff --git a/packages/color/src/hsla.ts b/packages/color/src/hsla.ts deleted file mode 100644 index e49ad0dc4e..0000000000 --- a/packages/color/src/hsla.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { declareIndices, IVector } from "@thi.ng/vectors"; -import type { Color, ColorMode } from "./api"; -import { AColor } from "./internal/acolor"; -import { ensureArgs } from "./internal/ensure-args"; - -export function hsla(col: Color, offset?: number, stride?: number): HSLA; -export function hsla(h?: number, s?: number, l?: number, a?: number): HSLA; -export function hsla(...args: any[]) { - return new HSLA(...ensureArgs(args)); -} - -export class HSLA extends AColor implements IVector { - h!: number; - s!: number; - l!: number; - a!: number; - - get mode() { - return "hsl"; - } - - copy() { - return new HSLA(this.deref()); - } - - copyView() { - return new HSLA(this.buf, this.offset, this.stride); - } - - empty() { - return new HSLA(); - } -} - -declareIndices(HSLA.prototype, ["h", "s", "l", "a"]); diff --git a/packages/color/src/hsv/hsv-css.ts b/packages/color/src/hsv/hsv-css.ts new file mode 100644 index 0000000000..9aeb110fca --- /dev/null +++ b/packages/color/src/hsv/hsv-css.ts @@ -0,0 +1,5 @@ +import type { ReadonlyColor } from "../api"; +import { hslCss } from "../hsl/hsl-css"; +import { hsvHsl } from "./hsv-hsl"; + +export const hsvCss = (src: ReadonlyColor) => hslCss(hsvHsl([], src)); diff --git a/packages/color/src/hsva-hsla.ts b/packages/color/src/hsv/hsv-hsl.ts similarity index 63% rename from packages/color/src/hsva-hsla.ts rename to packages/color/src/hsv/hsv-hsl.ts index bbec94cb6e..23c61f1381 100644 --- a/packages/color/src/hsva-hsla.ts +++ b/packages/color/src/hsv/hsv-hsl.ts @@ -1,7 +1,7 @@ -import type { ColorOp } from "./api"; -import { clampH } from "./clamp"; +import type { ColorOp } from "../api"; +import { clampH } from "../ops/clamp"; -export const hsvaHsla: ColorOp = (out, src) => { +export const hsvHsl: ColorOp = (out, src) => { out = clampH(out || src, src); const s = out[1]; const v = out[2]; diff --git a/packages/color/src/hsva-rgba.ts b/packages/color/src/hsv/hsv-rgb.ts similarity index 57% rename from packages/color/src/hsva-rgba.ts rename to packages/color/src/hsv/hsv-rgb.ts index 26056ad15d..5f3a196eb1 100644 --- a/packages/color/src/hsva-rgba.ts +++ b/packages/color/src/hsv/hsv-rgb.ts @@ -1,13 +1,13 @@ import { setC3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { clampH } from "./clamp"; -import { hueRgba } from "./hue-rgba"; +import type { ColorOp } from "../api"; +import { clampH } from "../ops/clamp"; +import { hueRgb } from "../rgb/hue-rgb"; -export const hsvaRgba: ColorOp = (out, src) => { +export const hsvRgb: ColorOp = (out, src) => { out = clampH(out || src, src); const s = out[1]; const v = out[2]; - hueRgba(out, src[0], out[3]); + hueRgb(out, src[0], out[3]); return setC3( out, ((out[0] - 1) * s + 1) * v, diff --git a/packages/color/src/hsv/hsv.ts b/packages/color/src/hsv/hsv.ts new file mode 100644 index 0000000000..fabcdccf79 --- /dev/null +++ b/packages/color/src/hsv/hsv.ts @@ -0,0 +1,36 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { hslHsv } from "../hsl/hsl-hsv"; +import { rgbHsv } from "../rgb/rgb-hsv"; + +export declare class HSV implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + h: number; + s: number; + v: number; + alpha: number; + [id: number]: number; + readonly mode: "hsv"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): HSV; + copyView(): HSV; + deref(): Color; + empty(): HSV; + eqDelta(o: HSV, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const hsv = >defColor({ + mode: "hsv", + order: ["h", "s", "v", "alpha"], + from: { rgb: rgbHsv, srgb: rgbHsv, hsl: hslHsv }, +}); diff --git a/packages/color/src/hsva-css.ts b/packages/color/src/hsva-css.ts deleted file mode 100644 index 68d0f119f4..0000000000 --- a/packages/color/src/hsva-css.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { ReadonlyColor } from "./api"; -import { hslaCss } from "./hsla-css"; -import { hsvaHsla } from "./hsva-hsla"; - -export const hsvaCss = (src: ReadonlyColor) => hslaCss(hsvaHsla([], src)); diff --git a/packages/color/src/hsva.ts b/packages/color/src/hsva.ts deleted file mode 100644 index bb3807f542..0000000000 --- a/packages/color/src/hsva.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { declareIndices, IVector } from "@thi.ng/vectors"; -import type { Color, ColorMode } from "./api"; -import { AColor } from "./internal/acolor"; -import { ensureArgs } from "./internal/ensure-args"; - -export function hsva(col: Color, offset?: number, stride?: number): HSVA; -export function hsva(h?: number, s?: number, v?: number, a?: number): HSVA; -export function hsva(...args: any[]) { - return new HSVA(...ensureArgs(args)); -} - -export class HSVA extends AColor implements IVector { - h!: number; - s!: number; - v!: number; - a!: number; - - get mode() { - return "hsv"; - } - - copy() { - return new HSVA(this.deref()); - } - - copyView() { - return new HSVA(this.buf, this.offset, this.stride); - } - - empty() { - return new HSVA(); - } -} - -declareIndices(HSVA.prototype, ["h", "s", "v", "a"]); diff --git a/packages/color/src/hue-rgba.ts b/packages/color/src/hue-rgba.ts deleted file mode 100644 index 8e7d5f57eb..0000000000 --- a/packages/color/src/hue-rgba.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { clamp01 } from "@thi.ng/math"; -import { setC4 } from "@thi.ng/vectors"; -import type { Color } from "./api"; -import type { Hue } from "./constants"; -import { ensureHue } from "./internal/ensure-hue"; - -/** - * Converts a normalized hue to RGBA with given optional `alpha` - * value (default: 1). - * - * @param out - result - * @param hue - normalized hue - */ -export const hueRgba = (out: Color | null, hue: number, alpha = 1): Color => { - hue = ensureHue(hue) * 6; - return setC4( - out || [], - clamp01(Math.abs(hue - 3) - 1), - clamp01(2 - Math.abs(hue - 2)), - clamp01(2 - Math.abs(hue - 4)), - alpha - ); -}; - -export const namedHueRgba = (out: Color | null, hue: Hue, alpha = 1) => - hueRgba(out, hue / 12, alpha); diff --git a/packages/color/src/index.ts b/packages/color/src/index.ts index f08948cf1c..caec92a1cf 100644 --- a/packages/color/src/index.ts +++ b/packages/color/src/index.ts @@ -1,58 +1,103 @@ export * from "./api"; -export * from "./constants"; -export * from "./names"; - -export * from "./hcya-rgba"; -export * from "./hsia-rgba"; -export * from "./hsla-css"; -export * from "./hsla-hsva"; -export * from "./hsla-rgba"; -export * from "./hsva-css"; -export * from "./hsva-hsla"; -export * from "./hsva-rgba"; -export * from "./hue-rgba"; -export * from "./int-css"; -export * from "./int-rgba"; -export * from "./kelvin-rgba"; -export * from "./resolve"; -export * from "./rgba-css"; -export * from "./rgba-hcva"; -export * from "./rgba-hcya"; -export * from "./rgba-hsia"; -export * from "./rgba-hsla"; -export * from "./rgba-hsva"; -export * from "./rgba-int"; -export * from "./rgba-xyza"; -export * from "./rgba-ycbcra"; -export * from "./srgba"; -export * from "./xyza-rgba"; -export * from "./ycbcra-rgba"; +export * from "./api/constants"; +export * from "./api/gradients"; +export * from "./api/names"; +export * from "./api/ranges"; +export * from "./api/system"; +export * from "./color"; export * from "./convert"; -export * from "./parse-css"; - -export * from "./int"; -export * from "./css"; -export * from "./hcya"; -export * from "./hsia"; -export * from "./hsla"; -export * from "./hsva"; -export * from "./rgba"; -export * from "./xyza"; -export * from "./ycbcr"; - -export * from "./alpha"; -export * from "./analog"; -export * from "./checks"; -export * from "./clamp"; -export * from "./closest-hue"; -export * from "./color-range"; -export * from "./cosine-gradients"; -export * from "./distance"; -export * from "./invert"; -export * from "./luminance"; -export * from "./luminance-rgb"; -export * from "./mix"; -export * from "./sort"; -export * from "./swatches"; -export * from "./transform"; +export * from "./defcolor"; + +export * from "./css/css"; +export * from "./css/parse-css"; + +export * from "./hcy/hcy-rgb"; +export * from "./hcy/hcy"; + +export * from "./hsi/hsi-rgb"; +export * from "./hsi/hsi"; + +export * from "./hsl/hsl-css"; +export * from "./hsl/hsl-hsv"; +export * from "./hsl/hsl-rgb"; +export * from "./hsl/hsl"; + +export * from "./hsv/hsv-css"; +export * from "./hsv/hsv-hsl"; +export * from "./hsv/hsv-rgb"; +export * from "./hsv/hsv"; + +export * from "./int/int-css"; +export * from "./int/int-int"; +export * from "./int/int-rgb"; +export * from "./int/int-srgb"; +export * from "./int/int"; + +export * from "./lab/lab-css"; +export * from "./lab/lab-lab"; +export * from "./lab/lab-lch"; +export * from "./lab/lab-rgb"; +export * from "./lab/lab-xyz"; +export * from "./lab/lab50"; +export * from "./lab/lab65"; + +export * from "./lch/lch-css"; +export * from "./lch/lch"; + +export * from "./oklab/oklab-rgb"; +export * from "./oklab/oklab-xyz"; +export * from "./oklab/oklab"; + +export * from "./ops/alpha"; +export * from "./ops/analog"; +export * from "./ops/clamp"; +export * from "./ops/closest-hue"; +export * from "./ops/color-range"; +export * from "./ops/cosine-gradients"; +export * from "./ops/distance"; +export * from "./ops/gradients"; +export * from "./ops/invert"; +export * from "./ops/is-gray"; +export * from "./ops/linear"; +export * from "./ops/luminance-rgb"; +export * from "./ops/luminance"; +export * from "./ops/mix"; +export * from "./ops/sort"; +export * from "./ops/swatches"; +export * from "./ops/transform"; + +export * from "./rgb/hue-rgb"; +export * from "./rgb/kelvin-rgba"; +export * from "./rgb/rgb-css"; +export * from "./rgb/rgb-hcv"; +export * from "./rgb/rgb-hcy"; +export * from "./rgb/rgb-hsi"; +export * from "./rgb/rgb-hsl"; +export * from "./rgb/rgb-hsv"; +export * from "./rgb/rgb-lab"; +export * from "./rgb/rgb-oklab"; +export * from "./rgb/rgb-srgb"; +export * from "./rgb/rgb-xyz"; +export * from "./rgb/rgb-ycc"; +export * from "./rgb/rgb"; + +export * from "./srgb/srgb-css"; +export * from "./srgb/srgb-int"; +export * from "./srgb/srgb-rgb"; +export * from "./srgb/srgb"; + +export * from "./xyy/xyy-xyz"; +export * from "./xyy/xyy"; + +export * from "./xyz/wavelength-xyz"; +export * from "./xyz/xyz-lab"; +export * from "./xyz/xyz-oklab"; +export * from "./xyz/xyz-rgb"; +export * from "./xyz/xyz-xyy"; +export * from "./xyz/xyz-xyz"; +export * from "./xyz/xyz50"; +export * from "./xyz/xyz65"; + +export * from "./ycc/ycc-rgb"; +export * from "./ycc/ycc"; diff --git a/packages/color/src/int-css.ts b/packages/color/src/int-css.ts deleted file mode 100644 index 649257162d..0000000000 --- a/packages/color/src/int-css.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { IDeref } from "@thi.ng/api"; -import { U24 } from "@thi.ng/strings"; -import { FF, INV8BIT } from "./constants"; - -export const int32Css = (src: number | IDeref) => { - src = typeof src === "number" ? src : src.deref(); - const a = src >>> 24; - return a < 255 - ? `rgba(${(src >> 16) & 0xff},${(src >> 8) & 0xff},${src & 0xff},${FF( - a * INV8BIT - )})` - : `#${U24(src & 0xffffff)}`; -}; - -export const int24Css = (src: number | IDeref) => { - src = typeof src === "number" ? src : src.deref(); - return int32Css(src | 0xff000000); -}; diff --git a/packages/color/src/int-rgba.ts b/packages/color/src/int-rgba.ts deleted file mode 100644 index 829939b3fb..0000000000 --- a/packages/color/src/int-rgba.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { IDeref } from "@thi.ng/api"; -import { setC4 } from "@thi.ng/vectors"; -import type { Color } from "./api"; -import { INV8BIT } from "./constants"; - -export const int32Rgba = (out: Color | null, src: number | IDeref) => { - src = typeof src === "number" ? src : src.deref(); - return setC4( - out || [], - ((src >>> 16) & 0xff) * INV8BIT, - ((src >>> 8) & 0xff) * INV8BIT, - (src & 0xff) * INV8BIT, - ((src >>> 24) & 0xff) * INV8BIT - ); -}; - -export const int24Rgba = (out: Color | null, src: number | IDeref) => { - src = typeof src === "number" ? src : src.deref(); - return int32Rgba(out, src | 0xff000000); -}; diff --git a/packages/color/src/int.ts b/packages/color/src/int.ts deleted file mode 100644 index a808d24ed3..0000000000 --- a/packages/color/src/int.ts +++ /dev/null @@ -1,37 +0,0 @@ -import type { ICopy, IDeref } from "@thi.ng/api"; -import type { ColorMode, IColor } from "./api"; - -/** - * Returns new {@link Int32} wrapping given ARGB int. - * - * @param rgba - packed ARGB int - */ -export const int32 = (rgba: number) => new Int32(rgba); - -/** - * Returns new {@link Int32} wrapping given 24bit RGB color and setting alpha - * channel set to 100% opaque. - * - * @param rgb - packed RGB int - */ -export const int24 = (rgb: number) => new Int32(rgb | 0xff000000); - -export class Int32 implements IColor, ICopy, IDeref { - value: number; - - constructor(col: number) { - this.value = col >>> 0; - } - - get mode() { - return "int"; - } - - copy() { - return new Int32(this.value); - } - - deref() { - return this.value; - } -} diff --git a/packages/color/src/int/int-css.ts b/packages/color/src/int/int-css.ts new file mode 100644 index 0000000000..2b7a7c7076 --- /dev/null +++ b/packages/color/src/int/int-css.ts @@ -0,0 +1,13 @@ +import { U24 } from "@thi.ng/strings"; +import { FF, INV8BIT } from "../api/constants"; + +export const intArgb32Css = (src: number) => { + const a = src >>> 24; + return a < 255 + ? `rgba(${(src >> 16) & 0xff},${(src >> 8) & 0xff},${src & 0xff},${FF( + a * INV8BIT + )})` + : `#${U24(src & 0xffffff)}`; +}; + +export const intRgb24Css = (src: number) => `#${U24(src & 0xffffff)}`; diff --git a/packages/color/src/int/int-int.ts b/packages/color/src/int/int-int.ts new file mode 100644 index 0000000000..bae43bc0ba --- /dev/null +++ b/packages/color/src/int/int-int.ts @@ -0,0 +1,13 @@ +import { swapLane13 } from "@thi.ng/binary"; + +/** + * Convert ARGB int to ABGR and vice versa. + * + * @param x + */ +export const intArgb32Abgr32 = swapLane13; + +/** + * Alias for {@link intArgbAbgr}. + */ +export const intAbgr32Argb32 = swapLane13; diff --git a/packages/color/src/int/int-rgb.ts b/packages/color/src/int/int-rgb.ts new file mode 100644 index 0000000000..acfd2c9771 --- /dev/null +++ b/packages/color/src/int/int-rgb.ts @@ -0,0 +1,20 @@ +import type { Color } from "../api"; +import { srgbRgb } from "../srgb/srgb-rgb"; +import { + intAbgr32Srgb, + intArgb32Srgb, + intBgr24Srgb, + intRgb24Srgb, +} from "./int-srgb"; + +export const intArgb32Rgb = (out: Color | null, src: number) => + srgbRgb(null, intArgb32Srgb(out, src)); + +export const intRgb24Rgb = (out: Color | null, src: number) => + srgbRgb(null, intRgb24Srgb(out, src)); + +export const intAbgr32Rgb = (out: Color | null, src: number) => + srgbRgb(null, intAbgr32Srgb(out, src)); + +export const intBgr24Rgb = (out: Color | null, src: number) => + srgbRgb(null, intBgr24Srgb(out, src)); diff --git a/packages/color/src/int/int-srgb.ts b/packages/color/src/int/int-srgb.ts new file mode 100644 index 0000000000..81fc1d4cf5 --- /dev/null +++ b/packages/color/src/int/int-srgb.ts @@ -0,0 +1,27 @@ +import { setC4 } from "@thi.ng/vectors"; +import type { Color } from "../api"; +import { INV8BIT } from "../api/constants"; + +export const intArgb32Srgb = (out: Color | null, src: number) => + setC4( + out || [], + ((src >>> 16) & 0xff) * INV8BIT, + ((src >>> 8) & 0xff) * INV8BIT, + (src & 0xff) * INV8BIT, + (src >>> 24) * INV8BIT + ); + +export const intAbgr32Srgb = (out: Color | null, src: number) => + setC4( + out || [], + (src & 0xff) * INV8BIT, + ((src >>> 8) & 0xff) * INV8BIT, + ((src >>> 16) & 0xff) * INV8BIT, + (src >>> 24) * INV8BIT + ); + +export const intRgb24Srgb = (out: Color | null, src: number) => + intArgb32Srgb(out, src | 0xff000000); + +export const intBgr24Srgb = (out: Color | null, src: number) => + intAbgr32Srgb(out, src | 0xff000000); diff --git a/packages/color/src/int/int.ts b/packages/color/src/int/int.ts new file mode 100644 index 0000000000..dffee74514 --- /dev/null +++ b/packages/color/src/int/int.ts @@ -0,0 +1,194 @@ +import type { ArrayLikeIterable, Fn, NumericArray } from "@thi.ng/api"; +import { + implementsFunction, + isArrayLike, + isNumber, + isString, +} from "@thi.ng/checks"; +import { illegalArgs } from "@thi.ng/errors"; +import { clamp01 } from "@thi.ng/math"; +import { IRandom, SYSTEM } from "@thi.ng/random"; +import { declareIndex, eqDelta4, mapStridedBuffer } from "@thi.ng/vectors"; +import type { + ColorFactory, + ColorMode, + IColor, + MaybeColor, + ReadonlyColor, + TypedColor, +} from "../api"; +import { parseCss } from "../css/parse-css"; +import { srgb } from "../srgb/srgb"; +import { srgbIntAbgr32, srgbIntArgb32 } from "../srgb/srgb-int"; +import { intAbgr32Srgb, intArgb32Srgb } from "./int-srgb"; + +export abstract class Int32 { + buf: NumericArray; + value!: number; + [id: number]: number; + + constructor(buf?: NumericArray, public offset = 0, public stride = 1) { + this.buf = buf || [0]; + } + + get length() { + return 1; + } + + get range(): [ReadonlyColor, ReadonlyColor] { + return [[0], [0xffffffff]]; + } + + get alpha() { + return (this[0] >>> 24) / 255; + } + + set alpha(a: number) { + this[0] = (this[0] & 0xffffff) | ((clamp01(a) * 0xff + 0.5) << 24); + } + + *[Symbol.iterator]() { + yield this[0]; + } + + deref() { + return [this[0]]; + } + + randomize(rnd: IRandom = SYSTEM): this { + const x = this[0]; + this[0] = (x & 0xff000000) | (rnd.int() & 0xffffff); + return this; + } + + clamp() { + return this; + } + + set(src: ArrayLikeIterable) { + this[0] = src[0]; + return this; + } + + toJSON(): number[] { + return [this[0]]; + } +} + +export class ARGB extends Int32 implements TypedColor { + argb!: number; + [id: number]: number; + + get mode(): ColorMode { + return "argb32"; + } + + copy(): ARGB { + return new ARGB([this[0]]); + } + + copyView(): ARGB { + return new ARGB(this.buf, this.offset, this.stride); + } + + empty(): ARGB { + return new ARGB(); + } + + eqDelta(o: ARGB, eps = 0): boolean { + return eqDelta4( + intArgb32Srgb([], this[0]), + intArgb32Srgb([], o[0]), + eps + ); + } +} + +declareIndex(ARGB.prototype, "value", 0); + +export class ABGR extends Int32 implements TypedColor { + argb!: number; + [id: number]: number; + + get mode(): ColorMode { + return "abgr32"; + } + + copy(): ABGR { + return new ABGR([this[0]]); + } + + copyView(): ABGR { + return new ABGR(this.buf, this.offset, this.stride); + } + + empty(): ABGR { + return new ABGR(); + } + + eqDelta(o: ABGR, eps = 0): boolean { + return eqDelta4( + intAbgr32Srgb([], this[0]), + intAbgr32Srgb([], o[0]), + eps + ); + } +} + +declareIndex(ABGR.prototype, "value", 0); + +interface Int32Constructor { + new (buf?: NumericArray, offset?: number, stride?: number): T; +} + +const defInt = ( + ctor: Int32Constructor, + fromSrgb: Fn +): ColorFactory => { + const factory = (src?: MaybeColor, ...xs: any[]): any => + src == null + ? new ARGB() + : isNumber(src) + ? xs.length && xs.every(isNumber) + ? new ctor([srgbIntArgb32([src, ...xs])]) + : new ctor([src], ...xs) + : isString(src) + ? factory(parseCss(src)) + : isArrayLike(src) + ? isString((src).mode) + ? new ctor([fromSrgb(srgb(src))], ...xs) + : new ctor(src, ...xs) + : implementsFunction(src, "deref") + ? new ctor([fromSrgb(srgb(src))], ...xs) + : illegalArgs(`can't create a ARGB32 color from: ${src}`); + + factory.class = ctor; + + factory.range = <[ReadonlyColor, ReadonlyColor]>[[0], [0xffffffff]]; + + factory.random = ( + rnd: IRandom = SYSTEM, + buf?: NumericArray, + idx?: number, + stride?: number + ) => + ( + new ctor(buf, idx, stride).set([ + (rnd.int() & 0xffffff) | 0xff000000, + ]) + ); + + factory.mapBuffer = ( + buf: NumericArray, + num = buf.length, + start = 0, + cstride = 1, + estride = 1 + ) => mapStridedBuffer(ARGB, buf, num, start, cstride, estride); + + return factory; +}; + +export const argb32 = defInt(ARGB, srgbIntArgb32); + +export const abgr32 = defInt(ABGR, srgbIntAbgr32); diff --git a/packages/color/src/internal/acolor.ts b/packages/color/src/internal/acolor.ts deleted file mode 100644 index 8618c842b7..0000000000 --- a/packages/color/src/internal/acolor.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type { IDeref } from "@thi.ng/api"; -import { EPS } from "@thi.ng/math"; -import { eqDelta4, stridedValues } from "@thi.ng/vectors"; -import type { Color, ColorMode, IColor } from "../api"; - -export abstract class AColor implements IColor, IDeref { - buf: Color; - offset: number; - stride: number; - [id: number]: number; - - constructor(buf?: Color, offset = 0, stride = 1) { - this.buf = buf || [0, 0, 0, 0]; - this.offset = offset; - this.stride = stride; - } - - [Symbol.iterator]() { - return stridedValues(this.buf, 4, this.offset, this.stride); - } - - abstract get mode(): ColorMode; - - get length() { - return 4; - } - - deref(): Color { - return [this[0], this[1], this[2], this[3]]; - } - - eqDelta(o: T, eps = EPS): boolean { - return eqDelta4(this, o, eps); - } -} diff --git a/packages/color/src/internal/ensure-hue.ts b/packages/color/src/internal/ensure-hue.ts deleted file mode 100644 index 38e07ce550..0000000000 --- a/packages/color/src/internal/ensure-hue.ts +++ /dev/null @@ -1,2 +0,0 @@ -/** @internal */ -export const ensureHue = (x: number) => ((x = x % 1), x < 0 ? x + 1 : x); diff --git a/packages/color/src/internal/matrix-ops.ts b/packages/color/src/internal/matrix-ops.ts index fe77b621c0..db742c1371 100644 --- a/packages/color/src/internal/matrix-ops.ts +++ b/packages/color/src/internal/matrix-ops.ts @@ -1,13 +1,13 @@ import { clamp01 } from "@thi.ng/math"; -import { dotS3, dotS4, setC4 } from "@thi.ng/vectors"; +import { dotS3, dotS4, ReadonlyVec, setC4 } from "@thi.ng/vectors"; import type { Color, ColorMatrix, ReadonlyColor } from "../api"; import { ensureAlpha } from "./ensure-alpha"; export const mulV33 = ( out: Color | null, - mat: number[], + mat: ReadonlyVec, src: ReadonlyColor, - clampOut = true + clampOut = false ) => { const x = dotS3(mat, src, 0, 0, 3); const y = dotS3(mat, src, 1, 0, 3); diff --git a/packages/color/src/lab/lab-css.ts b/packages/color/src/lab/lab-css.ts new file mode 100644 index 0000000000..88c7798f7a --- /dev/null +++ b/packages/color/src/lab/lab-css.ts @@ -0,0 +1,20 @@ +import { clamp0 } from "@thi.ng/math"; +import type { ReadonlyColor } from "../api"; +import { FF, PC } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +/** + * @remarks + * Only supported in CSS Color Level 4 onwards + * https://www.w3.org/TR/css-color-4/#specifying-lab-lch + * https://test.csswg.org/harness/results/css-color-4_dev/grouped/ (test reports) + * + * @param src + */ +export const labCss = (src: ReadonlyColor) => { + const l = PC(clamp0(src[0])); + const a = FF(src[1] * 100); + const b = FF(src[2] * 100); + const alpha = ensureAlpha(src[3]); + return `lab(${l} ${a} ${b}` + (alpha < 1 ? `/${FF(alpha)})` : ")"); +}; diff --git a/packages/color/src/lab/lab-lab.ts b/packages/color/src/lab/lab-lab.ts new file mode 100644 index 0000000000..6ce0a5d36a --- /dev/null +++ b/packages/color/src/lab/lab-lab.ts @@ -0,0 +1,10 @@ +import type { ColorOp } from "../api"; +import { xyzLab, xyzLabD65 } from "../xyz/xyz-lab"; +import { xyzXyzD50_65, xyzXyzD65_50 } from "../xyz/xyz-xyz"; +import { labXyz, labXyzD65 } from "./lab-xyz"; + +export const labLabD50_65: ColorOp = (out, src) => + xyzLabD65(out, xyzXyzD50_65(out, labXyz(out, src))); + +export const labLabD65_50: ColorOp = (out, src) => + xyzLab(out, xyzXyzD65_50(out, labXyzD65(out, src))); diff --git a/packages/color/src/lab/lab-lch.ts b/packages/color/src/lab/lab-lch.ts new file mode 100644 index 0000000000..798398c69c --- /dev/null +++ b/packages/color/src/lab/lab-lch.ts @@ -0,0 +1,24 @@ +import { atan2Abs, INV_TAU, TAU } from "@thi.ng/math"; +import { setC4 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +export const labLch: ColorOp = (out, src) => { + const { 1: a, 2: b } = src; + return setC4( + out || src, + src[0], + Math.hypot(a, b), + a === 0 && b === 0 ? 0 : atan2Abs(b, a) * INV_TAU, + ensureAlpha(src[3]) + ); +}; + +export const lchLab: ColorOp = (out, src) => { + let { 1: c, 2: h } = src; + h *= TAU; + const a = ensureAlpha(src[3]); + return c > 0 + ? setC4(out || src, src[0], Math.cos(h) * c, Math.sin(h) * c, a) + : setC4(out || src, src[0], 0, 0, a); +}; diff --git a/packages/color/src/lab/lab-rgb.ts b/packages/color/src/lab/lab-rgb.ts new file mode 100644 index 0000000000..15aa185f94 --- /dev/null +++ b/packages/color/src/lab/lab-rgb.ts @@ -0,0 +1,20 @@ +import type { ColorOp } from "../api"; +import { labXyz, labXyzD65 } from "./lab-xyz"; +import { xyzRgb, xyzRgbD65 } from "../xyz/xyz-rgb"; + +/** + * Converts Lab to linear RGB (via XYZ) using {@link D50} white point. + * + * @param out + * @param src + */ +export const labRgb: ColorOp = (out, src) => xyzRgb(null, labXyz(out, src)); + +/** + * Same as {@link labRgb}, but using {@link D65} white point. + * + * @param out + * @param src + */ +export const labRgbD65: ColorOp = (out, src) => + xyzRgbD65(null, labXyzD65(out, src)); diff --git a/packages/color/src/lab/lab-xyz.ts b/packages/color/src/lab/lab-xyz.ts new file mode 100644 index 0000000000..5d9ad1f936 --- /dev/null +++ b/packages/color/src/lab/lab-xyz.ts @@ -0,0 +1,36 @@ +import { setC4 } from "@thi.ng/vectors"; +import type { Color, ColorOp, ReadonlyColor } from "../api"; +import { D50, D65 } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +const transform = (x: number) => { + const y = x ** 3; + return y > 0.008856 ? y : (x - 16 / 116) / 7.787; +}; + +/** + * Converts Lab to XYZ using provided white point (default: {@link D50}). Also + * see {@link labXyzD65}. + * + * @param out + * @param src + * @param white + */ +export const labXyz = (out: Color | null, src: ReadonlyColor, white = D50) => { + const y = (src[0] + 0.16) / 1.16; + return setC4( + out || src, + transform(src[1] / 5.0 + y) * white[0], + transform(y) * white[1], + transform(y - src[2] / 2.0) * white[2], + ensureAlpha(src[3]) + ); +}; + +/** + * Same as {@link labXyz}, but using hardcoded {@link D65} white point. + * + * @param out + * @param src + */ +export const labXyzD65: ColorOp = (out, src) => labXyz(out, src, D65); diff --git a/packages/color/src/lab/lab50.ts b/packages/color/src/lab/lab50.ts new file mode 100644 index 0000000000..5ff503554f --- /dev/null +++ b/packages/color/src/lab/lab50.ts @@ -0,0 +1,49 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { rgbLab } from "../rgb/rgb-lab"; +import { xyzLab } from "../xyz/xyz-lab"; +import { xyzXyzD65_50 } from "../xyz/xyz-xyz"; +import { labLabD65_50 } from "./lab-lab"; +import { lchLab } from "./lab-lch"; + +export declare class LabD50 implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + l: number; + a: number; + b: number; + alpha: number; + [id: number]: number; + readonly mode: "lab50"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): LabD50; + copyView(): LabD50; + deref(): Color; + empty(): LabD50; + eqDelta(o: LabD50, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const labD50 = >defColor({ + mode: "lab50", + channels: { + a: { range: [-0.7929, 0.9355] }, + b: { range: [-1.1203, 0.9339] }, + }, + order: ["l", "a", "b", "alpha"], + from: { + rgb: rgbLab, + lch: lchLab, + lab65: labLabD65_50, + xyz50: xyzLab, + xyz65: [xyzXyzD65_50, xyzLab], + }, +}); diff --git a/packages/color/src/lab/lab65.ts b/packages/color/src/lab/lab65.ts new file mode 100644 index 0000000000..88345b0341 --- /dev/null +++ b/packages/color/src/lab/lab65.ts @@ -0,0 +1,49 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { rgbLabD65 } from "../rgb/rgb-lab"; +import { xyzLabD65 } from "../xyz/xyz-lab"; +import { xyzXyzD50_65 } from "../xyz/xyz-xyz"; +import { labLabD50_65 } from "./lab-lab"; +import { lchLab } from "./lab-lch"; + +export declare class LabD65 implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + l: number; + a: number; + b: number; + alpha: number; + [id: number]: number; + readonly mode: "lab65"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): LabD65; + copyView(): LabD65; + deref(): Color; + empty(): LabD65; + eqDelta(o: LabD65, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const labD65 = >defColor({ + mode: "lab65", + channels: { + a: { range: [-0.8618, 0.9823] }, + b: { range: [-1.0786, 0.9448] }, + }, + order: ["l", "a", "b", "alpha"], + from: { + rgb: rgbLabD65, + lch: [lchLab, labLabD50_65], + lab50: labLabD50_65, + xyz50: [xyzXyzD50_65, xyzLabD65], + xyz65: xyzLabD65, + }, +}); diff --git a/packages/color/src/lch/lch-css.ts b/packages/color/src/lch/lch-css.ts new file mode 100644 index 0000000000..1fb11aea44 --- /dev/null +++ b/packages/color/src/lch/lch-css.ts @@ -0,0 +1,20 @@ +import { clamp0, fract } from "@thi.ng/math"; +import type { ReadonlyColor } from "../api"; +import { FF, PC } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +/** + * @remarks + * Only supported in CSS Color Level 4 onwards + * https://www.w3.org/TR/css-color-4/#specifying-lab-lch + * https://test.csswg.org/harness/results/css-color-4_dev/grouped/ (test reports) + * + * @param src + */ +export const lchCss = (src: ReadonlyColor) => { + const l = PC(clamp0(src[0])); + const c = FF(clamp0(src[1]) * 100); + const h = FF(fract(src[2]) * 360); + const a = ensureAlpha(src[3]); + return `lch(${l} ${c} ${h}` + (a < 1 ? `/${FF(a)})` : ")"); +}; diff --git a/packages/color/src/lch/lch.ts b/packages/color/src/lch/lch.ts new file mode 100644 index 0000000000..e40f273324 --- /dev/null +++ b/packages/color/src/lch/lch.ts @@ -0,0 +1,52 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { labLabD65_50 } from "../lab/lab-lab"; +import { labLch } from "../lab/lab-lch"; +import { rgbLab } from "../rgb/rgb-lab"; +import { xyzLab } from "../xyz/xyz-lab"; +import { xyzXyzD65_50 } from "../xyz/xyz-xyz"; + +export declare class LCH implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + l: number; + c: number; + h: number; + alpha: number; + [id: number]: number; + readonly mode: "lch"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): LCH; + copyView(): LCH; + deref(): Color; + empty(): LCH; + eqDelta(o: LCH, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +/** + * Luminance Chroma Hue (conversions assume {@link D50} white point, as per CSS + * spec). + */ +export const lch = >defColor({ + mode: "lch", + channels: { + c: { range: [0, 1.312] }, + }, + order: ["l", "c", "h", "alpha"], + from: { + rgb: (out, src) => labLch(null, rgbLab(out, src)), + lab50: labLch, + lab65: [labLabD65_50, labLch], + xyz50: [xyzLab, labLch], + xyz65: [xyzXyzD65_50, xyzLab, labLch], + }, +}); diff --git a/packages/color/src/luminance-rgb.ts b/packages/color/src/luminance-rgb.ts deleted file mode 100644 index b963c06ecd..0000000000 --- a/packages/color/src/luminance-rgb.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { dot3 } from "@thi.ng/vectors"; -import type { ReadonlyColor } from "./api"; -import { RGB_LUMINANCE } from "./constants"; - -export const luminanceRGB = (rgb: ReadonlyColor, weights = RGB_LUMINANCE) => - dot3(rgb, weights); - -export const luminanceInt = (rgb: number) => - (((rgb >>> 16) & 0xff) * 76 + - ((rgb >>> 8) & 0xff) * 150 + - (rgb & 0xff) * 29) / - 0xfe01; diff --git a/packages/color/src/luminance.ts b/packages/color/src/luminance.ts deleted file mode 100644 index df093ba5f6..0000000000 --- a/packages/color/src/luminance.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { DEFAULT, defmulti, MultiFn1O } from "@thi.ng/defmulti"; -import { illegalArgs } from "@thi.ng/errors"; -import type { ColorMode, IColor, ReadonlyColor } from "./api"; -import { convert } from "./convert"; -import { luminanceInt, luminanceRGB } from "./luminance-rgb"; - -/** - * Multi-method to compute relative luminance from any supported input - * color format. Unless color already is an RGBA or ARGB int (plain or - * wrapped), it will first be converted to RGBA. - */ -export const luminance: MultiFn1O< - number | string | ReadonlyColor | IColor, - ColorMode, - number -> = defmulti((col: any, mode) => - col.mode !== undefined - ? col.mode - : mode !== undefined - ? mode - : illegalArgs(`missing color mode`) -); - -luminance.add("rgb", (x: any) => luminanceRGB(x)); - -luminance.add("int", (x: any) => - luminanceInt(typeof x === "number" ? x : x.deref()) -); - -luminance.add(DEFAULT, (x: any, mode) => - luminanceRGB(convert(x, "rgb", mode)) -); diff --git a/packages/color/src/mix.ts b/packages/color/src/mix.ts deleted file mode 100644 index a62ec65c8b..0000000000 --- a/packages/color/src/mix.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { mix as _mix } from "@thi.ng/math"; -import { mixN4, setC4 } from "@thi.ng/vectors"; -import type { Color, ReadonlyColor } from "./api"; - -export const mix: ( - out: Color | null, - a: ReadonlyColor, - b: ReadonlyColor, - t: number -) => Color = mixN4; - -export const mixAlpha = ( - out: Color | null, - a: ReadonlyColor, - b: ReadonlyColor -) => - setC4( - out || a, - _mix(a[0], b[0], a[3]), - _mix(a[0], b[0], a[3]), - _mix(a[0], b[0], a[3]), - a[3] - ); diff --git a/packages/color/src/oklab/oklab-rgb.ts b/packages/color/src/oklab/oklab-rgb.ts new file mode 100644 index 0000000000..54df186e45 --- /dev/null +++ b/packages/color/src/oklab/oklab-rgb.ts @@ -0,0 +1,29 @@ +import type { ColorOp } from "../api"; +import { mulV33 } from "../internal/matrix-ops"; + +const LMS_CONE = [ + 4.0767245293, + -1.2681437731, + -0.0041119885, + -3.3072168827, + 2.6093323231, + -0.7034763098, + 0.2307590544, + -0.341134429, + 1.7068625689, +]; + +/** + * @remarks + * Reference: https://bottosson.github.io/posts/oklab/ + * + * @param out + * @param src + */ +export const oklabRgb: ColorOp = (out, { 0: l, 1: a, 2: b, 3: alpha }) => + mulV33(out, LMS_CONE, [ + (l + 0.3963377774 * a + 0.2158037573 * b) ** 3, + (l - 0.1055613458 * a - 0.0638541728 * b) ** 3, + (l - 0.0894841775 * a - 1.291485548 * b) ** 3, + alpha, + ]); diff --git a/packages/color/src/oklab/oklab-xyz.ts b/packages/color/src/oklab/oklab-xyz.ts new file mode 100644 index 0000000000..d318d89ca3 --- /dev/null +++ b/packages/color/src/oklab/oklab-xyz.ts @@ -0,0 +1,32 @@ +import { powN3 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { mulV33 } from "../internal/matrix-ops"; + +// inverted version of OKLAB_M1 +const M1I = [ + 1.2270138511035211, + -0.04058017842328059, + -0.0763812845057069, + -0.5577999806518222, + 1.1122568696168302, + -0.4214819784180127, + 0.28125614896646783, + -0.07167667866560119, + 1.586163220440795, +]; + +// inverted version of OKLAB_M2 +const M2I = [ + 0.9999999984505198, + 1.0000000088817607, + 1.0000000546724108, + 0.3963377921737678, + -0.10556134232365633, + -0.08948418209496575, + 0.21580375806075877, + -0.06385417477170588, + -1.2914855378640917, +]; + +export const oklabXyzD65: ColorOp = (out, src) => + mulV33(null, M1I, powN3(null, mulV33(out, M2I, src), 3)); diff --git a/packages/color/src/oklab/oklab.ts b/packages/color/src/oklab/oklab.ts new file mode 100644 index 0000000000..358988131f --- /dev/null +++ b/packages/color/src/oklab/oklab.ts @@ -0,0 +1,56 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { lchLab } from "../lab/lab-lch"; +import { labXyz, labXyzD65 } from "../lab/lab-xyz"; +import { rgbOklab } from "../rgb/rgb-oklab"; +import { xyzOklab } from "../xyz/xyz-oklab"; +import { xyzXyzD50_65 } from "../xyz/xyz-xyz"; + +export declare class Oklab implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + l: number; + a: number; + b: number; + alpha: number; + [id: number]: number; + readonly mode: "oklab"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): Oklab; + copyView(): Oklab; + deref(): Color; + empty(): Oklab; + eqDelta(o: Oklab, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +/** + * Oklab color type. Conversions assume {@link D65} white point). + * + * @remarks + * Reference: https://bottosson.github.io/posts/oklab/ + */ +export const oklab = >defColor({ + mode: "oklab", + channels: { + a: { range: [-0.2339, 0.2763] }, + b: { range: [-0.3116, 0.1985] }, + }, + order: ["l", "a", "b", "alpha"], + from: { + lab50: [labXyz, xyzXyzD50_65, xyzOklab], + lab65: [labXyzD65, xyzOklab], + lch: [lchLab, labXyzD65, xyzOklab], + rgb: rgbOklab, + xyz50: [xyzXyzD50_65, xyzOklab], + xyz65: xyzOklab, + }, +}); diff --git a/packages/color/src/alpha.ts b/packages/color/src/ops/alpha.ts similarity index 84% rename from packages/color/src/alpha.ts rename to packages/color/src/ops/alpha.ts index 7b8b678d75..cc91a0f56f 100644 --- a/packages/color/src/alpha.ts +++ b/packages/color/src/ops/alpha.ts @@ -1,5 +1,5 @@ import { setC4 } from "@thi.ng/vectors"; -import type { Color, ReadonlyColor } from "./api"; +import type { Color, ReadonlyColor } from "../api"; export const alpha = (src: ReadonlyColor) => src[3] !== undefined ? src[3] : 1; diff --git a/packages/color/src/ops/analog.ts b/packages/color/src/ops/analog.ts new file mode 100644 index 0000000000..7e9fbc607b --- /dev/null +++ b/packages/color/src/ops/analog.ts @@ -0,0 +1,142 @@ +import type { Fn3, Fn4, FnN, FnU3 } from "@thi.ng/api"; +import { DEFAULT, defmulti } from "@thi.ng/defmulti"; +import { clamp01, fract } from "@thi.ng/math"; +import { IRandom, SYSTEM } from "@thi.ng/random"; +import { setC4 } from "@thi.ng/vectors"; +import type { Color, ReadonlyColor, TypedColor } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +/** @internal */ +const analogU = (x: number, delta: number, rnd: IRandom) => + delta !== 0 ? x + rnd.norm(delta) : x; + +/** @internal */ +const analogN = (x: number, delta: number, rnd: IRandom, post: FnN = clamp01) => + delta !== 0 ? post(x + rnd.norm(delta)) : x; + +/** @internal */ +const analogH = (x: number, delta: number, rnd: IRandom) => + analogN(x, delta, rnd, fract); + +/** @internal */ +const analogA = (a: number, delta: number, rnd: IRandom) => + delta !== 0 + ? clamp01((a !== undefined ? a : 1) + rnd.norm(delta)) + : ensureAlpha(a); + +export const defAnalog: FnU3< + Fn3, + Fn4, number, IRandom | undefined, Color> +> = (x, y, z) => (out, src, delta, rnd = SYSTEM) => + setC4( + out || src, + x(src[0], delta, rnd), + y(src[1], delta, rnd), + z(src[2], delta, rnd), + ensureAlpha(src[3]) + ); + +/** @internal */ +const analogHNN = defAnalog(analogH, analogN, analogN); + +/** @internal */ +const analogNNN = defAnalog(analogN, analogN, analogN); + +/** @internal */ +const analogNUU = defAnalog(analogN, analogU, analogU); + +/** + * Returns a random analog color based on given `src` color and variance + * `delta`. Each channel will be randomized by +/- `delta`, optionally using + * provided {@link @thi.ng/random#IRandom} PRNG. + */ +export const analog = defmulti< + Color | null, + TypedColor, + number, + IRandom | undefined, + Color +>((_: Color | null, src: TypedColor) => src.mode); + +analog.add(DEFAULT, analogNNN); + +analog.addAll({ + hcy: analogHNN, + hsi: analogHNN, + hsl: analogHNN, + hsv: analogHNN, + lab50: analogNUU, + lab65: analogNUU, + lch: defAnalog(analogN, analogN, analogH), + ycc: analogNUU, +}); + +/** + * Similar to {@link analogRGB}. Returns an analog color based on given HSVA + * color, with each channel randomly varied by given channel-specific delta + * amounts (and optionally given {@link @thi.ng/random#IRandom} PRNG). + * + * @remarks + * This function provides more user control than {@link analog}, but the latter + * is recommended for most use cases. + * + * By default (unless `deltaS`, `deltaV`, `deltaA` are provided) only the hue of + * the color will be modulated. + * + * @param out + * @param src + * @param deltaH + * @param deltaS + * @param deltaV + * @param deltaA + * @param rnd + */ +export const analogHsv = ( + out: Color | null, + src: ReadonlyColor, + deltaH: number, + deltaS = 0, + deltaV = 0, + deltaA = 0, + rnd: IRandom = SYSTEM +) => + setC4( + out || src, + analogN(src[0], deltaH, rnd, fract), + analogN(src[1], deltaS, rnd), + analogN(src[2], deltaV, rnd), + analogA(src[3], deltaA, rnd) + ); + +/** + * Similar to {@link analogHSV}. Returns an analog color based on given RGBA + * color, with each channel randomly varied by given delta amounts (and + * optionally given {@link @thi.ng/random#IRandom} PRNG). + * + * @remarks + * By default the green and blue channel variance will be the same as `deltaR`. + * + * @param out + * @param src + * @param deltaR + * @param deltaG + * @param deltaB + * @param deltaA + * @param rnd + */ +export const analogRgb = ( + out: Color | null, + src: ReadonlyColor, + deltaR: number, + deltaG = deltaR, + deltaB = deltaR, + deltaA = 0, + rnd: IRandom = SYSTEM +) => + setC4( + out || src, + analogN(src[0], deltaR, rnd), + analogN(src[1], deltaG, rnd), + analogN(src[2], deltaB, rnd), + analogA(src[3], deltaA, rnd) + ); diff --git a/packages/color/src/clamp.ts b/packages/color/src/ops/clamp.ts similarity index 80% rename from packages/color/src/clamp.ts rename to packages/color/src/ops/clamp.ts index b61a110297..7c3d788e0f 100644 --- a/packages/color/src/clamp.ts +++ b/packages/color/src/ops/clamp.ts @@ -1,8 +1,7 @@ -import { clamp01 } from "@thi.ng/math"; +import { clamp01, fract } from "@thi.ng/math"; import { setC4 } from "@thi.ng/vectors"; -import type { Color, ReadonlyColor } from "./api"; -import { ensureAlpha } from "./internal/ensure-alpha"; -import { ensureHue } from "./internal/ensure-hue"; +import type { Color, ReadonlyColor } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; /** * Clamps all color channels to [0,1] interval and calls `ensureAlpha` @@ -33,7 +32,7 @@ export const clamp = (out: Color | null, src: ReadonlyColor, alpha = 1) => export const clampH = (out: Color | null, src: ReadonlyColor, alpha = 1) => setC4( out || src, - ensureHue(src[0]), + fract(src[0]), clamp01(src[1]), clamp01(src[2]), ensureAlpha(src[3], alpha) diff --git a/packages/color/src/ops/closest-hue.ts b/packages/color/src/ops/closest-hue.ts new file mode 100644 index 0000000000..d39bbe5008 --- /dev/null +++ b/packages/color/src/ops/closest-hue.ts @@ -0,0 +1,16 @@ +import { fract } from "@thi.ng/math"; +import type { Hue } from "../api"; + +/** + * Returns the {@link Hue} constant of the closest of 12 defined hues. + * + * @param h - normalized hue + */ +export const closestHue = (h: number): Hue => Math.round(fract(h) * 12) % 12; + +/** + * Returns the {@link Hue} constant of the closest primary or secondary hue. + * + * @param h - normalized hue + */ +export const closestPrimaryHue = (h: number): Hue => closestHue(h) & 0xe; diff --git a/packages/color/src/ops/color-range.ts b/packages/color/src/ops/color-range.ts new file mode 100644 index 0000000000..346ff6470c --- /dev/null +++ b/packages/color/src/ops/color-range.ts @@ -0,0 +1,288 @@ +import type { Range, Without } from "@thi.ng/api"; +import { peek } from "@thi.ng/arrays"; +import { isArray, isNumber, isString } from "@thi.ng/checks"; +import { illegalArgs } from "@thi.ng/errors"; +import { fract } from "@thi.ng/math"; +import { coin, IRandom, SYSTEM, weightedRandom } from "@thi.ng/random"; +import type { + ColorRange, + ColorRangeOpts, + ColorRangePreset, + ColorThemePart, + ColorThemePartTuple, +} from "../api/ranges"; +import { parseCss } from "../css/parse-css"; +import { ensureAlpha } from "../internal/ensure-alpha"; +import { LCH, lch } from "../lch/lch"; +import { analog } from "./analog"; +import { isBlack } from "./is-black"; +import { isGray } from "./is-gray"; +import { isWhite } from "./is-white"; + +/** + * Preset {@link ColorRange}s for use with {@link colorsFromRange}, + * {@link colorsFromTheme} etc. + */ +export const COLOR_RANGES: Record = { + light: { + c: [[0.3, 0.7]], + l: [[0.9, 1]], + b: [[0.35, 0.5]], + w: [[0.6, 1]], + }, + dark: { + c: [[0.7, 1]], + l: [[0.15, 0.4]], + b: [[0, 0.4]], + w: [[0.4, 0.6]], + }, + bright: { + c: [[0.75, 0.95]], + l: [[0.8, 1]], + }, + weak: { + c: [[0.15, 0.3]], + l: [[0.7, 1]], + b: [[0.4, 0.6]], + w: [[0.8, 1]], + }, + neutral: { + c: [[0.25, 0.35]], + l: [[0.3, 0.7]], + b: [[0.25, 0.4]], + w: [[0.9, 1]], + }, + fresh: { + c: [[0.4, 0.8]], + l: [[0.8, 1]], + b: [[0.05, 0.3]], + w: [[0.8, 1]], + }, + soft: { + c: [[0.2, 0.3]], + l: [[0.6, 0.9]], + b: [[0.05, 0.15]], + w: [[0.6, 0.9]], + }, + hard: { + c: [[0.85, 0.95]], + l: [[0.4, 1]], + }, + warm: { + c: [[0.6, 0.9]], + l: [[0.4, 0.9]], + b: [[0.2, 0.3]], + w: [[0.8, 1]], + }, + cool: { + c: [[0.05, 0.2]], + l: [[0.9, 1]], + b: [[0, 0.95]], + w: [[0.95, 1]], + }, + intense: { + c: [[0.9, 1]], + l: [ + [0.2, 0.35], + [0.8, 1], + ], + }, +}; + +const FULL: Range[] = [[0, 1]]; + +const DEFAULT_RANGE: ColorRange = { + h: FULL, + c: FULL, + l: FULL, + b: FULL, + w: FULL, + a: [[1, 1]], +}; + +const DEFAULT_OPTS: ColorRangeOpts = { + num: Infinity, + variance: 0.025, + eps: 1e-3, + rnd: SYSTEM, +}; + +const $rnd = (ranges: Range[], rnd: IRandom) => + rnd.minmax(...ranges[rnd.int() % ranges.length]); + +/** + * Takes a {@link ColorRange} and options to produce a single new result color. + * This color is randomized within the channel limits of the given `range` + * descriptor. If a `base` color is provided (via {@link ColorRangeOpts}), its + * hue is used as bias and the `variance` option defines the max. -/+ normalized + * hue shift of the result color. + * + * @remarks + * If the base color is a shade of gray (incl. black & white), the result will + * be another gray and is based on the range's black and white point sub-ranges. + * + * The alpha channel of the result color will only be randomized (based on + * `range.a` settings) iff no `base` color was provided. If `base` is given, the + * result will used the same alpha. + * + * A custom PRNG can be defined via the `rnd` option (default: `Math.random`). + * + * @param range + * @param opts + */ +export const colorFromRange = ( + range: ColorRange | keyof typeof COLOR_RANGES, + opts?: Partial> +): LCH => { + range = { + ...DEFAULT_RANGE, + ...(isString(range) ? COLOR_RANGES[range] : range), + }; + const { base, variance, rnd, eps } = { ...DEFAULT_OPTS, ...opts }; + let h: number; + let c: number | undefined; + let l: number | undefined; + let a: number; + if (base) { + const col = lch(base); + h = col[2]; + a = ensureAlpha(col[3]); + if (isBlack(col, eps)) { + c = 0; + l = $rnd(range.b!, rnd); + } else if (isWhite(col, eps)) { + c = 0; + l = $rnd(range.w!, rnd); + } else if (isGray(col, eps)) { + c = 0; + l = $rnd(coin(rnd) ? range.b! : range.w!, rnd); + } else { + h = fract(h + rnd.norm(variance)); + } + } else { + h = $rnd(range.h!, rnd); + a = $rnd(range.a!, rnd); + } + return lch([ + l != undefined ? l : $rnd(range.l!, rnd), + c !== undefined ? c : $rnd(range.c!, rnd), + h, + a, + ]); +}; + +/** + * Generator version of {@link colorFromRange}, by default yielding an infinite + * sequence of random colors based on given range, base color (optional) and + * other opts. Use `num` option to limit number of results. + * + * @param range + * @param opts + */ +export function* colorsFromRange( + range: ColorRange | keyof typeof COLOR_RANGES, + opts: Partial = {} +) { + let num = opts.num != undefined ? opts.num : Infinity; + while (--num >= 0) yield colorFromRange(range, opts); +} + +/** @internal */ +const compileThemePart = ( + part: ColorThemePart | ColorThemePartTuple, + opts: Partial +) => { + let spec: ColorThemePart; + if (isArray(part)) { + spec = themePartFromTuple(part); + } else if (isString(part)) { + spec = themePartFromString(part); + } else { + spec = part; + spec.weight == null && (spec.weight = 1); + } + isString(spec.range) && (spec.range = COLOR_RANGES[spec.range]); + isString(spec.base) && (spec.base = lch(parseCss(spec.base))); + if (spec.base !== undefined) { + opts = { ...opts, base: spec.base }; + } + return { spec, opts }; +}; + +/** @internal */ +const themePartFromTuple = (part: ColorThemePartTuple) => { + let weight: number; + const [range, ...xs] = part; + if (isNumber(peek(xs))) { + weight = peek(xs); + xs.pop(); + } else { + weight = 1; + } + return ( + (xs.length === 1 + ? { range, base: xs[0], weight } + : xs.length === 0 + ? COLOR_RANGES[range] + ? { range, weight } + : { base: range, weight } + : illegalArgs(`invalid theme part: "${part}"`)) + ); +}; + +/** @internal */ +const themePartFromString = (part: string) => + ( + (COLOR_RANGES[part] + ? { range: part, weight: 1 } + : { base: part, weight: 1 }) + ); + +/** + * Probabilistic color theme generator. Yield randomized colors based on given + * weighted set of theme part specs. + * + * @remarks + * Each theme part is a tuple of either: + * + * - `[range, color, weight?]` + * - `[range, weight?]` + * - `[color, weight?]` + * + * `range` can be either a {@link ColorRange} or the name of a + * {@link COLOR_RANGES} preset. Likewise, `color` can be a color instance or CSS + * color name. The `weight` of each part defines the relative + * importance/probability of this theme part, compared to others. Default weight + * is 1.0. + * + * @example + * ```ts + * [...colorsFromTheme( + * [["cool", "aliceblue"], ["bright", "orange", 0.25], ["hotpink", 0.1]], + * { num: 10 } + * )] + * ``` + * + * @param parts + * @param opts + */ +export function* colorsFromTheme( + parts: (ColorThemePart | ColorThemePartTuple)[], + opts: Partial> = {} +) { + let { num, variance, rnd } = { ...DEFAULT_OPTS, ...opts }; + const theme = parts.map((p) => compileThemePart(p, opts)); + const choice = weightedRandom( + theme, + theme.map((x) => x.spec.weight!), + rnd + ); + while (--num! >= 0) { + const { spec, opts } = choice(); + if (spec.range) { + yield colorFromRange(spec.range, opts); + } else if (spec.base) { + yield analog(lch(), lch(spec.base), variance!, rnd); + } + } +} diff --git a/packages/color/src/cosine-gradients.ts b/packages/color/src/ops/cosine-gradients.ts similarity index 64% rename from packages/color/src/cosine-gradients.ts rename to packages/color/src/ops/cosine-gradients.ts index 6e1d6f8345..b53b3d9916 100644 --- a/packages/color/src/cosine-gradients.ts +++ b/packages/color/src/ops/cosine-gradients.ts @@ -1,21 +1,24 @@ -import type { FnU2 } from "@thi.ng/api"; +import type { FnU, FnU2, NumericArray } from "@thi.ng/api"; import { partial } from "@thi.ng/compose"; import { clamp01, TAU } from "@thi.ng/math"; import { + comp, map, + noop, normRange, push, transduce, tween, zip, } from "@thi.ng/transducers"; +import { setS4 } from "@thi.ng/vectors"; +import type { Color, ReadonlyColor } from "../api"; import type { - Color, - CosCoeffs, CosGradientSpec, + CosineCoeffs, + CosineGradientOpts, CosineGradientPreset, - ReadonlyColor, -} from "./api"; +} from "../api/gradients"; import { clamp } from "./clamp"; /** @@ -27,7 +30,7 @@ import { clamp } from "./clamp"; * linked original Clojure version, these presets here are for RGBA (though the * alpha channel is configured to always be 1.0) */ -export const GRADIENTS: Record = { +export const COSINE_GRADIENTS: Record = { "blue-cyan": [ [0, 0.5, 0.5, 1], [0, 0.5, 0.5, 0], @@ -163,8 +166,8 @@ export const GRADIENTS: Record = { }; /** - * Computes a single RGBA color for given gradient spec and normalized position - * `t` (in [0..1] interval). + * Computes a single linear RGBA color for given gradient spec and normalized + * position `t` (in [0..1] interval). * * @param spec * @param t @@ -180,14 +183,58 @@ export const cosineColor = (spec: CosGradientSpec, t: number): Color => ); /** - * Computes a full cosine gradient and returns an array of `n` sampled RGBA - * colors. + * Computes a full cosine gradient and returns an array of `n` sampled linear + * RGBA colors. If the optional `tx` is given, each computed color will be + * re-interpreted and/or transformed into another {@link Color} type. + * + * @remarks + * For CSS/SVG use cases you could use {@link srgba} as transformation function + * to not convert, but reinterpret & wrap raw color values as SRGBA. * * @param n * @param spec + * @param tx */ -export const cosineGradient = (n: number, spec: CosGradientSpec) => - transduce(map(partial(cosineColor, spec)), push(), normRange(n - 1)); +export const cosineGradient = ( + n: number, + spec: CosGradientSpec, + tx?: FnU +): Color[] => + transduce( + comp(map(partial(cosineColor, spec)), tx ? map(tx) : noop()), + push(), + normRange(n - 1) + ); + +/** + * Similar to {@link cosineGradient}, but writes results into `buffer` from + * given `offset` and component/element strides. Returns buffer. + * + * @remarks + * Intended use case for this function: 1D texturemap/tonemap generation, e.g. + * for dataviz etc. Also @see {@link multiColorGradientBuffer}. + * + * @param n - number of colors + * @param spec - gradient spec + * @param buffer - target buffer/array + * @param offset - start index (default: 0) + * @param cstride - channel stride (default: 1) + * @param estride - element stride (default: 4) + */ +export const cosineGradientBuffer = ( + n: number, + spec: CosGradientSpec, + buffer: NumericArray = [], + offset = 0, + cstride = 1, + estride = 4 +) => { + for (let t of normRange(n - 1)) { + setS4(buffer, cosineColor(spec, t), offset, 0, cstride); + offset += estride; + } + return buffer; +}; /** * Returns coefficients to produce a cosine gradient between the two @@ -204,42 +251,45 @@ export const cosineCoeffs: FnU2 = ( to = clamp([], to); const amp = [...map(([a, b]) => 0.5 * (a - b), zip(from, to))]; return [ - [...map(([s, a]) => s - a, zip(from, amp))], - amp, + [...map(([s, a]) => s - a, zip(from, amp))], + amp, [-0.5, -0.5, -0.5, -0.5], [0, 0, 0, 0], ]; }; /** - * Multi-color cosine gradient generator using RGBA color stops. Returns - * an array of `n+1` color samples. + * Multi-color cosine gradient generator using linear RGBA color stops. Returns + * an array of `n+1` linear RGBA color samples. + * + * @remarks + * @see {@link @thi.ng/transducers#tween} * * @example * ```ts - * multiCosineGradient( - * // num colors to produce - * 10, + * multiCosineGradient({ + * num: 10, * // gradient stops (normalized positions) - * [0.1, [1, 0, 0, 1]], [0.5, [0, 1, 0, 1]], [0.9, [0, 0, 1, 1]] - * ) + * stops: [[0.1, [1, 0, 0, 1]], [0.5, [0, 1, 0, 1]], [0.9, [0, 0, 1, 1]]], + * // optional color transform/coercion + * tx: srgba + * }) * ``` * - * {@link @thi.ng/transducers#tween} - * * @param num - number of color steps to produce * @param stops - gradient stops */ -export const multiCosineGradient = ( - num: number, - ...stops: [number, ReadonlyColor][] -): Color[] => [ - ...tween({ - num, - min: 0, - max: 1, - init: cosineCoeffs, - mix: cosineColor, - stops, - }), -]; +export const multiCosineGradient = (opts: CosineGradientOpts): Color[] => + transduce( + opts.tx ? map(opts.tx) : noop(), + push(), + tween({ + num: opts.num, + stops: opts.stops, + easing: opts.easing, + min: 0, + max: 1, + init: cosineCoeffs, + mix: cosineColor, + }) + ); diff --git a/packages/color/src/ops/distance.ts b/packages/color/src/ops/distance.ts new file mode 100644 index 0000000000..7e2f1c2ce3 --- /dev/null +++ b/packages/color/src/ops/distance.ts @@ -0,0 +1,234 @@ +import { + atan2Abs, + cossin, + DEG2RAD, + PI, + SIXTH_PI, + TAU, + THIRD_PI, +} from "@thi.ng/math"; +import { dist3, dist4, ONE3, ReadonlyVec } from "@thi.ng/vectors"; +import type { ColorDistance } from "../api"; +import { labD50 } from "../lab/lab50"; +import { labD65 } from "../lab/lab65"; +import { luminanceRgb, luminanceSrgb } from "./luminance-rgb"; + +const { abs, cos, hypot, sin, sqrt } = Math; + +/** + * Higher order function. Returns {@link ColorDistance} function for given color + * channel ID. + * + * @param id + */ +export const distChannel = (id: number): ColorDistance => (a, b) => + abs(a[id] - b[id]); + +/** + * Computes distance between two HSV colors, i.e. the eucledian distance between + * points in a cyclinder. + * + * @param a + * @param b + */ +export const distHsv: ColorDistance = (a, b) => { + const aa = cossin(a[0] * TAU, a[1]); + const bb = cossin(b[0] * TAU, b[1]); + return hypot(aa[0] - bb[0], aa[1] - bb[1], a[2] - b[2]); +}; + +/** + * Computes difference in saturation between two HSV colors. + * + * @param a + * @param b + */ +export const distHsvSat = distChannel(1); + +/** + * Computes difference in brightness between two HSV or two HSL colors. + * + * @param a + * @param b + */ +export const distHsvLuma = distChannel(2); + +/** + * Computes eucledian distance between two colors. Only the first 3 color + * channels will be considered. + * + * @param a + * @param b + */ +export const distEucledian3: ColorDistance = dist3; + +export const distEucledian4: ColorDistance = dist4; + +/** + * Computes difference in luminance between two RGB colors. + * + * @param a + * @param b + */ +export const distRgbLuma: ColorDistance = (a, b) => + abs(luminanceRgb(a) - luminanceRgb(b)); + +export const distSrgbLuma: ColorDistance = (a, b) => + abs(luminanceSrgb(a) - luminanceSrgb(b)); + +/** + * Computes red difference between two RGB colors. + * + * @param a + * @param b + */ +export const distRgbRed = distChannel(0); + +/** + * Computes green difference between two RGB colors. + * + * @param a + * @param b + */ +export const distRgbGreen = distChannel(1); + +/** + * Computes blue difference between two RGB colors. + * + * @param a + * @param b + */ +export const distRgbBlue = distChannel(1); + +const H6 = 6 * DEG2RAD; +const H25 = 25 * DEG2RAD; +const H63 = 63 * DEG2RAD; +const H275 = 275 * DEG2RAD; + +/** + * Higher order function to compute the CIEDE2000 color difference between 2 + * colors in CIELAB space. Takes a vector of LCH weight coefficients to adjust + * importance of luminance, chroma and hue differences. By default all are 1. + * Returns a {@link ColorDistance} function which converts (if needed) input + * colors to {@link LabD50} and then computes the metric. + * + * @remarks + * References: + * - https://en.wikipedia.org/wiki/Color_difference#CIEDE2000 + * - http://www2.ece.rochester.edu/~gsharma/ciede2000/ciede2000noteCRNA.pdf + * + * @param a - Lab color + * @param b - Lab color + */ +export const distCIEDE2000 = (weights: ReadonlyVec = ONE3): ColorDistance => ( + a, + b +) => { + let { 0: l1, 1: a1, 2: b1 } = labD50(a); + let { 0: l2, 1: a2, 2: b2 } = labD50(b); + l1 *= 100; + a1 *= 100; + b1 *= 100; + l2 *= 100; + a2 *= 100; + b2 *= 100; + const c1ab = hypot(a1, b1); + const c2ab = hypot(a2, b2); + const cab = (c1ab + c2ab) * 0.5; + const g = 1 + 0.5 * (1 - c7Coeff(cab)); + a1 *= g; + a2 *= g; + const c1 = hypot(a1, b1); + const c2 = hypot(a2, b2); + const cmean = (c1 + c2) * 0.5; + const { deltaH, H } = computeDeltaH(a1, b1, a2, b2, c1, c2); + const T = + 1 - + 0.17 * cos(H - SIXTH_PI) + + 0.24 * cos(2 * H) + + 0.32 * cos(3 * H + H6) - + 0.2 * cos(4 * H - H63); + const Rt = + -2 * + c7Coeff(cmean) * + sin(THIRD_PI * Math.exp(-(((H - H275) / H25) ** 2))); + const L50 = ((l1 + l2) * 0.5 - 50) ** 2; + const Sl = 1 + (0.015 * L50) / sqrt(20 + L50); + const Sc = 1 + 0.045 * cmean; + const Sh = 1 + 0.015 * cmean * T; + const termL = (l2 - l1) / (weights[0] * Sl); + const termC = (c2 - c1) / (weights[1] * Sc); + const termH = deltaH / (weights[2] * Sh); + return sqrt(termL ** 2 + termC ** 2 + termH ** 2 + Rt * termC * termH); +}; + +const c7Coeff = (c: number) => { + c = c ** 7; + return sqrt(c / (c + 25 ** 7)); +}; + +const computeDeltaH = ( + a1: number, + b1: number, + a2: number, + b2: number, + c1: number, + c2: number, + eps = 1e-3 +) => { + const h1 = atan2Abs(b1, a1); + const h2 = atan2Abs(b2, a2); + if (c1 <= eps || c2 <= eps) return { deltaH: 0, H: h1 + h2 }; + let dh = h2 - h1; + const sumH = h1 + h2; + const absH = abs(dh); + dh = absH <= PI ? dh : h2 <= h1 ? dh + TAU : dh - TAU; + const deltaH = 2 * sqrt(c1 * c2) * sin(dh / 2); + const H = 0.5 * (absH <= PI ? sumH : sumH < TAU ? sumH + TAU : sumH - TAU); + return { deltaH, H }; +}; + +const H35 = 35 * DEG2RAD; +const H164 = 164 * DEG2RAD; +const H168 = 168 * DEG2RAD; +const H345 = 345 * DEG2RAD; + +/** + * Higher order function to compute the CMC l:c (1984) difference measure + * between 2 colors in the CIELAB (D65) space. Takes lightness and chroma weight + * coefficients to adjust ratio of L:C. By default both are 1. Returns a + * {@link ColorDistance} function which converts (if needed) input colors to + * {@link LabD65} and then computes the metric. + * + * @remarks + * Important: This formular is only a quasimetric & violates symmetry, i.e. + * `distCMC(a, b) !== distCMC(b, a)` + * + * References: + * - https://en.wikipedia.org/wiki/Color_difference#CMC_l:c_(1984) + */ +export const distCMC = (kl = 1, kc = 1): ColorDistance => (a, b) => { + let { 0: l1, 1: a1, 2: b1 } = labD65(a); + let { 0: l2, 1: a2, 2: b2 } = labD65(b); + l1 *= 100; + a1 *= 100; + b1 *= 100; + l2 *= 100; + a2 *= 100; + b2 *= 100; + const c1 = hypot(a1, b1); + const c2 = hypot(a2, b2); + const dC = c1 - c2; + const dH = sqrt((a2 - a1) ** 2 + (b2 - b1) ** 2 - dC ** 2); + const h1 = atan2Abs(b1, a1); + const t = + h1 >= H164 && h1 <= H345 + ? 0.56 + abs(0.2 * cos(h1 + H168)) + : 0.36 + abs(0.4 * cos(h1 + H35)); + const c14 = c1 ** 4; + const f = sqrt(c14 / (c14 + 1900)); + const Sl = l1 >= 16 ? (0.040975 * l1) / (1 + 0.01765 * l1) : 0.511; + const Sc = (0.0638 * c1) / (1 + 0.0131 * c1) + 0.638; + const Sh = Sc * (f * t + 1 - f); + return hypot((l1 - l2) / (kl * Sl), dC / (kc * Sc), dH / Sh); +}; diff --git a/packages/color/src/ops/gradients.ts b/packages/color/src/ops/gradients.ts new file mode 100644 index 0000000000..7aed81e2f0 --- /dev/null +++ b/packages/color/src/ops/gradients.ts @@ -0,0 +1,95 @@ +import type { NumericArray } from "@thi.ng/api"; +import { tween } from "@thi.ng/transducers"; +import { setS4 } from "@thi.ng/vectors"; +import type { TypedColor } from "../api"; +import type { GradientOpts } from "../api/gradients"; +import { mix as $mix } from "../ops/mix"; + +/** + * Similar to {@link multiCosineGradient}, but using any number of gradient + * color stops and isn't limited to RGB, but for arbitrary color types. + * + * @remarks + * @see {@link @thi.ng/transducers#tween} + * + * @example + * ```ts + * gradient = multiColorGradient({ + * num: 100, + * // LAB color stops + * stops: [ + * // pink red + * [0, lch(0.8, 0.8, 0)], + * // green + * [1 / 3, lch(0.8, 0.8, 1 / 3)], + * // blue + * [2 / 3, lch(0.8, 0.8, 2 / 3)], + * // gray + * [1, lch(0.8, 0, 1)], + * ] + * }); + * + * // write gradient as SVG swatches + * writeFileSync( + * `export/lch-multigradient.svg`, + * serialize( + * svg( + * { width: 500, height: 50, convert: true }, + * swatchesH(gradient, 5, 50) + * ) + * ) + * ); + * ``` + * + * @param opts + */ +export const multiColorGradient = >( + opts: GradientOpts +) => [...gradient(opts)]; + +/** + * Similar to {@link multiColorGradient}, but writes results into `buffer` from + * given `offset` and component/element strides. Returns buffer. + * + * @remarks + * Intended use case for this function: 1D texturemap/tonemap generation, e.g. + * for dataviz etc. Also @see {@link cosineGradientBuffer}. + * + * @param opts + * @param buffer - target buffer/array + * @param offset - start index (default: 0) + * @param cstride - channel stride (default: 1) + * @param estride - element stride (default: 4) + */ +export const multiColorGradientBuffer = >( + opts: GradientOpts, + buffer: NumericArray = [], + offset = 0, + cstride = 1, + estride = 4 +) => { + for (let col of gradient(opts)) { + setS4(buffer, col, offset, 0, cstride); + offset += estride; + } + return buffer; +}; + +/** @internal */ +const gradient = >({ + num, + stops, + easing, + mix, +}: GradientOpts): Iterable => + tween({ + num: num - 1, + stops, + easing, + min: 0, + max: 1, + init: (a, b) => [a, b], + mix: mix + ? ([a, b], t) => mix(a.empty(), a, b, t) + : ([a, b], t) => $mix(a.empty(), a, b, t), + }); diff --git a/packages/color/src/invert.ts b/packages/color/src/ops/invert.ts similarity index 82% rename from packages/color/src/invert.ts rename to packages/color/src/ops/invert.ts index f7077d0378..1cce6d0d0d 100644 --- a/packages/color/src/invert.ts +++ b/packages/color/src/ops/invert.ts @@ -1,5 +1,5 @@ import { ONE3, sub3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; +import type { ColorOp } from "../api"; import { clamp } from "./clamp"; /** @@ -8,7 +8,7 @@ import { clamp } from "./clamp"; * @param out - result * @param src - source color */ -export const invertRGB: ColorOp = (out, src) => ( +export const invertRgb: ColorOp = (out, src) => ( (out = clamp(out || src, src)), sub3(out, ONE3, out) ); diff --git a/packages/color/src/ops/is-black.ts b/packages/color/src/ops/is-black.ts new file mode 100644 index 0000000000..289cd098cd --- /dev/null +++ b/packages/color/src/ops/is-black.ts @@ -0,0 +1,29 @@ +import { DEFAULT, defmulti } from "@thi.ng/defmulti"; +import type { ReadonlyColor, TypedColor } from "../api"; +import { EPS } from "../api/constants"; +import { rgb } from "../rgb/rgb"; + +const isBlackHsv = (x: ReadonlyColor, eps = EPS) => x[2] <= eps; + +const isBlackRgb = (x: ReadonlyColor, eps = EPS) => + x[0] <= eps && x[1] <= eps && x[2] <= eps; + +const isBlackLch = (x: ReadonlyColor, eps = EPS) => x[0] <= eps; + +export const isBlack = defmulti, number | undefined, boolean>( + (x) => x.mode +); + +isBlack.addAll({ + hcy: isBlackHsv, + hsi: isBlackHsv, + hsl: isBlackHsv, + hsv: isBlackHsv, + labD50: isBlackLch, + labD65: isBlackLch, + lch: isBlackLch, + rgb: isBlackRgb, + ycc: isBlackRgb, +}); + +isBlack.add(DEFAULT, (x: any) => isBlackRgb(rgb(x))); diff --git a/packages/color/src/ops/is-gray.ts b/packages/color/src/ops/is-gray.ts new file mode 100644 index 0000000000..4be01c7a9e --- /dev/null +++ b/packages/color/src/ops/is-gray.ts @@ -0,0 +1,32 @@ +import { DEFAULT, defmulti } from "@thi.ng/defmulti"; +import { eqDelta } from "@thi.ng/math"; +import type { ReadonlyColor, TypedColor } from "../api"; +import { EPS } from "../api/constants"; +import { rgb } from "../rgb/rgb"; + +const isGrayHsv = (x: ReadonlyColor, eps = EPS) => x[1] <= eps; + +const isGrayRgb = (x: ReadonlyColor, eps = EPS) => + eqDelta(x[0], x[1], eps) && eqDelta(x[0], x[2], eps); + +const isGrayLab = (x: ReadonlyColor, eps = EPS) => + eqDelta(x[1], 0, eps) && eqDelta(x[2], 0, eps); + +export const isGray = defmulti, number | undefined, boolean>( + (x) => x.mode +); + +isGray.addAll({ + hcy: isGrayHsv, + hsi: isGrayHsv, + hsl: isGrayHsv, + hsv: isGrayHsv, + labD50: isGrayLab, + labD65: isGrayLab, + lch: isGrayHsv, + rgb: isGrayRgb, + srgb: isGrayRgb, + ycc: isGrayLab, +}); + +isGray.add(DEFAULT, (x: any) => isGrayRgb(rgb(x))); diff --git a/packages/color/src/ops/is-white.ts b/packages/color/src/ops/is-white.ts new file mode 100644 index 0000000000..7161cd3494 --- /dev/null +++ b/packages/color/src/ops/is-white.ts @@ -0,0 +1,33 @@ +import { DEFAULT, defmulti } from "@thi.ng/defmulti"; +import type { ReadonlyColor, TypedColor } from "../api"; +import { EPS } from "../api/constants"; +import { rgb } from "../rgb/rgb"; + +const isWhiteHsv = (x: ReadonlyColor, eps = EPS) => + x[1] <= eps && x[2] >= 1 - eps; + +const isWhiteRgb = (x: ReadonlyColor, eps = EPS) => { + eps = 1 - eps; + return x[0] >= eps && x[1] >= eps && x[2] >= eps; +}; + +const isWhiteLch = (x: ReadonlyColor, eps = EPS) => + x[1] <= eps && x[0] >= 1 - eps; + +export const isWhite = defmulti, number | undefined, boolean>( + (x) => x.mode +); + +isWhite.addAll({ + hcy: (x, eps = EPS) => x[1] <= eps && x[2] >= 1 - eps, + hsi: isWhiteHsv, + hsl: isWhiteHsv, + hsv: isWhiteHsv, + labD50: isWhiteLch, + labD65: isWhiteLch, + lch: isWhiteLch, + rgb: isWhiteRgb, + ycc: isWhiteLch, +}); + +isWhite.add(DEFAULT, (x: any) => isWhiteRgb(rgb(x))); diff --git a/packages/color/src/ops/linear.ts b/packages/color/src/ops/linear.ts new file mode 100644 index 0000000000..20f661ecfc --- /dev/null +++ b/packages/color/src/ops/linear.ts @@ -0,0 +1,19 @@ +/** + * Maps a single linear RGB channel value to sRGB. + * + * {@link https://en.wikipedia.org/wiki/SRGB} + * + * @param x - channel value + */ +export const linearSrgb = (x: number) => + x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055; + +/** + * Maps a single linear sRGB channel value to linear RGB. + * + * {@link https://en.wikipedia.org/wiki/SRGB} + * + * @param x - channel value + */ +export const srgbLinear = (x: number) => + x <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); diff --git a/packages/color/src/ops/luminance-rgb.ts b/packages/color/src/ops/luminance-rgb.ts new file mode 100644 index 0000000000..7259b592f8 --- /dev/null +++ b/packages/color/src/ops/luminance-rgb.ts @@ -0,0 +1,39 @@ +import { dot3 } from "@thi.ng/vectors"; +import type { ReadonlyColor } from "../api"; +import { RGB_LUMINANCE_REC709, RGB_LUMINANCE_REC601 } from "../api/constants"; + +/** + * Computes RGB luminance, optionally using provided weights (by default: + * {@link RGB_LUMINANCE_REC709}). + * + * @param rgb + * @param weights + */ +export const luminanceRgb = ( + rgb: ReadonlyColor, + weights = RGB_LUMINANCE_REC709 +) => dot3(rgb, weights); + +/** + * Similar to {@link luminanceRgb}, but uses {@link RGB_LUMINANCE_REC601} coeffs + */ +export const luminanceSrgb = (rgb: ReadonlyColor) => + dot3(rgb, RGB_LUMINANCE_REC601); + +export const luminanceIntArgb32 = (rgb: number) => + (((rgb >>> 16) & 0xff) * 76 + + ((rgb >>> 8) & 0xff) * 150 + + (rgb & 0xff) * 29) / + 0xfe01; + +export const luminanceIntAbgr32 = (rgb: number) => + (((rgb >>> 16) & 0xff) * 29 + + ((rgb >>> 8) & 0xff) * 150 + + (rgb & 0xff) * 76) / + 0xfe01; + +export const luminanceArgb32 = (argb: ReadonlyColor) => + luminanceIntArgb32(argb[0]); + +export const luminanceAbgr32 = (argb: ReadonlyColor) => + luminanceIntAbgr32(argb[0]); diff --git a/packages/color/src/ops/luminance.ts b/packages/color/src/ops/luminance.ts new file mode 100644 index 0000000000..3311b8c18a --- /dev/null +++ b/packages/color/src/ops/luminance.ts @@ -0,0 +1,40 @@ +import { DEFAULT, defmulti, MultiFn1 } from "@thi.ng/defmulti"; +import type { MaybeColor } from "../api"; +import { rgb } from "../rgb/rgb"; +import { + luminanceAbgr32, + luminanceArgb32, + luminanceRgb, + luminanceSrgb, +} from "./luminance-rgb"; + +/** + * Multi-method to compute relative luminance from any supported input color + * format. + * + * @remarks + * For many color spaces, the luminance information is readily available and + * will simply result in looking up the relevant channel value. For others, + * unless a direct implementation is available, colors will first be converted + * to linear RGB. + */ +export const luminance: MultiFn1 = defmulti( + (col: any) => col.mode +); + +luminance.addAll({ + argb32: luminanceArgb32, + abgr32: luminanceAbgr32, + hcy: (x: any) => x[2], + lab: (x: any) => x[0], + rgb: luminanceRgb, + srgb: luminanceSrgb, + xyz: (x: any) => x[1], +}); + +luminance.isa("lch", "lab"); +luminance.isa("oklab", "lab"); +luminance.isa("ycc", "lab"); +luminance.isa("xyy", "hcy"); + +luminance.add(DEFAULT, (x: any) => luminanceRgb(rgb(x))); diff --git a/packages/color/src/ops/mix.ts b/packages/color/src/ops/mix.ts new file mode 100644 index 0000000000..242878da27 --- /dev/null +++ b/packages/color/src/ops/mix.ts @@ -0,0 +1,121 @@ +import type { FnN3, FnU4 } from "@thi.ng/api"; +import { DEFAULT, defmulti } from "@thi.ng/defmulti"; +import { fract, mix as $mix } from "@thi.ng/math"; +import { mixN4, setC4 } from "@thi.ng/vectors"; +import type { Color, ColorMixFn, TypedColor } from "../api"; + +/** + * HOF color mix function. Takes 4 scalar mix fns (one per color channel) and + * returns new {@link ColorMixFn}. + * + * @param x + * @param y + * @param z + * @param alpha + */ +export const defMix: FnU4 = (x, y, z, alpha) => ( + out, + a, + b, + t +) => + setC4( + out || a, + x(a[0], b[0], t), + y(a[1], b[1], t), + z(a[2], b[2], t), + alpha(a[3], b[3], t) + ); + +/** + * Single channel interpolation for (normalized) hues. Always interpolates via + * smallest angle difference, i.e. such that the effective `abs(a-b) <= 0.5`. + * + * @param a - start hue in [0,1) interval + * @param b - end hue in [0,1) interval + * @param t - interpolation factor + */ +export const mixH: FnN3 = (a, b, t) => { + a = fract(a); + b = fract(b); + const delta = b - a; + return fract( + a + + (Math.abs(delta) > 0.5 + ? delta < 0 + ? delta + 1 + : -(1 - delta) + : delta) * + t + ); +}; + +/** + * Single channel linear interpolation function. + * + * @param a + * @param b + * @param t + */ +export const mixN = $mix; + +export const mixHNNN = defMix(mixH, mixN, mixN, mixN); + +export const mixNNHN = defMix(mixN, mixN, mixH, mixN); + +/** + * Channelwise linear interpolation between colors `a` and `b` using `t` [0..1] + * as blend factor. + * + * @param out - + * @param a - + * @param b - + * @param t - + */ +export const mixNNNN: ColorMixFn = mixN4; + +/** + * Channelwise and {@link ColorMode}-aware interpolation between colors `a` and + * `b` using `t` [0..1] as blend factor. `a` and `b` need to be of same color + * type. + * + * @remarks + * Any hue channel will always be interpolated using the smallest angle + * difference (using {@link mixH}). + * + * The {@link @thi.ng/math#} package provides various easing functions to create + * non-linear interpolations. For example: + * + * @example + * ```ts + * import { circular } from "@thi.ng/math"; + * + * mix([], rgb("#f00"), rgb("#0f0"), 0.5); + * // [ 0.5, 0.5, 0, 1 ] + * + * mix([], RED, GREEN, circular(0.5)); + * // [ 0.1339745962155614, 0.8660254037844386, 0, 1 ] + * ``` + * + * @param out - + * @param a - + * @param b - + * @param t - + */ +export const mix = defmulti< + Color | null, + TypedColor, + TypedColor, + number, + Color +>((_, a) => a.mode); + +mix.add(DEFAULT, mixN4); + +mix.addAll({ + hcy: mixHNNN, + hsi: mixHNNN, + hsl: mixHNNN, + hsv: mixHNNN, + lch: mixNNHN, +}); diff --git a/packages/color/src/ops/sort.ts b/packages/color/src/ops/sort.ts new file mode 100644 index 0000000000..b7c7a4b343 --- /dev/null +++ b/packages/color/src/ops/sort.ts @@ -0,0 +1,81 @@ +import { Fn, typedArray, typedArrayType } from "@thi.ng/api"; +import { quickSort, sortByCachedKey, swap } from "@thi.ng/arrays"; +import { compareNumAsc, compareNumDesc } from "@thi.ng/compare"; +import type { ColorDistance, ReadonlyColor, TypedColor } from "../api"; +import { distEucledian3 } from "./distance"; + +export const selectChannel = (id: number) => (col: ReadonlyColor) => col[id]; + +/** + * Takes a `target` color and optional `distance` function. Returns a new + * function which can be used as `key` function for {@link sort} to compute the + * distance metric of a color to the given `target`. + * + * @param target + * @param dist + */ +export const proximity = ( + target: ReadonlyColor, + dist: ColorDistance = distEucledian3 +) => (col: ReadonlyColor) => dist(target, col); + +export const sort = ( + colors: ReadonlyColor[], + key: Fn, + isReverse = false +) => sortByCachedKey(colors, key, isReverse ? compareNumDesc : compareNumAsc); + +/** + * Similar to {@link sort}, but only for memory mapped colors (e.g. mapping a + * pixel buffer). Does NOT change the order of elements in given `colors` array, + * BUT sorts the **apparent** order by swapping the contents of the backing + * memory. + * + * ```ts + * // memory buffer of 4 sRGB colors + * const buf = new Float32Array([0,1,0,1, 0,0.5,0,1, 0,0.25,0,1, 0,0.75,0,1]); + * + * // map buffer (creates 4 SRGB instances linked to the buffer) + * const pix = srgb.mapBuffer(buf); + * + * // display original order + * pix.map(css); + * // [ '#00ff00', '#008000', '#004000', '#00bf00' ] + * + * // sort colors (buffer!) by luminance + * sortMapped(pix, luminanceSrgb); + * + * // new order + * pix.map(css); + * // [ '#004000', '#008000', '#00bf00', '#00ff00' ] + * + * // buffer contents have been re-ordered + * buf + * // Float32Array(16) [ + * // 0, 0.25, 0, 1, 0, + * // 0.5, 0, 1, 0, 0.75, + * // 0, 1, 0, 1, 0, + * // 1 + * // ] + * ``` + * + * @param colors + * @param key + * @param isReverse + */ +export const sortMapped = >( + colors: T[], + key: Fn, + isReverse = false +) => { + if (!colors.length) return colors; + const keys = colors.map(key); + const tmp = typedArray(typedArrayType(colors[0].buf), colors[0].length); + quickSort(keys, isReverse ? compareNumDesc : compareNumAsc, (_, x, y) => { + swap(keys, x, y); + tmp.set(colors[x]); + colors[x].set(colors[y]); + colors[y].set(tmp); + }); + return colors; +}; diff --git a/packages/color/src/swatches.ts b/packages/color/src/ops/swatches.ts similarity index 62% rename from packages/color/src/swatches.ts rename to packages/color/src/ops/swatches.ts index 0690519282..522023b7c5 100644 --- a/packages/color/src/swatches.ts +++ b/packages/color/src/ops/swatches.ts @@ -1,21 +1,21 @@ import type { Fn2, IObjectOf } from "@thi.ng/api"; -import type { ReadonlyColor } from "./api"; +import type { ReadonlyColor } from "../api"; export const swatches = ( - cols: ReadonlyColor[], - fn: Fn2, + cols: (ReadonlyColor | string)[], + shapeFn: Fn2, attribs: IObjectOf = {} -) => ["g", attribs, ...cols.map(fn)]; +) => ["g", attribs, ...cols.map(shapeFn)]; export const swatchesH = ( - cols: ReadonlyColor[], + cols: (ReadonlyColor | string)[], w = 5, h = 50, attribs?: IObjectOf ) => swatches(cols, (fill, i) => ["rect", { fill }, [i * w, 0], w, h], attribs); export const swatchesV = ( - cols: ReadonlyColor[], + cols: (ReadonlyColor | string)[], w = 50, h = 5, attribs: IObjectOf = {} diff --git a/packages/color/src/transform.ts b/packages/color/src/ops/transform.ts similarity index 91% rename from packages/color/src/transform.ts rename to packages/color/src/ops/transform.ts index 02431bf918..7be6dbda07 100644 --- a/packages/color/src/transform.ts +++ b/packages/color/src/ops/transform.ts @@ -1,7 +1,7 @@ import { mix } from "@thi.ng/math"; -import type { ColorMatrix, ReadonlyColor } from "./api"; -import { RGB_LUMINANCE, WHITE } from "./constants"; -import { mulM45, mulV45 } from "./internal/matrix-ops"; +import type { ColorMatrix, ReadonlyColor } from "../api"; +import { RGB_LUMINANCE_REC709, WHITE } from "../api/constants"; +import { mulM45, mulV45 } from "../internal/matrix-ops"; // https://drafts.fxtf.org/filter-effects/#feColorMatrixElement @@ -152,13 +152,13 @@ export const tint = (x: number): ColorMatrix => [ * (optionally with custom coefficients). Does NOT modify alpha channel. * * @remarks - * See {@link RGB_LUMINANCE} for default coefficients + * See {@link RGB_LUMINANCE_REC709} for default coefficients * - * @param offset - brightness offset * @param coeffs - luminance coefficients + * @param offset - brightness offset */ // prettier-ignore -export const grayscale = (offset = 0, [r, g, b] = RGB_LUMINANCE): ColorMatrix => [ +export const grayscale = ([r, g, b] = RGB_LUMINANCE_REC709, offset = 0): ColorMatrix => [ r, g, b, 0, offset, r, g, b, 0, offset, r, g, b, 0, offset, @@ -171,12 +171,12 @@ export const grayscale = (offset = 0, [r, g, b] = RGB_LUMINANCE): ColorMatrix => * and clears RGB channels (all set to zero). * * @remarks - * See {@link RGB_LUMINANCE} for default coefficients + * See {@link RGB_LUMINANCE_REC709} for default coefficients * * @param coeffs - luminance coefficients */ // prettier-ignore -export const luminanceAlpha = ([r, g, b] = RGB_LUMINANCE): ColorMatrix => [ +export const luminanceAlpha = ([r, g, b] = RGB_LUMINANCE_REC709): ColorMatrix => [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/packages/color/src/parse-css.ts b/packages/color/src/parse-css.ts deleted file mode 100644 index 210a63b4e0..0000000000 --- a/packages/color/src/parse-css.ts +++ /dev/null @@ -1,79 +0,0 @@ -import type { IDeref } from "@thi.ng/api"; -import { illegalArgs } from "@thi.ng/errors"; -import { clamp01 } from "@thi.ng/math"; -import { maybeParseFloat, maybeParseInt } from "@thi.ng/strings"; -import type { Color, CSSColorName } from "./api"; -import { INV8BIT } from "./constants"; -import { hslaRgba } from "./hsla-rgba"; -import { int32Rgba } from "./int-rgba"; -import { CSS_NAMES } from "./names"; - -const RE_HEX = /^#?([0-9a-f]{3,8})$/i; -const RE_CSS = /^(rgb|hsl)a?\(\s*([0-9.]+?),\s*([0-9.]+%?),\s*([0-9.]+%?),?\s*([0-9.]+)?\s*\)$/; - -export const parseCss = (col: string | IDeref) => { - col = typeof col === "string" ? col : col.deref(); - if (col.charAt(0) === "#") { - return int32Rgba([], parseHex(col)); - } else { - const match = RE_CSS.exec(col); - if (match) { - if (match[1] === "rgb" || match[1] === "rgba") { - return [ - parseChannel(match[2]), - parseChannel(match[3]), - parseChannel(match[4]), - maybeParseFloat(match[5], 1), - ]; - } else { - return hslaRgba(null, [ - maybeParseFloat(match[2]) / 360, - parseChannel(match[3]), - parseChannel(match[4]), - maybeParseFloat(match[5], 1), - ]); - } - } else { - const c = CSS_NAMES[col]; - !c && illegalArgs(`invalid color: "${col}"`); - return int32Rgba([], parseHex(c)); - } - } -}; - -export const parseHex = (src: string): number => { - const match = RE_HEX.exec(src); - if (match) { - const hex = match[1]; - switch (hex.length) { - case 3: { - const [r, g, b] = hex; - return ( - (maybeParseInt(`${r}${r}${g}${g}${b}${b}`, 0, 16) | - 0xff000000) >>> - 0 - ); - } - case 4: { - const [a, r, g, b] = hex; - return ( - maybeParseInt(`${a}${a}${r}${r}${g}${g}${b}${b}`, 0, 16) >>> - 0 - ); - } - case 6: - return (maybeParseInt(hex, 0, 16) | 0xff000000) >>> 0; - case 8: - return maybeParseInt(hex, 0, 16) >>> 0; - default: - } - } - return illegalArgs(`invalid hex color: "${src}"`); -}; - -const parseChannel = (c: string) => - clamp01( - c.indexOf("%") > 0 - ? maybeParseFloat(c) * 0.01 - : maybeParseFloat(c) * INV8BIT - ); diff --git a/packages/color/src/resolve.ts b/packages/color/src/resolve.ts deleted file mode 100644 index ffe2f36e63..0000000000 --- a/packages/color/src/resolve.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { isArrayLike, isNumber } from "@thi.ng/checks"; -import type { ReadonlyColor } from "./api"; -import { asCSS } from "./convert"; - -/** - * Takes a color in one of the following formats and tries to convert it - * to a CSS string: - * - * - any IColor instance - * - raw RGBA vector - * - number ((A)RGB int) - * - string (unchanged) - * - * @param col - source color - */ -export const resolveAsCSS = (col: any) => - isArrayLike(col) - ? isNumber((col).mode) - ? asCSS(col) - : asCSS(col, "rgb") - : isNumber(col) - ? asCSS(col, "int") - : col; diff --git a/packages/color/src/rgb/hue-rgb.ts b/packages/color/src/rgb/hue-rgb.ts new file mode 100644 index 0000000000..2e2f4dda60 --- /dev/null +++ b/packages/color/src/rgb/hue-rgb.ts @@ -0,0 +1,24 @@ +import { clamp01, fract } from "@thi.ng/math"; +import { setC4 } from "@thi.ng/vectors"; +import type { Color, Hue } from "../api"; + +/** + * Converts a normalized hue to RGBA with given optional `alpha` + * value (default: 1). + * + * @param out - result + * @param hue - normalized hue + */ +export const hueRgb = (out: Color | null, hue: number, alpha = 1): Color => { + hue = fract(hue) * 6; + return setC4( + out || [], + clamp01(Math.abs(hue - 3) - 1), + clamp01(2 - Math.abs(hue - 2)), + clamp01(2 - Math.abs(hue - 4)), + alpha + ); +}; + +export const namedHueRgb = (out: Color | null, hue: Hue, alpha = 1) => + hueRgb(out, hue / 12, alpha); diff --git a/packages/color/src/kelvin-rgba.ts b/packages/color/src/rgb/kelvin-rgba.ts similarity index 50% rename from packages/color/src/kelvin-rgba.ts rename to packages/color/src/rgb/kelvin-rgba.ts index 272cc1c774..0e72a4ba52 100644 --- a/packages/color/src/kelvin-rgba.ts +++ b/packages/color/src/rgb/kelvin-rgba.ts @@ -1,6 +1,6 @@ import { clamp01 } from "@thi.ng/math"; import { setC4 } from "@thi.ng/vectors"; -import type { Color } from "./api"; +import { SRGB, srgb } from "../srgb/srgb"; const G1 = -0.6088425710866344; const G2 = -0.001748900018414868; @@ -20,30 +20,34 @@ const B3 = 0.453646839257496; * - {@link https://github.com/neilbartlett/color-temperature/blob/develop/index.js} * - {@link http://www.zombieprototypes.com/?p=210} * - * Uses adjusted coefficients to produce normalized RGB values. + * Uses adjusted coefficients to produce normalized sRGB values. * * @param out - result * @param kelvin - color temperature * @param alpha - target alpha channel */ -export const kelvinRgba = (out: Color | null, kelvin: number, alpha = 1) => { +export const kelvinRgb = (out: SRGB | null, kelvin: number, alpha = 1) => { kelvin *= 0.01; let t: number; return kelvin < 66 - ? setC4( - out || [], - 1, - clamp01(G1 + G2 * (t = kelvin - 2) + G3 * Math.log(t)), - kelvin < 20 - ? 0 - : clamp01(B1 + B2 * (t = kelvin - 10) + B3 * Math.log(t)), - alpha + ? ( + setC4( + out || srgb(), + 1, + clamp01(G1 + G2 * (t = kelvin - 2) + G3 * Math.log(t)), + kelvin < 20 + ? 0 + : clamp01(B1 + B2 * (t = kelvin - 10) + B3 * Math.log(t)), + alpha + ) ) - : setC4( - out || [], - clamp01(R1 + R2 * (t = kelvin - 55) + R3 * Math.log(t)), - clamp01(G4 + G5 * (t = kelvin - 50) - G6 * Math.log(t)), - 1, - alpha + : ( + setC4( + out || srgb(), + clamp01(R1 + R2 * (t = kelvin - 55) + R3 * Math.log(t)), + clamp01(G4 + G5 * (t = kelvin - 50) - G6 * Math.log(t)), + 1, + alpha + ) ); }; diff --git a/packages/color/src/rgb/rgb-css.ts b/packages/color/src/rgb/rgb-css.ts new file mode 100644 index 0000000000..a53ca27be2 --- /dev/null +++ b/packages/color/src/rgb/rgb-css.ts @@ -0,0 +1,5 @@ +import type { ReadonlyColor } from "../api"; +import { rgbSrgb } from "./rgb-srgb"; +import { srgbCss } from "../srgb/srgb-css"; + +export const rgbCss = (src: ReadonlyColor) => srgbCss(rgbSrgb([], src)); diff --git a/packages/color/src/rgba-hcva.ts b/packages/color/src/rgb/rgb-hcv.ts similarity index 84% rename from packages/color/src/rgba-hcva.ts rename to packages/color/src/rgb/rgb-hcv.ts index c039954e07..be0e31e7cc 100644 --- a/packages/color/src/rgba-hcva.ts +++ b/packages/color/src/rgb/rgb-hcv.ts @@ -1,7 +1,7 @@ import { clamp01, EPS } from "@thi.ng/math"; import { setC3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { clamp } from "./clamp"; +import type { ColorOp } from "../api"; +import { clamp } from "../ops/clamp"; /** * Based on: @@ -10,7 +10,7 @@ import { clamp } from "./clamp"; * @param out - result * @param src - source color */ -export const rgbaHcva: ColorOp = (out, src) => { +export const rgbHcv: ColorOp = (out, src) => { out = clamp(out || src, src); const p = out[1] < out[2] diff --git a/packages/color/src/rgb/rgb-hcy.ts b/packages/color/src/rgb/rgb-hcy.ts new file mode 100644 index 0000000000..0c229afc8a --- /dev/null +++ b/packages/color/src/rgb/rgb-hcy.ts @@ -0,0 +1,21 @@ +import { EPS } from "@thi.ng/math"; +import type { ColorOp } from "../api"; +import { hueRgb } from "./hue-rgb"; +import { luminanceRgb } from "../ops/luminance-rgb"; +import { rgbHcv } from "./rgb-hcv"; + +/** + * Ported from: + * {@link https://github.com/tobspr/GLSL-Color-Spaces/blob/develop/ColorSpaces.inc.glsl#L226} + * + * @param out - result + * @param src - source color + */ +export const rgbHcy: ColorOp = (out, src) => { + const y = luminanceRgb(src); + out = rgbHcv(out, src); + const z = luminanceRgb(hueRgb([], out[0])); + out[1] *= y < z ? z / (y + EPS) : (1 - z) / (1 + EPS - y); + out[2] = y; + return out; +}; diff --git a/packages/color/src/rgba-hsia.ts b/packages/color/src/rgb/rgb-hsi.ts similarity index 73% rename from packages/color/src/rgba-hsia.ts rename to packages/color/src/rgb/rgb-hsi.ts index 7b320fd6d5..44f30ef333 100644 --- a/packages/color/src/rgba-hsia.ts +++ b/packages/color/src/rgb/rgb-hsi.ts @@ -1,17 +1,15 @@ import { atan2Abs, SQRT3, TAU, THIRD } from "@thi.ng/math"; import { setC3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { clamp } from "./clamp"; +import type { ColorOp } from "../api"; +import { clamp } from "../ops/clamp"; // https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma const SQRT32 = SQRT3 / 2; -export const rgbaHsia: ColorOp = (out, src) => { +export const rgbHsi: ColorOp = (out, src) => { out = clamp(out || src, src); - const r = out[0]; - const g = out[1]; - const b = out[2]; + const { 0: r, 1: g, 2: b } = out; const i = THIRD * (r + g + b); return i < 1e-6 || (r === g && r === b) ? setC3(out, 0, 0, i) diff --git a/packages/color/src/rgb/rgb-hsl.ts b/packages/color/src/rgb/rgb-hsl.ts new file mode 100644 index 0000000000..5ca9bf4cc6 --- /dev/null +++ b/packages/color/src/rgb/rgb-hsl.ts @@ -0,0 +1,10 @@ +import { EPS } from "@thi.ng/math"; +import type { ColorOp } from "../api"; +import { rgbHcv } from "./rgb-hcv"; + +export const rgbHsl: ColorOp = (out, src) => { + out = rgbHcv(out, src); + out[2] -= out[1] * 0.5; + out[1] /= 1 + EPS - Math.abs(out[2] * 2 - 1); + return out; +}; diff --git a/packages/color/src/rgb/rgb-hsv.ts b/packages/color/src/rgb/rgb-hsv.ts new file mode 100644 index 0000000000..6c4142163a --- /dev/null +++ b/packages/color/src/rgb/rgb-hsv.ts @@ -0,0 +1,9 @@ +import { EPS } from "@thi.ng/math"; +import type { ColorOp } from "../api"; +import { rgbHcv } from "./rgb-hcv"; + +export const rgbHsv: ColorOp = (out, src) => { + out = rgbHcv(out, src); + out[1] /= out[2] + EPS; + return out; +}; diff --git a/packages/color/src/rgb/rgb-lab.ts b/packages/color/src/rgb/rgb-lab.ts new file mode 100644 index 0000000000..7a57014ef8 --- /dev/null +++ b/packages/color/src/rgb/rgb-lab.ts @@ -0,0 +1,24 @@ +import type { ColorOp } from "../api"; +import { rgbXyz, rgbXyzD65 } from "./rgb-xyz"; +import { xyzLab, xyzLabD65 } from "../xyz/xyz-lab"; + +/** + * Converts linear RGB to Lab (via XYZ) using {@link D50} white point. + * + * @remarks + * Important: We're using a normalized Lab space w/ all three coordinates + * divided by 100 (normalized to 100% luminance). + * + * @param out + * @param src + */ +export const rgbLab: ColorOp = (out, src) => xyzLab(null, rgbXyz(out, src)); + +/** + * Same as {@link rgbLab}, but using {@link D65} white point. + * + * @param out + * @param src + */ +export const rgbLabD65: ColorOp = (out, src) => + xyzLabD65(null, rgbXyzD65(out, src)); diff --git a/packages/color/src/rgb/rgb-oklab.ts b/packages/color/src/rgb/rgb-oklab.ts new file mode 100644 index 0000000000..3d6a1aea4f --- /dev/null +++ b/packages/color/src/rgb/rgb-oklab.ts @@ -0,0 +1,26 @@ +import { powN3 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { OKLAB_M2 } from "../api/constants"; +import { mulV33 } from "../internal/matrix-ops"; + +const CONE_LMS = [ + 0.412165612, + 0.211859107, + 0.0883097947, + 0.536275208, + 0.6807189584, + 0.2818474174, + 0.0514575653, + 0.107406579, + 0.6302613616, +]; + +/** + * @remarks + * Reference: https://bottosson.github.io/posts/oklab/ + * + * @param out + * @param src + */ +export const rgbOklab: ColorOp = (out, src) => + mulV33(null, OKLAB_M2, powN3(null, mulV33(out, CONE_LMS, src), 1 / 3)); diff --git a/packages/color/src/rgb/rgb-srgb.ts b/packages/color/src/rgb/rgb-srgb.ts new file mode 100644 index 0000000000..8385207878 --- /dev/null +++ b/packages/color/src/rgb/rgb-srgb.ts @@ -0,0 +1,30 @@ +import { setC4 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; +import { linearSrgb } from "../ops/linear"; + +/** + * Converts linear RGB to sRGB. + * + * @param out - result + * @param src - source color + */ +export const rgbSrgb: ColorOp = (out, src) => + setC4( + out || src, + linearSrgb(src[0]), + linearSrgb(src[1]), + linearSrgb(src[2]), + ensureAlpha(src[3]) + ); + +const GAMMA = 1 / 2.2; + +export const rgbSrgbApprox: ColorOp = (out, src) => + setC4( + out || src, + src[0] ** GAMMA, + src[1] ** GAMMA, + src[2] ** GAMMA, + ensureAlpha(src[3]) + ); diff --git a/packages/color/src/rgb/rgb-xyz.ts b/packages/color/src/rgb/rgb-xyz.ts new file mode 100644 index 0000000000..8772eb6ef7 --- /dev/null +++ b/packages/color/src/rgb/rgb-xyz.ts @@ -0,0 +1,29 @@ +import type { Color, ColorOp, ReadonlyColor } from "../api"; +import { clamp } from "../ops/clamp"; +import { RGB_XYZ_D50, RGB_XYZ_D65 } from "../api/constants"; +import { mulV33 } from "../internal/matrix-ops"; + +/** + * Converts RGB to XYZ using provided transformation matrix (default: + * {@link RGB_XYZ_D50}). + * + * {@link https://en.wikipedia.org/wiki/CIE_1931_color_space} + * + * @param out - result + * @param src - source color + * @param mat - transform matrix + */ +export const rgbXyz = ( + out: Color | null, + src: ReadonlyColor, + mat = RGB_XYZ_D50 +) => mulV33(null, mat, clamp(out, src)); + +/** + * Same as {@link rgbXyz}, but hard coded to use {@link D65} white point (via + * {@link RGB_XYZ_D65} matrix). + * + * @param out + * @param src + */ +export const rgbXyzD65: ColorOp = (out, src) => rgbXyz(out, src, RGB_XYZ_D65); diff --git a/packages/color/src/rgb/rgb-ycc.ts b/packages/color/src/rgb/rgb-ycc.ts new file mode 100644 index 0000000000..59b39c96c4 --- /dev/null +++ b/packages/color/src/rgb/rgb-ycc.ts @@ -0,0 +1,33 @@ +import { dot3, setC4 } from "@thi.ng/vectors"; +import type { Color, ReadonlyColor } from "../api"; +import { RGB_LUMINANCE_REC709 } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +/** + * @remarks + * https://en.wikipedia.org/wiki/YCbCr#YCbCr + * + * By default uses luminance weights as per BT.709 (aka + * {@link RGB_LUMINANCE_REC709}): + * + * - https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.709_conversion + * - https://en.wikipedia.org/wiki/Rec._709 + * + * @param out + * @param src + * @param luma + */ +export const rgbYcc = ( + out: Color | null, + src: ReadonlyColor, + luma = RGB_LUMINANCE_REC709 +) => { + const y = dot3(src, luma); + return setC4( + out || src, + y, + (0.5 * (src[2] - y)) / (1 - luma[2]), + (0.5 * (src[0] - y)) / (1 - luma[0]), + ensureAlpha(src[3]) + ); +}; diff --git a/packages/color/src/rgb/rgb.ts b/packages/color/src/rgb/rgb.ts new file mode 100644 index 0000000000..e18d3b45d8 --- /dev/null +++ b/packages/color/src/rgb/rgb.ts @@ -0,0 +1,64 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import { set4 } from "@thi.ng/vectors"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { hcyRgb } from "../hcy/hcy-rgb"; +import { hsiRgb } from "../hsi/hsi-rgb"; +import { hslRgb } from "../hsl/hsl-rgb"; +import { hsvRgb } from "../hsv/hsv-rgb"; +import { intAbgr32Rgb, intArgb32Rgb } from "../int/int-rgb"; +import { lchLab } from "../lab/lab-lch"; +import { labRgb, labRgbD65 } from "../lab/lab-rgb"; +import { oklabRgb } from "../oklab/oklab-rgb"; +import { srgbRgb } from "../srgb/srgb-rgb"; +import { xyyXyz } from "../xyy/xyy-xyz"; +import { xyzRgb, xyzRgbD65 } from "../xyz/xyz-rgb"; +import { yccRgb } from "../ycc/ycc-rgb"; + +export declare class RGB implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + r: number; + g: number; + b: number; + alpha: number; + [id: number]: number; + readonly mode: "rgb"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): RGB; + copyView(): RGB; + deref(): Color; + empty(): RGB; + eqDelta(o: RGB, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const rgb = >defColor({ + mode: "rgb", + order: ["r", "g", "b", "alpha"], + from: { + abgr32: (out, src) => intAbgr32Rgb(out, src[0]), + argb32: (out, src) => intArgb32Rgb(out, src[0]), + hcy: hcyRgb, + hsi: hsiRgb, + hsl: hslRgb, + hsv: hsvRgb, + lab50: labRgb, + lab65: labRgbD65, + lch: [lchLab, labRgb], + oklab: oklabRgb, + rgb: set4, + srgb: srgbRgb, + xyy: [xyyXyz, xyzRgbD65], + xyz50: xyzRgb, + xyz65: xyzRgbD65, + ycc: yccRgb, + }, +}); diff --git a/packages/color/src/rgba-hcya.ts b/packages/color/src/rgba-hcya.ts deleted file mode 100644 index b52e056450..0000000000 --- a/packages/color/src/rgba-hcya.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { EPS } from "@thi.ng/math"; -import type { ColorOp } from "./api"; -import { hueRgba } from "./hue-rgba"; -import { luminanceRGB } from "./luminance-rgb"; -import { rgbaHcva } from "./rgba-hcva"; - -/** - * Ported from: - * {@link https://github.com/tobspr/GLSL-Color-Spaces/blob/develop/ColorSpaces.inc.glsl#L226} - * - * @param out - result - * @param src - source color - */ -export const rgbaHcya: ColorOp = (out, src) => { - const y = luminanceRGB(src); - out = rgbaHcva(out, src); - const z = luminanceRGB(hueRgba([], out[0])); - out[1] *= y < z ? z / (y + EPS) : (1 - z) / (1 + EPS - y); - out[2] = y; - return out; -}; diff --git a/packages/color/src/rgba-hsla.ts b/packages/color/src/rgba-hsla.ts deleted file mode 100644 index 67acb376b9..0000000000 --- a/packages/color/src/rgba-hsla.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { EPS } from "@thi.ng/math"; -import type { ColorOp } from "./api"; -import { rgbaHcva } from "./rgba-hcva"; - -export const rgbaHsla: ColorOp = (out, src) => { - out = rgbaHcva(out, src); - out[2] -= out[1] * 0.5; - out[1] /= 1 + EPS - Math.abs(out[2] * 2 - 1); - return out; -}; diff --git a/packages/color/src/rgba-hsva.ts b/packages/color/src/rgba-hsva.ts deleted file mode 100644 index 52999a6b45..0000000000 --- a/packages/color/src/rgba-hsva.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { EPS } from "@thi.ng/math"; -import type { ColorOp } from "./api"; -import { rgbaHcva } from "./rgba-hcva"; - -export const rgbaHsva: ColorOp = (out, src) => { - out = rgbaHcva(out, src); - out[1] /= out[2] + EPS; - return out; -}; diff --git a/packages/color/src/rgba-int.ts b/packages/color/src/rgba-int.ts deleted file mode 100644 index cf811dc6f7..0000000000 --- a/packages/color/src/rgba-int.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { clamp01 } from "@thi.ng/math"; -import type { ReadonlyColor } from "./api"; -import { ensureAlpha } from "./internal/ensure-alpha"; - -export const rgbaInt = (src: ReadonlyColor) => - (((ensureAlpha(src[3]) * 0xff + 0.5) << 24) | - ((clamp01(src[0]) * 0xff + 0.5) << 16) | - ((clamp01(src[1]) * 0xff + 0.5) << 8) | - (clamp01(src[2]) * 0xff + 0.5)) >>> - 0; diff --git a/packages/color/src/rgba-xyza.ts b/packages/color/src/rgba-xyza.ts deleted file mode 100644 index a97eb2ce69..0000000000 --- a/packages/color/src/rgba-xyza.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { ColorOp } from "./api"; -import { clamp } from "./clamp"; -import { RGB_XYZ } from "./constants"; -import { ensureAlpha } from "./internal/ensure-alpha"; -import { mulV33 } from "./internal/matrix-ops"; - -/** - * {@link https://en.wikipedia.org/wiki/CIE_1931_color_space} - * - * @param out - result - * @param src - source color - */ -export const rgbaXyza: ColorOp = (out, src) => { - out = mulV33(null, RGB_XYZ, clamp(out || src, src), false); - out[3] = ensureAlpha(src[3]); - return out; -}; diff --git a/packages/color/src/rgba-ycbcra.ts b/packages/color/src/rgba-ycbcra.ts deleted file mode 100644 index 5a017ca6aa..0000000000 --- a/packages/color/src/rgba-ycbcra.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { setC3 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { clamp } from "./clamp"; -import { luminanceRGB } from "./luminance-rgb"; - -export const rgbaYcbcra: ColorOp = (out, src) => { - out = clamp(out || src, src); - const y = luminanceRGB(src); - return setC3(out, y, (src[2] - y) * 0.565, (src[0] - y) * 0.713); -}; diff --git a/packages/color/src/rgba.ts b/packages/color/src/rgba.ts deleted file mode 100644 index b6b6f7d899..0000000000 --- a/packages/color/src/rgba.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { declareIndices, IVector } from "@thi.ng/vectors"; -import type { Color, ColorMode } from "./api"; -import { AColor } from "./internal/acolor"; -import { ensureArgs } from "./internal/ensure-args"; - -export function rgba(col: Color, offset?: number, stride?: number): RGBA; -export function rgba(r?: number, g?: number, b?: number, a?: number): RGBA; -export function rgba(...args: any[]) { - return new RGBA(...ensureArgs(args)); -} - -export class RGBA extends AColor implements IVector { - r!: number; - g!: number; - b!: number; - a!: number; - - get mode() { - return "rgb"; - } - - copy() { - return new RGBA(this.deref()); - } - - copyView() { - return new RGBA(this.buf, this.offset, this.stride); - } - - empty() { - return new RGBA(); - } -} - -declareIndices(RGBA.prototype, ["r", "g", "b", "a"]); diff --git a/packages/color/src/sort.ts b/packages/color/src/sort.ts deleted file mode 100644 index 42f5a48fd5..0000000000 --- a/packages/color/src/sort.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { Fn } from "@thi.ng/api"; -import { sortByCachedKey } from "@thi.ng/arrays"; -import { compareNumAsc, compareNumDesc } from "@thi.ng/compare"; -import type { ReadonlyColor } from "./api"; -import { distHSV, distRGB } from "./distance"; - -export const selectChannel = (id: number) => (col: ReadonlyColor) => col[id]; - -export const proximityHSV = (target: ReadonlyColor) => (col: ReadonlyColor) => - distHSV(target, col); - -export const proximityRGB = (target: ReadonlyColor) => (col: ReadonlyColor) => - distRGB(target, col); - -export const sortColors = ( - cols: ReadonlyColor[], - key: Fn, - isReverse = false -) => sortByCachedKey(cols, key, isReverse ? compareNumDesc : compareNumAsc); diff --git a/packages/color/src/rgba-css.ts b/packages/color/src/srgb/srgb-css.ts similarity index 59% rename from packages/color/src/rgba-css.ts rename to packages/color/src/srgb/srgb-css.ts index 0ab071cf81..eaec09062d 100644 --- a/packages/color/src/rgba-css.ts +++ b/packages/color/src/srgb/srgb-css.ts @@ -1,14 +1,15 @@ import { clamp01 } from "@thi.ng/math"; import { U24 } from "@thi.ng/strings"; -import type { ReadonlyColor } from "./api"; -import { FF } from "./constants"; -import { ensureAlpha } from "./internal/ensure-alpha"; +import type { ReadonlyColor } from "../api"; +import { FF } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; -export const rgbaCss = (src: ReadonlyColor) => { +export const srgbCss = (src: ReadonlyColor) => { const r = (clamp01(src[0]) * 0xff + 0.5) | 0; const g = (clamp01(src[1]) * 0xff + 0.5) | 0; const b = (clamp01(src[2]) * 0xff + 0.5) | 0; const a = ensureAlpha(src[3]); + // TODO update to `rgb(${r} ${g} ${b}/${FF(a)})` (CSS L4 syntax) return a < 1 ? `rgba(${r},${g},${b},${FF(a)})` : `#${U24((r << 16) | (g << 8) | b)}`; diff --git a/packages/color/src/srgb/srgb-int.ts b/packages/color/src/srgb/srgb-int.ts new file mode 100644 index 0000000000..42fd0c804e --- /dev/null +++ b/packages/color/src/srgb/srgb-int.ts @@ -0,0 +1,17 @@ +import { clamp01 } from "@thi.ng/math"; +import type { ReadonlyColor } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +export const srgbIntArgb32 = (src: ReadonlyColor) => + (((ensureAlpha(src[3]) * 0xff + 0.5) << 24) | + ((clamp01(src[0]) * 0xff + 0.5) << 16) | + ((clamp01(src[1]) * 0xff + 0.5) << 8) | + (clamp01(src[2]) * 0xff + 0.5)) >>> + 0; + +export const srgbIntAbgr32 = (src: ReadonlyColor) => + (((ensureAlpha(src[3]) * 0xff + 0.5) << 24) | + ((clamp01(src[2]) * 0xff + 0.5) << 16) | + ((clamp01(src[1]) * 0xff + 0.5) << 8) | + (clamp01(src[0]) * 0xff + 0.5)) >>> + 0; diff --git a/packages/color/src/srgb/srgb-rgb.ts b/packages/color/src/srgb/srgb-rgb.ts new file mode 100644 index 0000000000..588aafe923 --- /dev/null +++ b/packages/color/src/srgb/srgb-rgb.ts @@ -0,0 +1,30 @@ +import { setC4 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; +import { srgbLinear } from "../ops/linear"; + +/** + * Converts sRGB to linear RGB. + * + * @param out - result + * @param src - source color + */ +export const srgbRgb: ColorOp = (out, src) => + setC4( + out || src, + srgbLinear(src[0]), + srgbLinear(src[1]), + srgbLinear(src[2]), + ensureAlpha(src[3]) + ); + +const GAMMA = 2.2; + +export const srgbRgbApprox: ColorOp = (out, src) => + setC4( + out || src, + src[0] ** GAMMA, + src[1] ** GAMMA, + src[2] ** GAMMA, + ensureAlpha(src[3]) + ); diff --git a/packages/color/src/srgb/srgb.ts b/packages/color/src/srgb/srgb.ts new file mode 100644 index 0000000000..dc7e487259 --- /dev/null +++ b/packages/color/src/srgb/srgb.ts @@ -0,0 +1,48 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { hcyRgb } from "../hcy/hcy-rgb"; +import { hsiRgb } from "../hsi/hsi-rgb"; +import { hslRgb } from "../hsl/hsl-rgb"; +import { hsvRgb } from "../hsv/hsv-rgb"; +import { intAbgr32Srgb, intArgb32Srgb } from "../int/int-srgb"; +import { rgbSrgb } from "../rgb/rgb-srgb"; + +export declare class SRGB implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + r: number; + g: number; + b: number; + alpha: number; + [id: number]: number; + readonly mode: "srgb"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): SRGB; + copyView(): SRGB; + deref(): Color; + empty(): SRGB; + eqDelta(o: SRGB, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const srgb = >defColor({ + mode: "srgb", + order: ["r", "g", "b", "alpha"], + from: { + abgr32: (out, src) => intAbgr32Srgb(out, src[0]), + argb32: (out, src) => intArgb32Srgb(out, src[0]), + hcy: hcyRgb, + hsi: hsiRgb, + hsl: hslRgb, + hsv: hsvRgb, + rgb: rgbSrgb, + }, +}); diff --git a/packages/color/src/srgba.ts b/packages/color/src/srgba.ts deleted file mode 100644 index 9d1f09bc73..0000000000 --- a/packages/color/src/srgba.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { setC4 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { SRGB_ALPHA } from "./constants"; -import { ensureAlpha } from "./internal/ensure-alpha"; - -/** - * Maps a single linear RGB channel value to sRGB. - * - * {@link https://en.wikipedia.org/wiki/SRGB} - * - * @param x - channel value - */ -export const linearSrgb = (x: number) => - x <= 0.0031308 - ? 12.92 * x - : (1.0 + SRGB_ALPHA) * Math.pow(x, 1.0 / 2.4) - SRGB_ALPHA; - -/** - * Maps a single linear sRGB channel value to linear RGB. - * - * {@link https://en.wikipedia.org/wiki/SRGB} - * - * @param x - channel value - */ -export const srgbLinear = (x: number) => - x <= 0.04045 - ? x / 12.92 - : Math.pow((x + SRGB_ALPHA) / (1 + SRGB_ALPHA), 2.4); - -/** - * Converts linear RGB to sRGB. - * - * @param out - result - * @param src - source color - */ -export const rgbaSrgba: ColorOp = (out, src) => - setC4( - out || src, - linearSrgb(src[0]), - linearSrgb(src[1]), - linearSrgb(src[2]), - ensureAlpha(src[3]) - ); - -/** - * Converts sRGB to linear RGB. - * - * @param out - result - * @param src - source color - */ -export const srgbaRgba: ColorOp = (out, src) => - setC4( - out || src, - srgbLinear(src[0]), - srgbLinear(src[1]), - srgbLinear(src[2]), - ensureAlpha(src[3]) - ); diff --git a/packages/color/src/xyy/xyy-xyz.ts b/packages/color/src/xyy/xyy-xyz.ts new file mode 100644 index 0000000000..57e949775c --- /dev/null +++ b/packages/color/src/xyy/xyy-xyz.ts @@ -0,0 +1,23 @@ +import { safeDiv } from "@thi.ng/math"; +import { setC4 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +/** + * @remarks + * https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_xy_chromaticity_diagram_and_the_CIE_xyY_color_space + * https://gamedev.stackexchange.com/a/70049 + * + * @param out + * @param src + */ +export const xyyXyz: ColorOp = (out, src) => { + const { 0: x, 1: y, 2: Y } = src; + return setC4( + out || src, + safeDiv(Y * x, y), + Y, + safeDiv(Y * (1 - x - y), y), + ensureAlpha(src[3]) + ); +}; diff --git a/packages/color/src/xyy/xyy.ts b/packages/color/src/xyy/xyy.ts new file mode 100644 index 0000000000..cbaf076c85 --- /dev/null +++ b/packages/color/src/xyy/xyy.ts @@ -0,0 +1,44 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { rgbXyzD65 } from "../rgb/rgb-xyz"; +import { xyzXyy } from "../xyz/xyz-xyy"; + +export declare class XYY implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + x: number; + y: number; + Y: number; + alpha: number; + [id: number]: number; + readonly mode: "xyy"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): XYY; + copyView(): XYY; + deref(): Color; + empty(): XYY; + eqDelta(o: XYY, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const xyy = >defColor({ + mode: "xyy", + channels: { + x: { range: [0, 0.6484] }, + y: { range: [0, 0.5979] }, + }, + order: ["x", "y", "Y", "alpha"], + from: { + rgb: (out, src) => xyzXyy(null, rgbXyzD65(out, src)), + xyz50: xyzXyy, + xyz65: xyzXyy, + }, +}); diff --git a/packages/color/src/xyz/wavelength-xyz.ts b/packages/color/src/xyz/wavelength-xyz.ts new file mode 100644 index 0000000000..f914780506 --- /dev/null +++ b/packages/color/src/xyz/wavelength-xyz.ts @@ -0,0 +1,48 @@ +import type { FnU5 } from "@thi.ng/api"; +import { setC4 } from "@thi.ng/vectors"; +import { xyzD65, XYZD65 } from "./xyz65"; + +/** + * Computes XYZA for given wavelength (in nanometers) and optional alpha channel + * (default: 1), writes result into `out` (or a new array if null). + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/CIE_1931_color_space#Analytical_approximation + * + * Primary hues (approx. wavelengths): + * + * - 460 => blue + * - 490 => cyan + * - 530 => green + * - 570 => yellow + * - 610 => red + * + * @param out + * @param lambda + * @param alpha + */ +export const wavelengthXyz = ( + out: XYZD65 | null, + lambda: number, + alpha = 1 +) => { + lambda *= 10; + return ( + setC4( + out || xyzD65(), + gaussian(lambda, 1.056, 5998, 379, 310) + + gaussian(lambda, 0.362, 4420, 160, 267) + + gaussian(lambda, -0.065, 5011, 204, 262), + gaussian(lambda, 0.821, 5688, 469, 405) + + gaussian(lambda, 0.286, 5309, 163, 311), + gaussian(lambda, 1.217, 4370, 118, 360) + + gaussian(lambda, 0.681, 4590, 260, 138), + alpha + ) + ); +}; + +const gaussian: FnU5 = (x, alpha, m, s1, s2) => { + const t = (x - m) / (x < m ? s1 : s2); + return alpha * Math.exp(-(t * t) / 2); +}; diff --git a/packages/color/src/xyz/xyz-lab.ts b/packages/color/src/xyz/xyz-lab.ts new file mode 100644 index 0000000000..b403d989d4 --- /dev/null +++ b/packages/color/src/xyz/xyz-lab.ts @@ -0,0 +1,40 @@ +import { setC4 } from "@thi.ng/vectors"; +import type { Color, ColorOp, ReadonlyColor } from "../api"; +import { D50, D65 } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +const transform = (x: number) => + x > 0.00885645 ? Math.cbrt(x) : 7.787037 * x + 16 / 116; + +/** + * Converts XYZ to Lab, using provided reference white point (default: + * {@link D50}). Also see {@link xyzLabD65}. + * + * @remarks + * Important: We're using a normalized Lab space w/ all three coordinates + * divided by 100 (normalized to 100% luminance). + * + * @param out + * @param src + * @param white + */ +export const xyzLab = (out: Color | null, src: ReadonlyColor, white = D50) => { + const x = transform(src[0] / white[0]); + const y = transform(src[1] / white[1]); + const z = transform(src[2] / white[2]); + return setC4( + out || src, + 1.16 * y - 0.16, + 5.0 * (x - y), + 2.0 * (y - z), + ensureAlpha(src[3]) + ); +}; + +/** + * Same as {@link xyzLab}, but hard coded to use {@link D65} white point. + * + * @param out + * @param src + */ +export const xyzLabD65: ColorOp = (out, src) => xyzLab(out, src, D65); diff --git a/packages/color/src/xyz/xyz-oklab.ts b/packages/color/src/xyz/xyz-oklab.ts new file mode 100644 index 0000000000..3c8c4543b8 --- /dev/null +++ b/packages/color/src/xyz/xyz-oklab.ts @@ -0,0 +1,7 @@ +import { powN3 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { OKLAB_M1, OKLAB_M2 } from "../api/constants"; +import { mulV33 } from "../internal/matrix-ops"; + +export const xyzOklab: ColorOp = (out, src) => + mulV33(null, OKLAB_M2, powN3(null, mulV33(out, OKLAB_M1, src), 1 / 3)); diff --git a/packages/color/src/xyz/xyz-rgb.ts b/packages/color/src/xyz/xyz-rgb.ts new file mode 100644 index 0000000000..c443952c76 --- /dev/null +++ b/packages/color/src/xyz/xyz-rgb.ts @@ -0,0 +1,27 @@ +import type { Color, ColorOp, ReadonlyColor } from "../api"; +import { XYZ_RGB_D50, XYZ_RGB_D65 } from "../api/constants"; +import { mulV33 } from "../internal/matrix-ops"; + +/** + * Converts CIE XYZ to RGB using provided transformation/whitepoint matrix + * (default: {@link XYZ_RGB_D50}). + * + * {@link https://en.wikipedia.org/wiki/CIE_1931_color_space} + * + * @param out - result + * @param src - source color + */ +export const xyzRgb = ( + out: Color | null, + src: ReadonlyColor, + mat = XYZ_RGB_D50 +) => mulV33(out, mat, src); + +/** + * Same as {@link xyzRgb}, but hard coded to use {@link D65} white point (via + * {@link XYZ_RGB_D65} matrix). + * + * @param out + * @param src + */ +export const xyzRgbD65: ColorOp = (out, src) => xyzRgb(out, src, XYZ_RGB_D65); diff --git a/packages/color/src/xyz/xyz-xyy.ts b/packages/color/src/xyz/xyz-xyy.ts new file mode 100644 index 0000000000..43e3450cda --- /dev/null +++ b/packages/color/src/xyz/xyz-xyy.ts @@ -0,0 +1,24 @@ +import { safeDiv } from "@thi.ng/math"; +import { setC4 } from "@thi.ng/vectors"; +import type { ColorOp } from "../api"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +/** + * @remarks + * https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_xy_chromaticity_diagram_and_the_CIE_xyY_color_space + * https://gamedev.stackexchange.com/a/70049 + * + * @param out + * @param src + */ +export const xyzXyy: ColorOp = (out, src) => { + const { 0: x, 1: Y } = src; + const sum = x + Y + src[2]; + return setC4( + out || src, + safeDiv(x, sum), + safeDiv(Y, sum), + Y, + ensureAlpha(src[3]) + ); +}; diff --git a/packages/color/src/xyz/xyz-xyz.ts b/packages/color/src/xyz/xyz-xyz.ts new file mode 100644 index 0000000000..54d2391e7e --- /dev/null +++ b/packages/color/src/xyz/xyz-xyz.ts @@ -0,0 +1,9 @@ +import type { ColorOp } from "../api"; +import { BRADFORD_D50_D65, BRADFORD_D65_D50 } from "../api/constants"; +import { mulV33 } from "../internal/matrix-ops"; + +export const xyzXyzD65_50: ColorOp = (out, src) => + mulV33(out, BRADFORD_D65_D50, src); + +export const xyzXyzD50_65: ColorOp = (out, src) => + mulV33(out, BRADFORD_D50_D65, src); diff --git a/packages/color/src/xyz/xyz50.ts b/packages/color/src/xyz/xyz50.ts new file mode 100644 index 0000000000..492635e2d5 --- /dev/null +++ b/packages/color/src/xyz/xyz50.ts @@ -0,0 +1,53 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { D50 } from "../api/constants"; +import { defColor } from "../defcolor"; +import { lchLab } from "../lab/lab-lch"; +import { labXyz, labXyzD65 } from "../lab/lab-xyz"; +import { oklabXyzD65 } from "../oklab/oklab-xyz"; +import { rgbXyz } from "../rgb/rgb-xyz"; +import { xyyXyz } from "../xyy/xyy-xyz"; +import { xyzXyzD65_50 } from "./xyz-xyz"; + +export declare class XYZD50 implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + x: number; + y: number; + z: number; + alpha: number; + [id: number]: number; + readonly mode: "xyz50"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): XYZD50; + copyView(): XYZD50; + deref(): Color; + empty(): XYZD50; + eqDelta(o: XYZD50, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const xyzD50 = >defColor({ + mode: "xyz50", + channels: { + x: { range: [0, D50[0]] }, + y: { range: [0, D50[1]] }, + z: { range: [0, D50[2]] }, + }, + order: ["x", "y", "z", "alpha"], + from: { + rgb: rgbXyz, + lab50: labXyz, + lab65: [labXyzD65, xyzXyzD65_50], + lch: [lchLab, labXyz], + oklab: [oklabXyzD65, xyzXyzD65_50], + xyy: xyyXyz, + }, +}); diff --git a/packages/color/src/xyz/xyz65.ts b/packages/color/src/xyz/xyz65.ts new file mode 100644 index 0000000000..a3be0e068f --- /dev/null +++ b/packages/color/src/xyz/xyz65.ts @@ -0,0 +1,53 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { D65 } from "../api/constants"; +import { defColor } from "../defcolor"; +import { labLabD50_65 } from "../lab/lab-lab"; +import { lchLab } from "../lab/lab-lch"; +import { labXyzD65 } from "../lab/lab-xyz"; +import { oklabXyzD65 } from "../oklab/oklab-xyz"; +import { rgbXyzD65 } from "../rgb/rgb-xyz"; +import { xyyXyz } from "../xyy/xyy-xyz"; + +export declare class XYZD65 implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + x: number; + y: number; + z: number; + alpha: number; + [id: number]: number; + readonly mode: "xyz65"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): XYZD65; + copyView(): XYZD65; + deref(): Color; + empty(): XYZD65; + eqDelta(o: XYZD65, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const xyzD65 = >defColor({ + mode: "xyz65", + channels: { + x: { range: [0, D65[0]] }, + y: { range: [0, D65[1]] }, + z: { range: [0, D65[2]] }, + }, + order: ["x", "y", "z", "alpha"], + from: { + rgb: rgbXyzD65, + lab50: [labLabD50_65, labXyzD65], + lab65: labXyzD65, + lch: [lchLab, labLabD50_65, labXyzD65], + oklab: oklabXyzD65, + xyy: xyyXyz, + }, +}); diff --git a/packages/color/src/xyza-rgba.ts b/packages/color/src/xyza-rgba.ts deleted file mode 100644 index 564883c419..0000000000 --- a/packages/color/src/xyza-rgba.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { ColorOp } from "./api"; -import { XYZ_RGB } from "./constants"; -import { mulV33 } from "./internal/matrix-ops"; - -/** - * {@link https://en.wikipedia.org/wiki/CIE_1931_color_space} - * - * @param out - result - * @param src - source color - */ -export const xyzaRgba: ColorOp = (out, src) => mulV33(out || src, XYZ_RGB, src); diff --git a/packages/color/src/xyza.ts b/packages/color/src/xyza.ts deleted file mode 100644 index 497400db0b..0000000000 --- a/packages/color/src/xyza.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { declareIndices, IVector } from "@thi.ng/vectors"; -import type { Color, ColorMode } from "./api"; -import { AColor } from "./internal/acolor"; -import { ensureArgs } from "./internal/ensure-args"; - -export function xyza(col: Color, offset?: number, stride?: number): XYZA; -export function xyza(x?: number, y?: number, z?: number, a?: number): XYZA; -export function xyza(...args: any[]) { - return new XYZA(...ensureArgs(args)); -} - -export class XYZA extends AColor implements IVector { - x!: number; - y!: number; - z!: number; - a!: number; - - get mode() { - return "xyz"; - } - - copy() { - return new XYZA(this.deref()); - } - - copyView() { - return new XYZA(this.buf, this.offset, this.stride); - } - - empty() { - return new XYZA(); - } -} - -declareIndices(XYZA.prototype, ["x", "y", "z", "a"]); diff --git a/packages/color/src/ycbcr.ts b/packages/color/src/ycbcr.ts deleted file mode 100644 index eb20286d35..0000000000 --- a/packages/color/src/ycbcr.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { declareIndices, IVector } from "@thi.ng/vectors"; -import type { Color, ColorMode } from "./api"; -import { AColor } from "./internal/acolor"; -import { ensureArgs } from "./internal/ensure-args"; - -export function ycbcra(col: Color, offset?: number, stride?: number): YCbCrA; -export function ycbcra(y: number, b: number, r: number, a?: number): YCbCrA; -export function ycbcra(...args: any[]) { - return new YCbCrA(...ensureArgs(args)); -} - -export class YCbCrA extends AColor implements IVector { - y!: number; - b!: number; - r!: number; - a!: number; - - get mode() { - return "ycbcr"; - } - - copy() { - return new YCbCrA(this.deref()); - } - - copyView() { - return new YCbCrA(this.buf, this.offset, this.stride); - } - - empty() { - return new YCbCrA(); - } -} - -declareIndices(YCbCrA.prototype, ["y", "b", "r", "a"]); diff --git a/packages/color/src/ycbcra-rgba.ts b/packages/color/src/ycbcra-rgba.ts deleted file mode 100644 index a78fca5318..0000000000 --- a/packages/color/src/ycbcra-rgba.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { clamp01 } from "@thi.ng/math"; -import { setC4 } from "@thi.ng/vectors"; -import type { ColorOp } from "./api"; -import { ensureAlpha } from "./internal/ensure-alpha"; - -export const ycbcraRgba: ColorOp = (out, src) => { - const y = src[0]; - const b = src[1]; - const r = src[2]; - return setC4( - out || [], - clamp01(y + 1.403 * r), - clamp01(y - 0.344 * b - 0.714 * r), - clamp01(y + 1.77 * b), - ensureAlpha(src[3]) - ); -}; diff --git a/packages/color/src/ycc/ycc-rgb.ts b/packages/color/src/ycc/ycc-rgb.ts new file mode 100644 index 0000000000..456c65a5c0 --- /dev/null +++ b/packages/color/src/ycc/ycc-rgb.ts @@ -0,0 +1,35 @@ +import { setC4 } from "@thi.ng/vectors"; +import type { Color, ReadonlyColor } from "../api"; +import { RGB_LUMINANCE_REC709 } from "../api/constants"; +import { ensureAlpha } from "../internal/ensure-alpha"; + +/** + * @remarks + * https://en.wikipedia.org/wiki/YCbCr#YCbCr + * + * By default uses luminance weights as per BT.709 (aka + * {@link RGB_LUMINANCE_REC709}): + * + * - https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.709_conversion + * - https://en.wikipedia.org/wiki/Rec._709 + * + * @param out + * @param src + * @param luma + */ +export const yccRgb = ( + out: Color | null, + src: ReadonlyColor, + luma = RGB_LUMINANCE_REC709 +) => { + const y = src[0]; + const bb = (2 - 2 * luma[2]) * src[1]; + const rr = (2 - 2 * luma[0]) * src[2]; + return setC4( + out || src, + y + rr, + y - (luma[2] / luma[1]) * bb - (luma[0] / luma[1]) * rr, + y + bb, + ensureAlpha(src[3]) + ); +}; diff --git a/packages/color/src/ycc/ycc.ts b/packages/color/src/ycc/ycc.ts new file mode 100644 index 0000000000..43d5009482 --- /dev/null +++ b/packages/color/src/ycc/ycc.ts @@ -0,0 +1,39 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { IRandom } from "@thi.ng/random"; +import type { Color, ColorFactory, ReadonlyColor, TypedColor } from "../api"; +import { defColor } from "../defcolor"; +import { rgbYcc } from "../rgb/rgb-ycc"; + +export declare class YCC implements TypedColor { + buf: NumericArray; + offset: number; + stride: number; + y: number; + cb: number; + cr: number; + alpha: number; + [id: number]: number; + readonly mode: "ycc"; + readonly length: 4; + readonly range: [ReadonlyColor, ReadonlyColor]; + [Symbol.iterator](): Iterator; + clamp(): this; + copy(): YCC; + copyView(): YCC; + deref(): Color; + empty(): YCC; + eqDelta(o: YCC, eps?: number): boolean; + randomize(rnd?: IRandom): this; + set(src: ReadonlyColor): this; + toJSON(): number[]; +} + +export const ycc = >defColor({ + mode: "ycc", + channels: { + cb: { range: [-0.5, 0.5] }, + cr: { range: [-0.5, 0.5] }, + }, + order: ["y", "cb", "cr", "alpha"], + from: { rgb: rgbYcc }, +}); diff --git a/packages/color/tools/blackbody.ts b/packages/color/tools/blackbody.ts new file mode 100644 index 0000000000..2747c80629 --- /dev/null +++ b/packages/color/tools/blackbody.ts @@ -0,0 +1,21 @@ +import { swatchesH } from "@thi.ng/color"; +import { serialize } from "@thi.ng/hiccup"; +import { svg } from "@thi.ng/hiccup-svg"; +import { mix } from "@thi.ng/math"; +import { map, normRange } from "@thi.ng/transducers"; +import { writeFileSync } from "fs"; +import { kelvinRgb, wavelengthXyz } from "../src"; + +writeFileSync("export/blackbody.svg", serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH([...map((t)=> kelvinRgb(null,mix(1000,10000,t)), normRange(100,false))], 5, 50) + ) +)); + +writeFileSync("export/wavelength.svg", serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH([...map((t)=> wavelengthXyz(null,mix(400, 700,t)), normRange(100,false))], 5, 50) + ) +)); diff --git a/packages/color/tools/gradients.ts b/packages/color/tools/gradients.ts new file mode 100644 index 0000000000..0395ebea4e --- /dev/null +++ b/packages/color/tools/gradients.ts @@ -0,0 +1,55 @@ +import { serialize } from "@thi.ng/hiccup"; +import { svg } from "@thi.ng/hiccup-svg"; +import { schlick } from "@thi.ng/math"; +import { map, normRange, push, transduce } from "@thi.ng/transducers"; +import { writeFileSync } from "fs"; +import { + Color, + lch, + lchLab, + multiColorGradient, + oklab, + swatchesH, +} from "../src"; + +for (let l of [0.5, 0.6, 0.7, 0.8, 0.9]) { + const cols = transduce( + map((t) => oklab(lchLab(null, [l, 0.2, t]))), + push(), + normRange(100, false) + ); + + writeFileSync( + `export/oklab-${l.toFixed(1)}.svg`, + serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH(cols, 5, 50) + ) + ) + ); +} + +const L = 0.8; +const C = 0.8; + +const gradient = multiColorGradient({ + num: 100, + stops: [ + [0, lch(L, C, 0)], + [1 / 3, lch(L, C, 1 / 3)], + [2 / 3, lch(L, C, 2 / 3)], + [1, lch(L, 0, 1)], + ], + // easing: (t) => schlick(2, 0.5, t), +}); + +writeFileSync( + `export/lch-multigradient3.svg`, + serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH(gradient, 5, 50) + ) + ) +); diff --git a/packages/color/tools/index.ts b/packages/color/tools/index.ts index cd5da5ab16..f144c47500 100644 --- a/packages/color/tools/index.ts +++ b/packages/color/tools/index.ts @@ -3,20 +3,25 @@ import { svg } from "@thi.ng/hiccup-svg"; import { writeFileSync } from "fs"; import { ColorRangePreset, + colorsFromRange, colorsFromTheme, ColorThemePartTuple, + COLOR_RANGES, cosineGradient, CosineGradientPreset, - GRADIENTS, - hsvaRgba, - proximityHSV, - RANGES, - sortColors, + COSINE_GRADIENTS, + CSSColorName, + distCIEDE2000, + lch, + proximity, + ReadonlyColor, + selectChannel, + sort, swatchesH, } from "../src"; -Object.keys(GRADIENTS).forEach((id) => { - const fname = `export/gradient-${id}.svg`; +Object.keys(COSINE_GRADIENTS).forEach((id) => { + const fname = `export/gradient-${id}-srgb.svg`; console.log(fname); writeFileSync( fname, @@ -24,7 +29,10 @@ Object.keys(GRADIENTS).forEach((id) => { svg( { width: 500, height: 50, convert: true }, swatchesH( - cosineGradient(100, GRADIENTS[id]), + cosineGradient( + 100, + COSINE_GRADIENTS[id] + ), 5, 50 ) @@ -35,28 +43,81 @@ Object.keys(GRADIENTS).forEach((id) => { //////////////////////////////////////////////////////////// -for (let id in RANGES) { +const V = 0.05; + +const sorted = (cols: ReadonlyColor[]) => + sort(cols, proximity(lch("#fff"), distCIEDE2000())); + +const sortedRange = (id: string, base: CSSColorName, num: number) => + sorted([ + ...colorsFromRange(id, { + variance: V, + base, + num, + }), + ]); + +for (let id in COLOR_RANGES) { writeFileSync( - `export/swatches-green-${id}.svg`, + `export/swatches-range-${id}-hue.svg`, serialize( svg( { width: 500, height: 50, convert: true }, swatchesH( - sortColors( + sort( [ - ...colorsFromTheme( - [ - [id, "goldenrod"], - [id, "turquoise"], - ], - { - num: 100, - variance: 0.05, - } - ), + ...colorsFromRange(id, { + num: 100, + variance: V, + }), ], - proximityHSV([0, 1, 1]) - ).map((x) => hsvaRgba([], x)), + selectChannel(2) + ), + 5, + 50 + ) + ) + ) + ); + writeFileSync( + `export/swatches-range-${id}-chunks.svg`, + serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH( + [ + ...sortedRange(id, "goldenrod", 22), + ...sortedRange(id, "turquoise", 22), + ...sortedRange(id, "pink", 22), + ...sortedRange(id, "black", 11), + ...sortedRange(id, "gray", 11), + ...sortedRange(id, "white", 11), + ], + 5, + 50 + ) + ) + ) + ); + writeFileSync( + `export/swatches-range-${id}-mixed.svg`, + serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH( + [ + ...colorsFromTheme( + [ + [id, "goldenrod", 22], + [id, "turquoise", 22], + [id, "pink", 22], + [id, "black", 11], + [id, "gray", 11], + [id, "white", 11], + ], + { num: 100, variance: V } + ), + ], 5, 50 ) @@ -67,21 +128,32 @@ for (let id in RANGES) { //////////////////////////////////////////////////////////// -const theme = [ +const theme: ColorThemePartTuple[] = [ ["cool", "goldenrod"], - ["fresh", "hotpink", 0.1], - ["light", "springgreen", 0.1], + ["hard", "hotpink", 0.1], + ["fresh", "springgreen", 0.1], ]; const colors = [...colorsFromTheme(theme, { num: 200, variance: 0.05 })]; -const doc = svg( - { width: 1000, height: 50, convert: true }, - swatchesH( - colors.map((x) => hsvaRgba([], x)), - 5, - 50 +writeFileSync( + "export/swatches-ex01.svg", + serialize( + svg( + { width: 1000, height: 50, convert: true }, + swatchesH(colors, 5, 50) + ) ) ); -writeFileSync("export/swatches-ex01.svg", serialize(doc)); +sorted(colors); + +writeFileSync( + "export/swatches-ex02.svg", + serialize( + svg( + { width: 1000, height: 50, convert: true }, + swatchesH(colors, 5, 50) + ) + ) +); diff --git a/packages/color/tools/lch-slices.ts b/packages/color/tools/lch-slices.ts new file mode 100644 index 0000000000..5cb1651567 --- /dev/null +++ b/packages/color/tools/lch-slices.ts @@ -0,0 +1,39 @@ +import { LCH, lch, rgb } from "@thi.ng/color"; +import { serialize } from "@thi.ng/hiccup"; +import { rect, svg } from "@thi.ng/hiccup-svg"; +import { Z3 } from "@thi.ng/strings"; +import { comp, filter, iterator, map, normRange2d } from "@thi.ng/transducers"; +import { writeFileSync } from "fs"; + +const isValidRgb = (lch: LCH) => { + const [r, g, b] = rgb(lch); + return r >= 0 && r <= 1 && g >= 0 && g <= 1 && b >= 0 && b <= 1; +}; + +const luminanceSlice = (lum: number, n = 100) => [ + ...iterator( + comp( + map(([c, h]) => lch(lum, c * 1.31, h)), + filter(isValidRgb), + map((lch) => + rect([lch[2] * 100, (lch[1] * 100) / 1.31], 100 / n, 100 / n, { + fill: lch, + }) + ) + ), + normRange2d(n, n) + ), +]; + +const svgSlice = (i: number, lum: number, n?: number) => + writeFileSync( + `export/lslice-${Z3(i)}.svg`, + serialize( + svg( + { width: 600, height: 600, viewBox: "0 0 100 100" }, + ...luminanceSlice(lum, n) + ) + ) + ); + +for (let i = 0; i < 100; i++) svgSlice(i, i / 100, 200); diff --git a/packages/color/tools/limits.ts b/packages/color/tools/limits.ts new file mode 100644 index 0000000000..f9293be833 --- /dev/null +++ b/packages/color/tools/limits.ts @@ -0,0 +1,38 @@ +import { map, normRange3d, reducer, transduce } from "@thi.ng/transducers"; +import { max4, MAX4, MIN4, min4, Vec } from "@thi.ng/vectors"; +import { vector } from "@thi.ng/strings"; +import { ColorMode, convert } from "../src"; + +const FMT = vector(4, 4); + +const modes: ColorMode[] = [ + "hcy", + "hsi", + "hsl", + "hsv", + "lab50", + "lab65", + "lch", + "oklab", + "srgb", + "xyy", + "xyz50", + "xyz65", + "ycc", +]; + +for (let mode of modes) { + const bounds = transduce( + map((x) => convert(null, x, mode, "rgb")), + reducer( + () => [[...MAX4], [...MIN4]], + (acc, x) => { + min4(null, acc[0], x); + max4(null, acc[1], x); + return acc; + } + ), + normRange3d(100, 100, 100) + ); + console.log(mode, FMT(bounds[0]), FMT(bounds[1])); +} diff --git a/packages/color/tpl.readme.md b/packages/color/tpl.readme.md index b1f9e5e260..155bfb9c43 100644 --- a/packages/color/tpl.readme.md +++ b/packages/color/tpl.readme.md @@ -15,134 +15,295 @@ For the Clojure version, please visit: [thi.ng/color-clj](https://thi.ng/color-c ${pkg.description} -### Color spaces / modes +--- + +**Note: Version 3.0.0 constitutes an almost complete overhaul of the entire +package, providing a more simple and flexible API, as well as various new +additional features (compared to previous versions).** + +--- + +### Supported color spaces / modes + +Fast color model/space conversions (any direction) between (in alphabetical +order). All types support an alpha channel, which defaults to 100% opaque (apart +from the integer types). + +- ABGR (uint32, `0xaabbggrr`, aka sRGB(A) as packed int) +- [ARGB](https://en.wikipedia.org/wiki/RGBA_color_model#ARGB32) (uint32, `0xaarrggbb`, aka sRGB(A) as packed int) +- [CSS](https://www.w3.org/TR/css-color-4/) (string, hex3/4/6/8, named colors, system colors, rgba(), hsla(), lch(), lab(), etc.) +- [HCY](http://www.chilliant.com/rgb2hsv.html) (float4, similar to LCH) +- [HSI](https://en.wikipedia.org/wiki/HSL_and_HSV#HSI_to_RGB) (float4) +- [HSL](https://en.wikipedia.org/wiki/HSL_and_HSV) (float4) +- [HSV](https://en.wikipedia.org/wiki/HSL_and_HSV) (float4) +- [Lab](https://en.wikipedia.org/wiki/CIELAB_color_space) (float4, D50/D65 versions) +- [LCH](https://en.wikipedia.org/wiki/HCL_color_space) (float4) +- [Oklab](https://bottosson.github.io/posts/oklab/) (float4) +- [RGB](https://en.wikipedia.org/wiki/RGB_color_space) (float4, _linear_) +- [sRGB](https://en.wikipedia.org/wiki/SRGB) (float4, [gamma corrected](https://en.wikipedia.org/wiki/Gamma_correction)) +- [XYY](https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_xy_chromaticity_diagram_and_the_CIE_xyY_color_space) (float4) +- [XYZ](https://en.wikipedia.org/wiki/CIE_1931_color_space) (float4, aka CIE 1931, D50/D65 versions) +- [YCC](https://en.wikipedia.org/wiki/YCbCr) (float4, aka YCbCr) + +| From/To | CSS | HCY | HSI | HSL | HSV | Int | Lab | LCH | Oklab | RGB | sRGB | XYY | XYZ | YCC | +|-----------|-----|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----|-------|-----------------|-----------------|-----|-----------------|-----------------| +| **CSS** | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | βœ…(1) | βœ…(4) | βœ… | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HCY** | πŸ†Ž | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HSI** | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HSL** | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **HSV** | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **Int** | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | +| **Lab** | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | βœ…(3) | βœ… | πŸ†Ž | βœ…(3) | πŸ†Ž | πŸ†Ž | βœ…(3) | πŸ†Ž | +| **LCH** | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | βœ… | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **Oklab** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | +| **RGB** | πŸ†Ž | βœ…(2) | βœ…(2) | βœ…(2) | βœ…(2) | βœ… | βœ…(3) | βœ… | βœ… | βœ… | βœ… | πŸ†Ž | βœ…(3) | βœ…(2) | +| **sRGB** | βœ… | βœ…(2) | βœ…(2) | βœ…(2) | βœ…(2) | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | πŸ†Ž | πŸ†Ž | +| **XYY** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | βœ… | πŸ†Ž | +| **XYZ** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | βœ… | πŸ†Ž | πŸ†Ž | βœ… | πŸ†Ž | βœ… | βœ…(3) | πŸ†Ž | +| **YCC** | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | πŸ†Ž | ❌ | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ…(2) | πŸ†Ž | πŸ†Ž | πŸ†Ž | βœ… | + +- βœ… - direct conversion +- πŸ†Ž - indirect conversion (mostly via RGB/sRGB) +- (1) - only via `parseHex()` +- (2) - no consideration for linear/gamma encoded RGB/sRGB + (see [Wikipedia](https://en.wikipedia.org/wiki/HSL_and_HSV#cite_note-26)) +- (3) - including [D50/D65 illuminant](https://en.wikipedia.org/wiki/Illuminant_D65) options +- (4) - parsed as Lab w/ D50 illuminant as per [CSS Color Module Level 4](https://www.w3.org/TR/css-color-4/#lab-colors) + +#### Color creation / conversion + +Each color type provides a factory function to create & convert color instances +from other models/spaces. These functions can take the following arguments: + +- CSS string +- number (interpreted as packed ARGB int32) +- array (used as is) +- scalars (one per channel, alpha optional, always defaults to 1.0) +- color instance (triggers conversion) + +Additionally, an optional target backing buffer, start index and stride can be +given. See [next section](#storage--memory-mapping). + +Some examples: -Fast color space conversions (any direction) between: +```ts +srgb("#ff0") +// $Color { offset: 0, stride: 1, buf: [ 1, 1, 0, 1 ] } + +srgb(0x44ffff00) +// $Color { offset: 0, stride: 1, buf: [ 1, 1, 0, 0.26666666666666666 ] } + +srgb(1,1,0) +// $Color { offset: 0, stride: 1, buf: [ 1, 1, 0, 1 ] } + +srgb([0.1, 0.2, 0.3, 0.4]) +// $Color { offset: 0, stride: 1, buf: [ 0.1, 0.2, 0.3, 0.4 ] } + +// convert RGB CSS into Lab (D50) +labD50("#ff0") +// $Color { +// offset: 0, +// stride: 1, +// buf: [ 0.9760712516622824, -0.1575287517691254, 0.9338847788323792, 1 ] +// } + +// convert RGB CSS into Lab CSS (CSS Level 4 only) +css(labD50("#ff0")) +// 'lab(97.607% -15.753 93.388)' + +// round trip: +// CSS -> sRGB -> lin RGB -> Lab -> lin RGB -> sRGB -> CSS +css(rgb(labD50("#ff0"))) +// '#ffff00' +``` + +Additionally, colors can be created from black body temperatures +([`kelvinRgb()`](https://github.com/thi-ng/umbrella/blob/develop/packages/color/src/rgb/kelvin-rgba.ts)) +or wavelengths +([`wavelengthXyz()`](https://github.com/thi-ng/umbrella/blob/develop/packages/color/src/xyz/wavelength-xyz.ts)). -- CSS (string, hex3/hex4/hex6/hex8, rgba(), hsla(), named colors) -- HCYA (float4) -- HSIA (float4) -- HSLA (float4) -- HSVA (float4) -- Int32 (uint32, `0xaarrggbb`) -- RGBA (float4) -- XYZA (float4, aka CIE 1931) -- YCbCr (float4) +![kelvinRgb() result swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/blackbody.svg) -Apart from `CSS` and `Int32` colors, all others can be stored as plain -arrays, typed array or custom array-like types of (mostly) normalized -values (`[0,1]` interval). Where applicable, the hue too is stored in -that range, NOT in degrees. +![wavelengthXyz() result swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/wavelength.svg) -Apart from conversions, most other operations provided by this package -are currently only supporting RGBA colors. These can also be converted -to / from sRGB (i.e. linear vs gamma corrected). +### Storage & memory mapping -#### Class wrappers +All color types store their channel values in plain arrays, typed arrays of +(mostly) normalized values (`[0,1]` interval). Where applicable, the hue too is +stored in that range (similar to [CSS +`turn`](https://www.w3.org/TR/css-values-3/#angle-value) units), NOT in degrees. +Likewise, luminance is always stored in the `[0,1]` too, even for Lab, LCH where +often the `[0,100]` range is used instead. -The package provides lightweight class wrappers for each color mode / -space. These wrappers act similarly to the `Vec2/3/4` wrappers in +As a fairly unique feature, all color types can be used to provided views of a +backing memory buffer (e.g. for WASM/WebGL/WebGPU interop, pixel buffers etc.), +incl. support for arbitrary component strides. + +The lightweight class wrappers act similarly to the `Vec2/3/4` wrappers in [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors), support striding (for mapped memory views), named channel accessor aliases (in addition to array indexing) and are fully compatible with -all functions (and act as syntax sugar for generic conversion -functions). Wrapper factory functions are provided for convenience. +all vector functions. + +![Memory diagram of densely packed buffer](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/mapped-colors-01.png) + +```ts +const memory = new Float32Array(16); + +// create RGBA color views of buffer: num, start index, strides +// here the colors are tightly packed w/o gaps in between +// (by default entire buffer is mapped, last 4 args are optional) +const colors = rgb.mapBuffer(memory, 4, 0, 1, 4); + +// manipulating the colors, will directly manipulate the underlying buffer +namedHueRgb(colors[0], Hue.ORANGE); +namedHueRgb(colors[1], Hue.CHARTREUSE); +namedHueRgb(colors[2], Hue.SPRING_GREEN); +namedHueRgb(colors[3], Hue.AZURE); + +memory +// Float32Array(16) [ 1, 0.5, 0, 1, 0.5, 1, 0, 1, 0, 1, 0.5, 1, 0, 0.5, 1, 1 ] + +css(colors[0]) +// '#ff8000' +css(colors[1]) +// '#80ff00' +css(colors[2]) +// '#00ff80' +css(colors[3]) +// '#0080ff' + +// use deref() to obtain a packed copy +colors[0].deref() +// [ 1, 0.5, 0, 1 ] +``` + +![Memory diagram of strided & interleaved buffer](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/mapped-colors-02.png) + +```ts +// here we create a *strided* WebGL attrib buffer for 3 points +// each point defines a: 3D position, UV coords and RGB(A) color +const attribs = new Float32Array([ + // pos uv color + 0,0,0, 0,0, 0.25,0.5,0,1, + 100,0,0, 1,0, 0.5,0.5,0.25,1, + 100,100,0, 1,1, 0,1,0.5,1, +]); + +// create strided view of colors +// 3 items, start index 5, component stride 1, element stride 9 +colors = srgb.mapBuffer(attribs, 3, 5, 1, 9); + +css(colors[0]) +// '#408000' +css(colors[1]) +// '#808040' +css(colors[2]) +// '#00ff80' +``` ### Color theme generation -The package provides several methods for procedural & declarative color theme -generations. The latter relies on the concept of HSV color ranges, which can be -sampled directly and/or mixed with a base color to produce randomized -variations. Furthermore, multiple such ranges can be combined into a weighted -set to define probabilistic color themes. +The package provides several methods for declarative & probabilistic color theme +generation. The latter relies on the concept of LCH color ranges, which can be +sampled directly and/or mixed with a base color (of any type) to produce +randomized variations. Furthermore, multiple such ranges can be combined into a +weighted set to define probabilistic color themes. ```ts // single random color drawn from the "bright" color range preset -colorFromRange(RANGES.bright); +colorFromRange("bright"); // [ 0.7302125322518669, 0.8519945301256682, 0.8134374983367859, 1 ] -// single random color based on given HSV base color and preset -colorFromRange(RANGES.warm, [0.33, 1, 1]) -// [ 0.3065587375218628, 0.8651353734302525, 0.748781892650323, 1 ] +// single random color based on given raw HSV base color and preset +colorFromRange("warm", { base: hsv(0.33, 1, 1) }) +// $Color { +// offset: 0, +// stride: 1, +// buf: [ 0.774977122048776, 0.7432832945738063, 0.3186095419992927, 1 ] +// } // infinite iterator of colors sampled from the preset // (see table below) -const colors = colorsFromRange(RANGES.bright); +const colors = colorsFromRange("bright"); colors.next(); // { // value: [ 0.006959075656347791, 0.8760165887192115, 0.912149937028727, 1 ], // done: false // } -// 10 cool reds, w/ 10% hue variance -[...colorsFromRange(RANGES.cool, [0, 0.8, 1], { num: 10, variance: 0.1 })] +// 10 cool reds, w/ Β±10% hue variance +[...colorsFromRange("cool", { num: 10, base: lch(1, 0.8, 0), variance: 0.1 })] // generate colors based on given (weighted) textual description(s) -// here using named CSS colors, but could also be HSV tuples +// here using named CSS colors, but could also be or typed colors or raw LCH tuples [...colorsFromTheme( [["warm", "goldenrod"], ["cool", "springgreen", 0.1]], { num: 100, variance: 0.05 } )] // theme parts can also be given in the format used internally -// note: base colors are always in HSV // all keys are optional (range, base, weight), // but at least `range` or `base` must be given... [...colorsFromTheme( [ { range: "warm", base: "goldenrod" }, - { range: RANGES.cool, base: [0, 1, 0.5], weight: 0.1 } + { range: COLOR_RANGES.cool, base: hsv(0, 1, 0.5), weight: 0.1 } ], { num: 100, variance: 0.05 } )] ``` -| ID | 100 colors drawn from color range preset only, sorted by hue | -|-----------|--------------------------------------------------------------------------------------------------------------------| -| `bright` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright.svg) | -| `cool` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool.svg) | -| `dark` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark.svg) | -| `fresh` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh.svg) | -| `hard` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard.svg) | -| `intense` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense.svg) | -| `light` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light.svg) | -| `neutral` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral.svg) | -| `soft` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft.svg) | -| `warm` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm.svg) | -| `weak` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak.svg) | - -| ID | 100 colors, single base color w/ color range preset, sorted by hue | -|-----------|--------------------------------------------------------------------------------------------------------------------| -| `bright` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-bright.svg) | -| `cool` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-cool.svg) | -| `dark` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-dark.svg) | -| `fresh` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-fresh.svg) | -| `hard` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-hard.svg) | -| `intense` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-intense.svg) | -| `light` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-light.svg) | -| `neutral` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-neutral.svg) | -| `soft` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-soft.svg) | -| `warm` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-warm.svg) | -| `weak` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-green-weak.svg) | - -| ID | 100 colors, 2 base colors w/ color range preset, sorted by brightness | -|-----------|------------------------------------------------------------------------------------------------------------------| -| `bright` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-bright.svg) | -| `cool` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-cool.svg) | -| `dark` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-dark.svg) | -| `fresh` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-fresh.svg) | -| `hard` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-hard.svg) | -| `intense` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-intense.svg) | -| `light` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-light.svg) | -| `neutral` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-neutral.svg) | -| `soft` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-soft.svg) | -| `warm` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-warm.svg) | -| `weak` | ![color swatch](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-duo-weak.svg) | +This table below shows three sets of sample swatches for each color range preset +and the following color theme (raw samples and chunked & sorted): + +- 1/3 goldenrod +- 1/3 turquoise +- 1/3 pink +- 1/6 black +- 1/6 gray +- 1/6 white + +| ID | 100 colors drawn from color range preset | +|-----------|-----------------------------------------------------------------------------------------------------------------------------| +| `bright` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-bright-chunks.svg) | +| `cool` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-cool-chunks.svg) | +| `dark` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-dark-chunks.svg) | +| `fresh` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-fresh-chunks.svg) | +| `hard` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-hard-chunks.svg) | +| `intense` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-intense-chunks.svg) | +| `light` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-light-chunks.svg) | +| `neutral` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-neutral-chunks.svg) | +| `soft` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-soft-chunks.svg) | +| `warm` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-warm-chunks.svg) | +| `weak` | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak-hue.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak-mixed.svg) | +| | ![color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-range-weak-chunks.svg) | Full example: ```ts -import { colorsFromTheme, hsva, swatchesH } from "@thi.ng/color"; +import { colorsFromTheme, swatchesH } from "@thi.ng/color"; import { serialize } from "@thi.ng/hiccup"; import { svg } from "@thi.ng/hiccup-svg"; import { writeFileSync } from "fs"; @@ -151,18 +312,18 @@ import { writeFileSync } from "fs"; // color range preset names, CSS colors and weights const theme: ColorThemePartTuple[] = [ ["cool", "goldenrod"], - ["fresh", "hotpink", 0.1], - ["light", "springgreen", 0.1], + ["hard", "hotpink", 0.1], + ["fresh", "springgreen", 0.1], ]; -// generate 200 HSV colors based on above description + +// generate 200 LCH colors based on above description const colors = [...colorsFromTheme(theme, { num: 200, variance: 0.05 })]; // create SVG doc of color swatches (hiccup format) -// (convert colors to RGB for smaller file size) const doc = svg( { width: 1000, height: 50, convert: true }, - swatchesH(colors.map((x) => hsvaRgba([], x)), 5, 50) + swatchesH(colors, 5, 50) ); // serialize to SVG file @@ -171,52 +332,114 @@ writeFileSync("export/swatches-ex01.svg", serialize(doc)); ![example result color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-ex01.svg) -### Color sorting +### Color sorting & distance + +The package provides several functions to compute full or channel-wise distances +between colors. These functions can also be used for sorting color arrays (see below). -The `sortColors()` function can be used to sort an array of colors using -arbitrary sort criteria. The following comparators are bundled: +- `distChannel` - single channel distance only +- `distHsv` / `distHsvSat` / `distHsvLuma` +- `distEucledian3` / `distEucledian4` +- `distRgbLuma` / `distSrgbLuma` +- `distCIEDE2000` +- `distCMC` + +The `sort()` function can be used to sort an array of colors using arbitrary +sort criteria (basically any function which can transform a color into a +number). The following comparators are bundled: - `selectChannel(i)` - sort by channel -- `proximityHSV(target)` - sort by distance to target color (HSV colors) -- `proximityRGB(target)` - sort by distance to target color (RGB colors) +- `proximity(target, distFn)` - sort by distance to target color using given distance function +- `luminance` / `luminanceRgb` / `luminanceSrgb` etc. ```ts // (see above example) const colors = [...colorsFromTheme(theme, { num: 200, variance: 0.05 })]; -sortColors(colors, proximityHSV([0,1,0.5])); +sortColors(colors, proximity(lch("#fff"), distCIEDE2000())); ``` ![sorted color swatches](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/swatches-ex02.svg) -### RGBA transformations +#### Sorting memory-mapped colors -RGBA [color matrix -transformations](https://github.com/thi-ng/umbrella/tree/develop/packages/color/src/transform.ts), -including parametric preset transforms: +Memory mapped colors (e.g. a mapped pixel buffer) can be sorted (in place) via +`sortMapped()`. This function does NOT change the order of elements in the given +colors array, BUT instead sorts the apparent order by swapping the contents of +the backing memory. -- brightness -- contrast -- exposure -- saturation (luminance aware) -- hue rotation -- color temperature (warm / cold) -- sepia (w/ fade amount) -- tint (green / magenta) -- grayscale (luminance aware) -- subtraction/inversion (also available as non-matrix op) -- luminance to alpha +See the [pixel sorting +example](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) +for a concrete use case... -Transformation matrices can be combined using matrix multiplication / -concatenation (see `concat()`) for more efficient application. +```ts +// memory buffer of 4 sRGB colors +const buf = new Float32Array([0,1,0,1, 0,0.5,0,1, 0,0.25,0,1, 0,0.75,0,1]); + +// map buffer (creates 4 SRGB instances linked to the buffer) +const pix = srgb.mapBuffer(buf); + +// display original order +pix.map(css); +// [ '#00ff00', '#008000', '#004000', '#00bf00' ] + +// sort colors (buffer!) by luminance +sortMapped(pix, luminanceSrgb); + +// new order +pix.map(css); +// [ '#004000', '#008000', '#00bf00', '#00ff00' ] + +// buffer contents have been re-ordered +buf +// Float32Array(16) [ +// 0, 0.25, 0, 1, 0, +// 0.5, 0, 1, 0, 0.75, +// 0, 1, 0, 1, 0, +// 1 +// ] +``` + +### Gradients -### RGBA Porter-Duff compositing +#### Multi-stop gradients in any color space -This feature has been moved to the separate -[@thi.ng/porter-duff](https://github.com/thi-ng/umbrella/tree/develop/packages/porter-duff) -package. +The `multiColorGradient()` function can be used to generate gradients in any +color space and gradient stops must be using all the same color type. Colors are +pairwise interpolated, and by default, uses generic `mix()` function which +delegates to type specific strategies. See `GradientOpts` for details. + +![LCH example gradient](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/lch-gradient.svg) + +```ts +const L = 0.8; +const C = 0.8; + +const gradient = multiColorGradient({ + num: 100, + // gradient stops + stops: [ + [0, lch(L, C, 0)], + [1 / 3, lch(L, C, 1 / 3)], + [2 / 3, lch(L, C, 2 / 3)], + [1, lch(L, 0, 1)], + ], + // optionally with easing function + // easing: (t) => t * t, +}); + +writeFileSync( + `export/lch-gradient.svg`, + serialize( + svg( + { width: 500, height: 50, convert: true }, + swatchesH(gradient, 5, 50) + ) + ) +); +``` -### Cosine gradients +#### Cosine gradients - [Original article](http://www.iquilezles.org/www/articles/palettes/palettes.htm) - [Gradient generator](http://dev.thi.ng/gradients/) @@ -248,42 +471,42 @@ The following presets are bundled (in [`cosine-gradients.ts`](https://github.com | ![gradient: yellow-purple-magenta](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-purple-magenta.png) | `yellow-purple-magenta` | | ![gradient: yellow-red](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-red.png) | `yellow-red` | -### Two-color gradients +##### Two-color cosine gradients The `cosineCoeffs()` function can be used to compute the cosine gradient coefficients between 2 start/end colors: ```ts // compute gradient coeffs between red / green -cosineGradient(10, cosineCoeffs([1,0,0,1], [0,1,0,1])).map(rgbaCss) -// #ff0000 -// #f70800 -// #e11e00 -// #bf4000 -// #966900 -// #699600 -// #40bf00 -// #1ee100 -// #08f700 -// #00ff00 +cosineGradient(10, cosineCoeffs([1,0,1,1], [0,1,0,1])).map(css) +// '#ff00ff' +// '#f708f7' +// '#e11ee1' +// '#bf40bf' +// '#966996' +// '#699669' +// '#40bf40' +// '#1ee11e' +// '#08f708' +// '#00ff00' ``` -### Multi-stop gradients +##### Multi-stop gradients -The `multiCosineGradient()` function returns an iterator of raw RGBA +The `multiCosineGradient()` function returns an iterator of raw RGB colors based on given gradient stops. This iterator computes a cosine -gradient between each color stop and yields a sequence of RGBA values. +gradient between each color stop and yields a sequence of RGB values. ```ts -col.multiCosineGradient( - // num colors to produce - 10, - // gradient stops (normalized positions, only RGBA colors supported) - [0.1, col.RED], [0.5, col.GREEN], [0.9, col.BLUE] -) +multiCosineGradient({ + num: 10, + // gradient stops (normalized positions) + stops: [[0.1, [1, 0, 0, 1]], [0.5, [0, 1, 0, 1]], [0.9, [0, 0, 1, 1]]], + // optional color transform/coercion + tx: srgba +}) // convert to CSS -.map(col.rgbaCss) - +.map(css) // [ // "#ff0000", // "#ff0000", @@ -299,6 +522,27 @@ col.multiCosineGradient( // ] ``` +### RGB color transformations + +RGB [color matrix +transformations](https://github.com/thi-ng/umbrella/tree/develop/packages/color/src/transform.ts), +including parametric preset transforms: + +- brightness +- contrast +- exposure +- saturation (luminance aware) +- hue rotation +- color temperature (warm / cold) +- sepia (w/ fade amount) +- tint (green / magenta) +- grayscale (luminance aware) +- subtraction/inversion (also available as non-matrix op) +- luminance to alpha + +Transformation matrices can be combined using matrix multiplication / +concatenation (see `concat()`) for more efficient application. + ${status} ${supportPackages} @@ -323,46 +567,6 @@ ${examples} ${docLink} -```ts -import * as col from "@thi.ng/color"; - -// route #1: asXXX() converters: string -> CSS -> ARGB (int) -> RGBA -const a = col.asRGBA(col.css("#3cf")); -// [0.2, 0.8, 1, 1] - -// route #2: parseCSS(): string -> RGBA -const b = col.parseCss("hsla(30,100%,50%,0.75)"); -// [ 1, 0.5, 0, 0.75 ] - -// route #3: convert() multi-method: CSS -> RGBA -> HSVA -// (see convert.ts) -const c = col.convert("rgb(0,255,255)", "hsv", "css"); -// [ 0.4999999722222268, 0.9999990000010001, 1, 1 ] - -// route #4: direct conversion RGBA -> HSLA -> CSS -// first arg is output color (same calling convention as @thi.ng/vectors) -// (use `null` to mutate the input color) -col.hslaCss(col.rgbaHsla([], [1, 0.5, 0.5, 1])) -// "hsl(0.00,100.00%,75.00%)" - -col.luminance(col.css("white")) -col.luminance(0xffffff, "int") -// 1 - -// apply color matrix (RGBA only) -col.transform([], col.saturation(1.25), a) -// [ 0.07835000000000002, 0.82835, 1, 1 ] - -// combine matrix transformations -filter = col.concat( - col.saturation(0.5), // 50% saturation - col.brightness(0.1), // +10% brightness -); - -col.transform([], filter, col.RED); -// [ 0.7065, 0.2065, 0.2065, 1 ] -``` - ## Authors ${authors} diff --git a/packages/colored-noise/CHANGELOG.md b/packages/colored-noise/CHANGELOG.md index 7427108386..6641156f2b 100644 --- a/packages/colored-noise/CHANGELOG.md +++ b/packages/colored-noise/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.9...@thi.ng/colored-noise@0.1.10) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.8...@thi.ng/colored-noise@0.1.9) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.7...@thi.ng/colored-noise@0.1.8) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.6...@thi.ng/colored-noise@0.1.7) (2020-12-22) +## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.13...@thi.ng/colored-noise@0.1.14) (2021-02-20) **Note:** Version bump only for package @thi.ng/colored-noise diff --git a/packages/colored-noise/README.md b/packages/colored-noise/README.md index 057ce7cbed..f8ed15e155 100644 --- a/packages/colored-noise/README.md +++ b/packages/colored-noise/README.md @@ -348,7 +348,7 @@ white ### Related packages - [@thi.ng/dsp](https://github.com/thi-ng/umbrella/tree/develop/packages/dsp) - Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils -- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API +- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation ## Installation diff --git a/packages/colored-noise/package.json b/packages/colored-noise/package.json index fbdc4f0641..4828a08bce 100644 --- a/packages/colored-noise/package.json +++ b/packages/colored-noise/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/colored-noise", - "version": "0.1.10", + "version": "0.1.14", "description": "Customizable O(1) ES6 generators for colored noise", "module": "./index.js", "main": "./lib/index.js", @@ -40,23 +40,23 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/api": "^6.13.6", - "@thi.ng/dsp": "^3.0.2", - "@thi.ng/dsp-io-wav": "^0.1.36", - "@thi.ng/text-canvas": "^0.4.1", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5", + "@thi.ng/api": "^7.0.0", + "@thi.ng/dsp": "^3.0.6", + "@thi.ng/dsp-io-wav": "^0.1.40", + "@thi.ng/text-canvas": "^0.4.5", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/binary": "^2.0.21", - "@thi.ng/random": "^2.1.5" + "@thi.ng/binary": "^2.1.0", + "@thi.ng/random": "^2.3.0" }, "files": [ "*.js", diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index adc9bfd510..894462e981 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.21...@thi.ng/compare@1.3.22) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.20...@thi.ng/compare@1.3.21) (2020-12-22) +## [1.3.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.22...@thi.ng/compare@1.3.23) (2021-02-20) **Note:** Version bump only for package @thi.ng/compare diff --git a/packages/compare/package.json b/packages/compare/package.json index 009e8d5824..0ef5023771 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compare", - "version": "1.3.22", + "version": "1.3.23", "description": "Comparators with support for types implementing the @thi.ng/api/ICompare interface", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index d3a5c68d12..c0e81e511f 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.22...@thi.ng/compose@1.4.23) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.21...@thi.ng/compose@1.4.22) (2020-12-22) +## [1.4.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.23...@thi.ng/compose@1.4.24) (2021-02-20) **Note:** Version bump only for package @thi.ng/compose diff --git a/packages/compose/package.json b/packages/compose/package.json index c64498dcf3..ae3d01a222 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compose", - "version": "1.4.23", + "version": "1.4.24", "description": "Optimized functional composition helpers", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index 5e9a9fc9e4..2c8c50ffc9 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.45...@thi.ng/csp@1.1.46) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.44...@thi.ng/csp@1.1.45) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.43...@thi.ng/csp@1.1.44) (2020-12-22) +## [1.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.49...@thi.ng/csp@1.1.50) (2021-02-20) **Note:** Version bump only for package @thi.ng/csp diff --git a/packages/csp/package.json b/packages/csp/package.json index 0a36ea2611..cb9e23a361 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "1.1.46", + "version": "1.1.50", "description": "ES6 promise based CSP primitives & operations", "module": "./index.js", "main": "./lib/index.js", @@ -46,19 +46,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/dcons": "^2.3.10", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/csv/CHANGELOG.md b/packages/csv/CHANGELOG.md index b5d215568f..c7bb270543 100644 --- a/packages/csv/CHANGELOG.md +++ b/packages/csv/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.5...@thi.ng/csv@0.1.6) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.4...@thi.ng/csv@0.1.5) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.3...@thi.ng/csv@0.1.4) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.2...@thi.ng/csv@0.1.3) (2020-12-22) +## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.9...@thi.ng/csv@0.1.10) (2021-02-20) **Note:** Version bump only for package @thi.ng/csv diff --git a/packages/csv/package.json b/packages/csv/package.json index 40ca10341d..e7c684d4a0 100644 --- a/packages/csv/package.json +++ b/packages/csv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csv", - "version": "0.1.6", + "version": "0.1.10", "description": "Customizable, transducer-based CSV parser/object mapper and transformer", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md index 5468246649..5edc48e8ce 100644 --- a/packages/date/CHANGELOG.md +++ b/packages/date/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.2.4...@thi.ng/date@0.2.5) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/date - - - - - -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.2.3...@thi.ng/date@0.2.4) (2020-12-22) +## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.2.5...@thi.ng/date@0.2.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/date diff --git a/packages/date/package.json b/packages/date/package.json index f0aeed9b39..7b6c2faaa0 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/date", - "version": "0.2.5", + "version": "0.2.6", "description": "Date/timestamp iterators, formatters, rounding", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index 94c1c979ff..495bcc9be8 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.5...@thi.ng/dcons@2.3.6) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.4...@thi.ng/dcons@2.3.5) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.3...@thi.ng/dcons@2.3.4) (2020-12-22) +## [2.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.9...@thi.ng/dcons@2.3.10) (2021-02-20) **Note:** Version bump only for package @thi.ng/dcons diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 512c6c6d7f..c80563d472 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "2.3.6", + "version": "2.3.10", "description": "Double-linked lists with comprehensive set of operations (incl. optional self-organizing behaviors)", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/compare": "^1.3.22", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/compare": "^1.3.23", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index 88eee8dff7..35ca6e5978 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.3...@thi.ng/defmulti@1.3.4) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.2...@thi.ng/defmulti@1.3.3) (2020-12-22) +## [1.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.4...@thi.ng/defmulti@1.3.5) (2021-02-20) **Note:** Version bump only for package @thi.ng/defmulti diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index c36954cb32..c9ea8d9f81 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/defmulti", - "version": "1.3.4", + "version": "1.3.5", "description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", @@ -59,6 +59,7 @@ ], "keywords": [ "agent", + "arity", "clojure", "functional", "hierarchy", diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md index ed050c0795..e563a65e17 100644 --- a/packages/dgraph-dot/CHANGELOG.md +++ b/packages/dgraph-dot/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.33...@thi.ng/dgraph-dot@0.1.34) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.32...@thi.ng/dgraph-dot@0.1.33) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.31...@thi.ng/dgraph-dot@0.1.32) (2020-12-22) +## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.37...@thi.ng/dgraph-dot@0.1.38) (2021-02-20) **Note:** Version bump only for package @thi.ng/dgraph-dot diff --git a/packages/dgraph-dot/package.json b/packages/dgraph-dot/package.json index bb63d848cc..e0e9c5e348 100644 --- a/packages/dgraph-dot/package.json +++ b/packages/dgraph-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph-dot", - "version": "0.1.34", + "version": "0.1.38", "description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/dgraph": "^1.3.5", - "@thi.ng/dot": "^1.2.24" + "@thi.ng/api": "^7.0.0", + "@thi.ng/dgraph": "^1.3.9", + "@thi.ng/dot": "^1.2.25" }, "files": [ "*.js", diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 60f511edc9..96c45937f3 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.4...@thi.ng/dgraph@1.3.5) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.3...@thi.ng/dgraph@1.3.4) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.2...@thi.ng/dgraph@1.3.3) (2020-12-22) +## [1.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.8...@thi.ng/dgraph@1.3.9) (2021-02-20) **Note:** Version bump only for package @thi.ng/dgraph diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index d94932422c..8baff677de 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "1.3.5", + "version": "1.3.9", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index 1ff9a4d7f6..bfea00aea9 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@4.0.0...@thi.ng/diff@4.0.1) (2021-01-02) +## [4.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@4.0.1...@thi.ng/diff@4.0.2) (2021-02-20) **Note:** Version bump only for package @thi.ng/diff diff --git a/packages/diff/package.json b/packages/diff/package.json index 607ed7c35a..a95d7d46da 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/diff", - "version": "4.0.1", + "version": "4.0.2", "description": "Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/equiv": "^1.0.35" + "@thi.ng/api": "^7.0.0", + "@thi.ng/equiv": "^1.0.36" }, "files": [ "*.js", diff --git a/packages/distance/CHANGELOG.md b/packages/distance/CHANGELOG.md new file mode 100644 index 0000000000..a142a0b074 --- /dev/null +++ b/packages/distance/CHANGELOG.md @@ -0,0 +1,22 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.1...@thi.ng/distance@0.1.2) (2021-02-20) + +**Note:** Version bump only for package @thi.ng/distance + + + + + +# 0.1.0 (2021-01-21) + + +### Features + +* **distance:** add Manhattan metric, rename types, add docs ([4f0b199](https://github.com/thi-ng/umbrella/commit/4f0b1992ccd3ee76fce7d9c7a5433adb80b029a2)) +* **distance:** add new package ([1b41aa4](https://github.com/thi-ng/umbrella/commit/1b41aa46a8e2228f69df400195a08d05d2a9f235)) +* **distance:** clamp search radius, minor other changes ([4a09a0f](https://github.com/thi-ng/umbrella/commit/4a09a0f6e7ab8f2276daca58758f86b68a050caf)) +* **distance:** update INeighborhood, KNearest ([be3e43d](https://github.com/thi-ng/umbrella/commit/be3e43dcaf6a25f6de0f6ffb9f241d2f09362ecb)) diff --git a/packages/distance/LICENSE b/packages/distance/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/distance/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/distance/README.md b/packages/distance/README.md new file mode 100644 index 0000000000..d33865b7b7 --- /dev/null +++ b/packages/distance/README.md @@ -0,0 +1,167 @@ + + +# ![distance](https://media.thi.ng/umbrella/banners/thing-distance.svg?58942287) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/distance.svg)](https://www.npmjs.com/package/@thi.ng/distance) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/distance.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + +- [About](#about) + - [Distance metrics](#distance-metrics) + - [Neighborhoods](#neighborhoods) + - [Nearest](#nearest) + - [KNearest](#knearest) + - [Status](#status) + - [Related packages](#related-packages) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [API](#api) +- [Authors](#authors) +- [License](#license) + +## About + +N-dimensional distance metrics & K-nearest neighborhoods for point queries. + +### Distance metrics + +The package provides the +[`IDistance`](https://github.com/thi-ng/umbrella/blob/develop/packages/distance/src/api.ts) +interface for custom distance metric implementations & conversions from/to raw +distance values. The following preset metrics are provided too: + +| **Preset** | **Number** | **n-D** | **2D** | **3D** | **Comments** | +|-------------------|------------|---------|--------|--------|----------------------------------------------------------------------| +| `EUCLEDIAN` | | βœ… | | | Eucledian distance | +| `EUCLEDIAN1` | βœ… | | | | | +| `EUCLEDIAN2` | | | βœ… | | | +| `EUCLEDIAN3` | | | | βœ… | | +| `DIST_SQ` | | βœ… | | | Squared dist (avoids `Math.sqrt`) | +| `DIST_SQ1` | βœ… | | | | | +| `DIST_SQ2` | | | βœ… | | | +| `DIST_SQ3` | | | | βœ… | | +| `defManhattan(n)` | | βœ… | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) | +| `MANHATTAN2` | | | βœ… | | | +| `MANHATTAN3` | | | | βœ… | | + +### Neighborhoods + +Neighborhoods can be used to select n-D spatial items around a given target +location and an optional catchment radius (infinite by default). Neighborhoods +also use one of the given distance metrics and implement the widely used +[`IDeref`](https://github.com/thi-ng/umbrella/tree/develop/packages/api/src/api/deref.ts) +interface to obtain the final query results. + +Custom neighborhood selections can be defined via the +[`INeighborhood`](https://github.com/thi-ng/umbrella/blob/develop/packages/distance/src/api.ts) +interface. Currently, there are two different implementations available, each +providing several factory functions to instantiate and provide defaults for +different dimensions. See documentation and examples below. + +#### Nearest + +An `INeighborhood` implementation for nearest neighbor queries around a given +target location, initial query radius and `IDistance` metric to determine +proximity. + +#### KNearest + +An `INeighborhood` implementation for K-nearest neighbor queries around a given +target location, initial query radius and `IDistance` metric to determine +proximity. The K-nearest neighbors will be accumulated via an internal +[heap](https://github.com/thi-ng/umbrella/tree/develop/packages/heaps) and +results can be optionally returned in order of proximity (via `.deref()` or +`.values()`). For K=1 it will be more efficient to use `Nearest` to avoid the +additional overhead. + +### Status + +**ALPHA** - bleeding edge / work-in-progress + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bdistance%5D+in%3Atitle) + +Work is underway integrating this approach into the spatial indexing data +structures provided by the +[@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel) +package. + +### Related packages + +- [@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel) - n-D spatial indexing data structures with a shared ES6 Map/Set-like API + +## Installation + +```bash +yarn add @thi.ng/distance +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 825 bytes / CJS: 929 bytes / UMD: 970 bytes + +## Dependencies + +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [@thi.ng/heaps](https://github.com/thi-ng/umbrella/tree/develop/packages/heaps) +- [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) +- [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/distance/) + +```ts +import * as d from "@thi.ng/distance"; + +const items = { a: 5, b: 16, c: 9.5, d: 2, e: 12 }; + +// collect the 3 nearest numbers for target=10 and using +// infinite selection radius and squared distance metric (defaults) +const k = d.knearestN(10, 3); +// consider each item for inclusion +Object.entries(items).forEach(([id, x]) => k.consider(x, id)); + +// retrieve result tuples of [distance, value] +k.deref() +// [ [ 25, 'a' ], [ 4, 'e' ], [ 0.25, 'c' ] ] + +// result values only +k.values() +// [ 'a', 'e', 'c' ] + +// neighborhood around 10, K=3 w/ max radius 5 +// also use Eucledian distance and sort results by proximity +const k2 = d.knearestN(10, 3, 5, d.EUCLEDIAN1, true); +Object.entries(items).forEach(([id, x]) => k2.consider(x, id)); + +k2.deref() +// [ [ 0.5, 'c' ], [ 2, 'e' ], [ 5, 'a' ] ] +``` + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-distance, + title = "@thi.ng/distance", + author = "Karsten Schmidt", + note = "https://thi.ng/distance", + year = 2021 +} +``` + +## License + +© 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/distance/api-extractor.json b/packages/distance/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/distance/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/distance/package.json b/packages/distance/package.json new file mode 100644 index 0000000000..2f4fc1aadc --- /dev/null +++ b/packages/distance/package.json @@ -0,0 +1,86 @@ +{ + "name": "@thi.ng/distance", + "version": "0.1.2", + "description": "N-dimensional distance metrics & K-nearest neighborhoods for point queries", + "module": "./index.js", + "main": "./lib/index.js", + "umd:main": "./lib/index.umd.js", + "typings": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/thi-ng/umbrella.git" + }, + "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/distance#readme", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/postspectacular" + }, + { + "type": "patreon", + "url": "https://patreon.com/thing_umbrella" + } + ], + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module", + "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all", + "build:es6": "tsc --declaration", + "build:test": "rimraf build && tsc -p test/tsconfig.json", + "build:check": "tsc --isolatedModules --noEmit", + "test": "mocha test", + "cover": "nyc mocha test && nyc report --reporter=lcov", + "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", + "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", + "doc": "node_modules/.bin/typedoc --out doc --theme ../../tools/doc/typedoc-theme src/index.ts", + "pub": "yarn build:release && yarn publish --access public" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@microsoft/api-extractor": "^7.12.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^8.3.0", + "nyc": "^15.1.0", + "ts-node": "^9.1.1", + "typedoc": "^0.20.26", + "typescript": "^4.1.5" + }, + "dependencies": { + "@thi.ng/api": "^7.0.0", + "@thi.ng/heaps": "^1.2.32", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "distance", + "metric", + "k-nearest", + "nd", + "neighborhood", + "points", + "query", + "region", + "spatial", + "typescript", + "vector" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "related": [ + "geom-accel" + ], + "status": "alpha", + "year": 2021 + } +} diff --git a/packages/distance/src/api.ts b/packages/distance/src/api.ts new file mode 100644 index 0000000000..5a29b23a2b --- /dev/null +++ b/packages/distance/src/api.ts @@ -0,0 +1,71 @@ +import type { FnU2, IReset, Pair } from "@thi.ng/api"; + +/** + * Distance metric function + */ +export type Metric = FnU2; + +/** + * Tuple of `[distance, T]` + */ +export type Neighbor = Pair; + +/** + * Distance metric implementation & conversions from/to raw distances. + */ +export interface IDistance { + /** + * The actual distance function metric. + */ + readonly metric: Metric; + + /** + * Converts Eucledian distance `x` into the metric of this instance. + * + * @param x + */ + to(x: number): number; + + /** + * Converts `x` from the metric of this instance into an Eucledian value. + * + * @param x + */ + from(x: number): number; +} + +export interface INeighborhood extends IReset { + /** + * The distance metric used by this neighborhood + */ + readonly dist: IDistance

; + /** + * The neighborhood's target position / centroid + */ + readonly target: P; + /** + * The neighborhood's original radius (Eucledian metric) + */ + readonly radius: number; + + /** + * Returns true, if distance `d` is <= current radius of this neighborhood. + * If `eucledian` is true (default: true), then `d` will first be converted + * into the metric used by this neighborhood using {@link IDistance.to}, + * otherwise it is expected to be already in that metric space. + * + * @param d + * @param eucledian + */ + includesDistance(d: number, eucledian?: boolean): boolean; + + /** + * Computes distance metric between `pos` and this neighborhood's target + * pos. If result distance is <= current radius, adds `val` to neighborhood + * and shrinks neighborhood radius to new distance. Returns distance metric. + * + * @param pos + * @param val + */ + consider(pos: P, val: T): number; +} diff --git a/packages/distance/src/eucledian.ts b/packages/distance/src/eucledian.ts new file mode 100644 index 0000000000..cdd03de464 --- /dev/null +++ b/packages/distance/src/eucledian.ts @@ -0,0 +1,34 @@ +import { dist, dist2, dist3, ReadonlyVec } from "@thi.ng/vectors"; +import type { IDistance, Metric } from "./api"; + +export class Eucledian implements IDistance { + constructor(public readonly metric: Metric) {} + + to(x: number) { + return x; + } + + from(x: number) { + return x; + } +} + +/** + * Eucledian distance metric for n-D vectors. + */ +export const EUCLEDIAN = new Eucledian(dist); + +/** + * Eucledian distance metric for numbers. + */ +export const EUCLEDIAN1 = new Eucledian((a, b) => Math.abs(a - b)); + +/** + * Eucledian distance metric for 2d vectors. + */ +export const EUCLEDIAN2 = new Eucledian(dist2); + +/** + * Eucledian distance metric for 3d vectors. + */ +export const EUCLEDIAN3 = new Eucledian(dist3); diff --git a/packages/distance/src/index.ts b/packages/distance/src/index.ts new file mode 100644 index 0000000000..19fc291d5e --- /dev/null +++ b/packages/distance/src/index.ts @@ -0,0 +1,8 @@ +export * from "./api"; + +export * from "./eucledian"; +export * from "./manhattan"; +export * from "./squared"; + +export * from "./knearest"; +export * from "./nearest"; diff --git a/packages/distance/src/knearest.ts b/packages/distance/src/knearest.ts new file mode 100644 index 0000000000..f5faadbeb1 --- /dev/null +++ b/packages/distance/src/knearest.ts @@ -0,0 +1,159 @@ +import type { IDeref } from "@thi.ng/api"; +import { Heap } from "@thi.ng/heaps"; +import { clamp0 } from "@thi.ng/math"; +import type { ReadonlyVec } from "@thi.ng/vectors"; +import type { IDistance, INeighborhood, Neighbor } from "./api"; +import { DIST_SQ, DIST_SQ1, DIST_SQ2, DIST_SQ3 } from "./squared"; + +/** + * A {@link INeighborhood} implementation for K-nearest neighbor queries around + * a given target location, initial query radius and {@link IDistance} metric to + * determine proximity. + * + * @remarks + * The K-nearest neighbors will be accumulated via an internal + * {@link @thi.ng/heaps#Heap} and results can be optionally returned in order of + * proximity (via {@link KNearest.deref} or {@link KNearest.values}). For K=1 it + * will be more efficient to use {@link Nearest} to avoid the additional + * overhead. + * + * @typeParam D - spatial position for distance metric + * @typeParam T - indexed value + */ +export class KNearest + implements INeighborhood, IDeref[]> { + readonly radius; + protected _currR!: number; + protected _heap = new Heap>(null, { + compare: (a, b) => b[0] - a[0], + }); + + constructor( + public readonly dist: IDistance, + public readonly target: D, + public readonly k: number, + radius = Infinity, + public sorted = false + ) { + this.radius = clamp0(radius); + this.reset(); + } + + reset() { + this._currR = this.dist.to(this.radius); + this._heap.clear(); + return this; + } + + /** + * Returns an array of current nearest neighbor result tuples (each `[dist, + * val]`). The array will contain at most `k` items and if the `sorted` ctor + * arg was true, will be sorted by distance. + * + * @remarks + * Use {@link KNearest.values} to obtain result values **without** their distance + * metrics. + */ + deref() { + return this.sorted ? this._heap.max() : this._heap.values; + } + + /** + * Similar to {@link KNearest.deref}, but returns array of result values **without** + * their distance metrics. + */ + values() { + return this.deref().map((x) => x[1]); + } + + includesDistance(d: number, eucledian = true) { + return (eucledian ? this.dist.to(d) : d) <= this._currR; + } + + consider(pos: D, val: T) { + const d = this.dist.metric(this.target, pos); + if (d <= this._currR) { + const heap = this._heap; + if (heap.length === this.k) { + heap.pushPop([d, val]); + this._currR = heap.peek()[0]; + } else { + heap.push([d, val]); + } + } + return d; + } +} + +/** + * Defines a {@link KNearest} instance for arbitrary length vector positions + * and, by default, using an infinite region radius and {@link DIST_SQ} distance + * metric. + * + * @param p + * @param k + * @param r + * @param dist + * @param sorted + */ +export const knearest = ( + p: ReadonlyVec, + k: number, + r?: number, + dist = DIST_SQ, + sorted?: boolean +) => new KNearest(dist, p, k, r, sorted); + +/** + * Defines a {@link KNearest} instance for 2D vector positions and, by default, + * using an infinite region radius and {@link DIST_SQ2} distance metric. + * + * @param p + * @param k + * @param r + * @param dist + * @param sorted + */ +export const knearest2 = ( + p: ReadonlyVec, + k: number, + r?: number, + dist = DIST_SQ2, + sorted?: boolean +) => new KNearest(dist, p, k, r, sorted); + +/** + * Defines a {@link KNearest} instance for 3D vector positions, by default, + * using an infinite region radius and {@link DIST_SQ3} distance metric. + * + * @param p + * @param k + * @param r + * @param dist + * @param sorted + */ +export const knearest3 = ( + p: ReadonlyVec, + k: number, + r?: number, + dist = DIST_SQ3, + sorted?: boolean +) => new KNearest(dist, p, k, r, sorted); + +/** + * Defines a {@link KNearest} instance for numeric positions and, by default, + * using an infinite region radius and {@link DIST_SQ1} distance metric. + * + * @param p + * @param k + * @param r + * @param dist + * @param sorted + */ +export const knearestN = ( + p: number, + k: number, + r?: number, + dist = DIST_SQ1, + sorted?: boolean +) => new KNearest(dist, p, k, r, sorted); diff --git a/packages/distance/src/manhattan.ts b/packages/distance/src/manhattan.ts new file mode 100644 index 0000000000..41a5023f1f --- /dev/null +++ b/packages/distance/src/manhattan.ts @@ -0,0 +1,84 @@ +import { + distManhattan, + distManhattan2, + distManhattan3, + ReadonlyVec, +} from "@thi.ng/vectors"; +import type { IDistance, Metric } from "./api"; + +/** + * Manhattan distance metric and conversion to/from Eucledian distances. + * + * @remarks + * The conversion are always based on n-D squares, i.e. the assumption that the + * distance is equally shared in each dimension. + * + * E.g. a Manhattan distance of 30 could be obtained from [0,0] -> [10,20], but + * would be interpreted here as distance from [0,0] -> [15,15], which produces + * the same Manhattan value, but yields a different Eucledian result. For lack + * of any other information about the distance values, this is however the only + * way to approach conversion and is sufficient for the purposes of this + * package... + * + * @example + * ```ts + * MANHATTAN2.metric([0,0], [10,20]) + * // 30 + * + * MANHATTAN2.from(30); + * // 21.213203435596427 + * + * Math.hypot(15, 15) // <-- diagonal of manhattan square + * // 21.213203435596427 + * + * Math.hypot(10, 20) // <-- actual eucledian dist + * // 22.360679774997898 + * + * MANHATTAN2.to(21.213203435596427) + * // 30 + * + * // however, starting w/ eucledian dist first + * e = mag([10, 20]) + * // 22.360679774997898 + * + * m = MANHATTAN2.to(e) + * // 31.622776601683793 + * + * MANHATTAN2.from(m) === e + * // true + * ``` + */ +export class Manhattan implements IDistance { + protected _invD: number; + + constructor( + public readonly dim: number, + public readonly metric: Metric + ) { + this._invD = this.dim / Math.sqrt(dim); + } + + to(x: number) { + return x * this._invD; + } + + from(x: number) { + return Math.sqrt((x / this.dim) ** 2 * this.dim); + } +} + +/** + * Returns a new Manhattan distance metric for n-D vectors of dimension `dim`. + */ +export const defManhattan = (dim: number) => + new Manhattan(dim, distManhattan); + +/** + * Manhattan distance metric for 2d vectors. + */ +export const MANHATTAN2 = new Manhattan(2, distManhattan2); + +/** + * Manhattan distance metric for 3d vectors. + */ +export const MANHATTAN3 = new Manhattan(3, distManhattan3); diff --git a/packages/distance/src/nearest.ts b/packages/distance/src/nearest.ts new file mode 100644 index 0000000000..5a88f32138 --- /dev/null +++ b/packages/distance/src/nearest.ts @@ -0,0 +1,103 @@ +import type { IDeref } from "@thi.ng/api"; +import { clamp0 } from "@thi.ng/math"; +import type { ReadonlyVec } from "@thi.ng/vectors"; +import type { IDistance, INeighborhood, Neighbor } from "./api"; +import { DIST_SQ, DIST_SQ1, DIST_SQ2, DIST_SQ3 } from "./squared"; + +/** + * A {@link INeighborhood} implementation for nearest neighbor queries around a + * given target location, initial query radius and {@link IDistance} metric to + * determine proximity. + * + * @typeParam D - spatial position for distance metric + * @typeParam T - indexed value + */ +export class Nearest + implements INeighborhood, IDeref | undefined> { + readonly radius; + protected _currR!: number; + value?: T; + + constructor( + public readonly dist: IDistance, + public readonly target: D, + radius = Infinity + ) { + this.radius = clamp0(radius); + this.reset(); + } + + reset() { + this._currR = this.dist.to(this.radius); + this.value = undefined; + return this; + } + + /** + * Returns current nearest neighbor result tuple (`[dist, val]`) or + * undefined, if no such result exists (yet). + */ + deref() { + return this.value != undefined + ? >[this._currR, this.value] + : undefined; + } + + includesDistance(d: number, eucledian = true) { + return (eucledian ? this.dist.to(d) : d) <= this._currR; + } + + consider(pos: D, val: T) { + const d = this.dist.metric(this.target, pos); + if (d <= this._currR) { + this._currR = d; + this.value = val; + } + return d; + } +} + +/** + * Defines a {@link Nearest} instance for arbitrary length vector positions, by + * default, using an infinite region radius and {@link DIST_SQ} distance + * metric. + * + * @param p + * @param r + * @param dist + */ +export const nearest = (p: ReadonlyVec, r?: number, dist = DIST_SQ) => + new Nearest(dist, p, r); + +/** + * Defines a {@link Nearest} instance for 2D vector positions, by default, + * using an infinite region radius and {@link DIST_SQ2} distance metric. + * + * @param p + * @param r + * @param dist + */ +export const nearest2 = (p: ReadonlyVec, r?: number, dist = DIST_SQ2) => + new Nearest(dist, p, r); + +/** + * Defines a {@link Nearest} instance for 3D vector positions, by default, + * using an infinite region radius and {@link DIST_SQ3} distance metric. + * + * @param p + * @param r + * @param dist + */ +export const nearest3 = (p: ReadonlyVec, r?: number, dist = DIST_SQ3) => + new Nearest(dist, p, r); + +/** + * Defines a {@link Nearest} instance for numeric positions and, by default, + * using an infinite region radius and {@link DIST_SQ1} distance metric. + * + * @param p + * @param r + * @param dist + */ +export const nearestN = (p: number, r?: number, dist = DIST_SQ1) => + new Nearest(dist, p, r); diff --git a/packages/distance/src/squared.ts b/packages/distance/src/squared.ts new file mode 100644 index 0000000000..0faedcb414 --- /dev/null +++ b/packages/distance/src/squared.ts @@ -0,0 +1,22 @@ +import { distSq, distSq2, distSq3, ReadonlyVec } from "@thi.ng/vectors"; +import type { IDistance, Metric } from "./api"; + +export class Squared implements IDistance { + constructor(public readonly metric: Metric) {} + + to(x: number) { + return x * x; + } + + from(x: number) { + return Math.sqrt(x); + } +} + +export const DIST_SQ = new Squared(distSq); + +export const DIST_SQ1 = new Squared((a, b) => (a - b) ** 2); + +export const DIST_SQ2 = new Squared(distSq2); + +export const DIST_SQ3 = new Squared(distSq3); diff --git a/packages/distance/test/index.ts b/packages/distance/test/index.ts new file mode 100644 index 0000000000..c9cc168bb0 --- /dev/null +++ b/packages/distance/test/index.ts @@ -0,0 +1,96 @@ +import { dist, distSq2, distSq3 } from "@thi.ng/vectors"; +import * as assert from "assert"; +import { + DIST_SQ1, + DIST_SQ2, + DIST_SQ3, + EUCLEDIAN1, + EUCLEDIAN2, + EUCLEDIAN3, + knearestN, + nearestN, +} from "../src"; + +describe("distance", () => { + it("eucledian1", () => { + assert.strictEqual(EUCLEDIAN1.to(10), 10); + assert.strictEqual(EUCLEDIAN1.from(10), 10); + assert.strictEqual(EUCLEDIAN1.metric(5, 10), 5); + }); + + it("eucledian2", () => { + assert.strictEqual( + EUCLEDIAN2.metric([5, 10], [-5, -10]), + dist([5, 10], [-5, -10]) + ); + }); + + it("eucledian3", () => { + assert.strictEqual( + EUCLEDIAN3.metric([5, 10, -20], [-5, -10, 20]), + dist([5, 10, -20], [-5, -10, 20]) + ); + }); + + it("squared1", () => { + assert.strictEqual(DIST_SQ1.to(10), 100); + assert.strictEqual(DIST_SQ1.from(100), 10); + assert.strictEqual(DIST_SQ1.metric(5, 10), 25); + }); + + it("squared2", () => { + assert.strictEqual( + DIST_SQ2.metric([5, 10], [-5, -10]), + distSq2([5, 10], [-5, -10]) + ); + }); + + it("squared3", () => { + assert.strictEqual( + DIST_SQ3.metric([5, 10, -20], [-5, -10, 20]), + distSq3([5, 10, -20], [-5, -10, 20]) + ); + }); + + it("nearestN (inf)", () => { + const a = nearestN(10, Infinity, DIST_SQ1); + assert.deepStrictEqual( + [5, 9, 12, 11].map((x) => a.consider(x, x)), + [25, 1, 4, 1] + ); + assert.deepStrictEqual(a.deref(), [1, 11]); + }); + + it("nearestN (radius)", () => { + const a = nearestN(10, 2, DIST_SQ1); + assert.deepStrictEqual( + [5, 9, 12, 11].map((x) => a.consider(x, x)), + [25, 1, 4, 1] + ); + assert.deepStrictEqual(a.deref(), [1, 11]); + }); + + it("knearestN (inf)", () => { + const a = knearestN(10, 2, Infinity, DIST_SQ1, true); + assert.deepStrictEqual( + [5, 8, 13, 11].map((x) => a.consider(x, x)), + [25, 4, 9, 1] + ); + assert.deepStrictEqual(a.deref(), [ + [1, 11], + [4, 8], + ]); + }); + + it("knearestN (radius)", () => { + const a = knearestN(10, 2, 2, DIST_SQ1, true); + assert.deepStrictEqual( + [5, 8, 13, 11].map((x) => a.consider(x, x)), + [25, 4, 9, 1] + ); + assert.deepStrictEqual(a.deref(), [ + [1, 11], + [4, 8], + ]); + }); +}); diff --git a/packages/distance/test/tsconfig.json b/packages/distance/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/distance/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/distance/tpl.readme.md b/packages/distance/tpl.readme.md new file mode 100644 index 0000000000..3fc5814768 --- /dev/null +++ b/packages/distance/tpl.readme.md @@ -0,0 +1,132 @@ +# ${pkg.banner} + +[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name}) +![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + + + +## About + +${pkg.description} + +### Distance metrics + +The package provides the +[`IDistance`](https://github.com/thi-ng/umbrella/blob/develop/packages/distance/src/api.ts) +interface for custom distance metric implementations & conversions from/to raw +distance values. The following preset metrics are provided too: + +| **Preset** | **Number** | **n-D** | **2D** | **3D** | **Comments** | +|-------------------|------------|---------|--------|--------|----------------------------------------------------------------------| +| `EUCLEDIAN` | | βœ… | | | Eucledian distance | +| `EUCLEDIAN1` | βœ… | | | | | +| `EUCLEDIAN2` | | | βœ… | | | +| `EUCLEDIAN3` | | | | βœ… | | +| `DIST_SQ` | | βœ… | | | Squared dist (avoids `Math.sqrt`) | +| `DIST_SQ1` | βœ… | | | | | +| `DIST_SQ2` | | | βœ… | | | +| `DIST_SQ3` | | | | βœ… | | +| `defManhattan(n)` | | βœ… | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) | +| `MANHATTAN2` | | | βœ… | | | +| `MANHATTAN3` | | | | βœ… | | + +### Neighborhoods + +Neighborhoods can be used to select n-D spatial items around a given target +location and an optional catchment radius (infinite by default). Neighborhoods +also use one of the given distance metrics and implement the widely used +[`IDeref`](https://github.com/thi-ng/umbrella/tree/develop/packages/api/src/api/deref.ts) +interface to obtain the final query results. + +Custom neighborhood selections can be defined via the +[`INeighborhood`](https://github.com/thi-ng/umbrella/blob/develop/packages/distance/src/api.ts) +interface. Currently, there are two different implementations available, each +providing several factory functions to instantiate and provide defaults for +different dimensions. See documentation and examples below. + +#### Nearest + +An `INeighborhood` implementation for nearest neighbor queries around a given +target location, initial query radius and `IDistance` metric to determine +proximity. + +#### KNearest + +An `INeighborhood` implementation for K-nearest neighbor queries around a given +target location, initial query radius and `IDistance` metric to determine +proximity. The K-nearest neighbors will be accumulated via an internal +[heap](https://github.com/thi-ng/umbrella/tree/develop/packages/heaps) and +results can be optionally returned in order of proximity (via `.deref()` or +`.values()`). For K=1 it will be more efficient to use `Nearest` to avoid the +additional overhead. + +${status} + +Work is underway integrating this approach into the spatial indexing data +structures provided by the +[@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel) +package. + +${supportPackages} + +${relatedPackages} + +${blogPosts} + +## Installation + +${pkg.install} + +${pkg.size} + +## Dependencies + +${pkg.deps} + +${examples} + +## API + +${docLink} + +```ts +import * as d from "@thi.ng/distance"; + +const items = { a: 5, b: 16, c: 9.5, d: 2, e: 12 }; + +// collect the 3 nearest numbers for target=10 and using +// infinite selection radius and squared distance metric (defaults) +const k = d.knearestN(10, 3); +// consider each item for inclusion +Object.entries(items).forEach(([id, x]) => k.consider(x, id)); + +// retrieve result tuples of [distance, value] +k.deref() +// [ [ 25, 'a' ], [ 4, 'e' ], [ 0.25, 'c' ] ] + +// result values only +k.values() +// [ 'a', 'e', 'c' ] + +// neighborhood around 10, K=3 w/ max radius 5 +// also use Eucledian distance and sort results by proximity +const k2 = d.knearestN(10, 3, 5, d.EUCLEDIAN1, true); +Object.entries(items).forEach(([id, x]) => k2.consider(x, id)); + +k2.deref() +// [ [ 0.5, 'c' ], [ 2, 'e' ], [ 5, 'a' ] ] +``` + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/distance/tsconfig.json b/packages/distance/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/distance/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md index 92e82291ff..03426d07b1 100644 --- a/packages/dl-asset/CHANGELOG.md +++ b/packages/dl-asset/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.11...@thi.ng/dl-asset@0.4.12) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.10...@thi.ng/dl-asset@0.4.11) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.9...@thi.ng/dl-asset@0.4.10) (2020-12-22) +## [0.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.12...@thi.ng/dl-asset@0.4.13) (2021-02-20) **Note:** Version bump only for package @thi.ng/dl-asset diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index 4d635f6f70..ffc5cfad35 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dl-asset", - "version": "0.4.12", + "version": "0.4.13", "description": "Local asset download for web apps, with automatic MIME type detection", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/mime": "^0.1.27" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/mime": "^0.1.28" }, "files": [ "*.js", diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md index 7345fefaaa..a18c6905f6 100644 --- a/packages/dlogic/CHANGELOG.md +++ b/packages/dlogic/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.36...@thi.ng/dlogic@1.0.37) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.35...@thi.ng/dlogic@1.0.36) (2020-12-22) +## [1.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.37...@thi.ng/dlogic@1.0.38) (2021-02-20) **Note:** Version bump only for package @thi.ng/dlogic diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index 4e1625614f..842afcbfc2 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dlogic", - "version": "1.0.37", + "version": "1.0.38", "description": "Assorted digital logic ops / constructs", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index bc693eec5d..549e20d538 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.23...@thi.ng/dot@1.2.24) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.22...@thi.ng/dot@1.2.23) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.21...@thi.ng/dot@1.2.22) (2020-12-22) +## [1.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.24...@thi.ng/dot@1.2.25) (2021-02-20) **Note:** Version bump only for package @thi.ng/dot diff --git a/packages/dot/package.json b/packages/dot/package.json index 94b0393bd0..ce0626f8e4 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dot", - "version": "1.2.24", + "version": "1.2.25", "description": "Graphviz document abstraction & serialization to DOT format", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0" }, "files": [ "*.js", diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index c0cd69ae59..d8f746dd7b 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.35...@thi.ng/dsp-io-wav@0.1.36) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.34...@thi.ng/dsp-io-wav@0.1.35) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.33...@thi.ng/dsp-io-wav@0.1.34) (2020-12-22) +## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.39...@thi.ng/dsp-io-wav@0.1.40) (2021-02-20) **Note:** Version bump only for package @thi.ng/dsp-io-wav diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 9170724ccf..83d30fb1d0 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp-io-wav", - "version": "0.1.36", + "version": "0.1.40", "description": "WAV file format generation", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/transducers-binary": "^0.6.6" }, "files": [ "*.js", @@ -60,12 +60,18 @@ "lib" ], "keywords": [ + "8bit", + "16bit", + "24bit", + "32bit", "audio", "binary", "channel", "dsp", "export", "fileformat", + "mono", + "stereo", "typescript", "wav" ], diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index 4df37c5c06..40c0b962b0 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.1...@thi.ng/dsp@3.0.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [3.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.0...@thi.ng/dsp@3.0.1) (2021-01-02) +## [3.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.5...@thi.ng/dsp@3.0.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/dsp diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 0eb7a59ae7..1cb0569e5f 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "3.0.2", + "version": "3.0.6", "description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/math": "^3.2.0", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/dsp/tools/generate-diagrams.ts b/packages/dsp/tools/generate-diagrams.ts index cec1fdc5ad..cbe00695bd 100644 --- a/packages/dsp/tools/generate-diagrams.ts +++ b/packages/dsp/tools/generate-diagrams.ts @@ -1,5 +1,5 @@ import type { Fn, IObjectOf } from "@thi.ng/api"; -import { cosineColor, GRADIENTS } from "@thi.ng/color"; +import { cosineColor, COSINE_GRADIENTS } from "@thi.ng/color"; import { asSvg, group, @@ -84,7 +84,7 @@ const label = (x: number, y: number, body: string) => }; const color = (i: number) => - cosineColor(GRADIENTS["orange-magenta-blue"], 1 - i); + cosineColor(COSINE_GRADIENTS["orange-magenta-blue"], 1 - i); const write = ( fname: string, diff --git a/packages/dual-algebra/CHANGELOG.md b/packages/dual-algebra/CHANGELOG.md index e7b0071677..35530852a0 100644 --- a/packages/dual-algebra/CHANGELOG.md +++ b/packages/dual-algebra/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dual-algebra@0.1.5...@thi.ng/dual-algebra@0.1.6) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dual-algebra - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dual-algebra@0.1.4...@thi.ng/dual-algebra@0.1.5) (2020-12-22) +## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dual-algebra@0.1.6...@thi.ng/dual-algebra@0.1.7) (2021-02-20) **Note:** Version bump only for package @thi.ng/dual-algebra diff --git a/packages/dual-algebra/package.json b/packages/dual-algebra/package.json index 60d270b0bc..a28dd53163 100644 --- a/packages/dual-algebra/package.json +++ b/packages/dual-algebra/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dual-algebra", - "version": "0.1.6", + "version": "0.1.7", "description": "Multivariate dual number algebra, automatic differentiation", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md index 876c5a291a..27ea7d19fc 100644 --- a/packages/dynvar/CHANGELOG.md +++ b/packages/dynvar/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.28...@thi.ng/dynvar@0.1.29) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.27...@thi.ng/dynvar@0.1.28) (2020-12-22) +## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.29...@thi.ng/dynvar@0.1.30) (2021-02-20) **Note:** Version bump only for package @thi.ng/dynvar diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index c11a937510..5ed5573eae 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dynvar", - "version": "0.1.29", + "version": "0.1.30", "description": "Dynamically scoped variable bindings", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index df79e40146..94bdb07669 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,25 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.4.5...@thi.ng/ecs@0.4.6) (2021-01-10) +# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.4.9...@thi.ng/ecs@0.5.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/ecs +### Code Refactoring +* **ecs:** update mem-mapped component type handling ([3207200](https://github.com/thi-ng/umbrella/commit/3207200367fbe905b7f425690c772a7d388f92e3)) +### BREAKING CHANGES -## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.4.4...@thi.ng/ecs@0.4.5) (2021-01-02) +* **ecs:** component buffer data type use string consts -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.4.3...@thi.ng/ecs@0.4.4) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/ecs +- part of unified umbrella-wide changes to thi.ng/api Type alias + (see a333d4182) diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 63d1689a71..906befacdc 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ecs", - "version": "0.4.6", + "version": "0.5.0", "description": "Entity Component System based around typed arrays & sparse sets", "module": "./index.js", "main": "./lib/index.js", @@ -40,24 +40,24 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/equiv": "^1.0.35", + "@thi.ng/equiv": "^1.0.36", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/idgen": "^0.2.29", - "@thi.ng/malloc": "^4.2.6", - "@thi.ng/transducers": "^7.5.5", + "@thi.ng/api": "^7.0.0", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/dcons": "^2.3.10", + "@thi.ng/idgen": "^0.2.30", + "@thi.ng/malloc": "^5.0.0", + "@thi.ng/transducers": "^7.6.0", "tslib": "2.0.1" }, "files": [ diff --git a/packages/ecs/src/ecs.ts b/packages/ecs/src/ecs.ts index 53f0414189..a079509ec1 100644 --- a/packages/ecs/src/ecs.ts +++ b/packages/ecs/src/ecs.ts @@ -4,7 +4,7 @@ import { INotify, INotifyMixin, Listener, - uintType, + uintTypeForSize, } from "@thi.ng/api"; import { bitSize } from "@thi.ng/binary"; import { isArray, isString } from "@thi.ng/checks"; @@ -80,7 +80,7 @@ export class ECS implements INotify { `component '${opts.id}' already existing` ); const cap = this.idgen.capacity; - const utype = uintType(cap); + const utype = uintTypeForSize(cap); const sparse = this.pool.mallocAs(utype, cap); const dense = this.pool.mallocAs(utype, cap); if (!(sparse && dense)) return; diff --git a/packages/ecs/test/component.ts b/packages/ecs/test/component.ts index 669e7f377b..171ec600a8 100644 --- a/packages/ecs/test/component.ts +++ b/packages/ecs/test/component.ts @@ -1,4 +1,3 @@ -import { Type } from "@thi.ng/api"; import { equiv } from "@thi.ng/equiv"; import * as assert from "assert"; import { ECS, MemMappedComponent } from "../src"; @@ -9,7 +8,7 @@ describe("component", () => { beforeEach(() => (ecs = new ECS({ capacity: 16 }))); it("defComponent (minimal)", () => { - const a = ecs.defComponent({ id: "a", type: Type.F32 }); + const a = ecs.defComponent({ id: "a", type: "f32" }); assert(a instanceof MemMappedComponent); assert(a.dense instanceof Uint8Array); assert(a.sparse instanceof Uint8Array); @@ -22,7 +21,7 @@ describe("component", () => { }); it("defComponent (w/ type)", () => { - const a = ecs.defComponent({ id: "a", type: Type.U8 })!; + const a = ecs.defComponent({ id: "a", type: "u8" })!; assert(a.vals instanceof Uint8Array); assert.strictEqual(a.dense.length, ecs.idgen.capacity); assert.strictEqual(a.sparse.length, ecs.idgen.capacity); @@ -32,14 +31,14 @@ describe("component", () => { }); it("defComponent (w/ size)", () => { - const a = ecs.defComponent({ id: "a", type: Type.F32, size: 2 })!; + const a = ecs.defComponent({ id: "a", type: "f32", size: 2 })!; assert(a.vals instanceof Float32Array); assert.strictEqual(a.vals.length, ecs.idgen.capacity * 2); assert.strictEqual(a.size, 2); assert.strictEqual(a.stride, 2); const b = ecs.defComponent({ id: "b", - type: Type.F32, + type: "f32", size: 3, stride: 4, })!; @@ -51,7 +50,7 @@ describe("component", () => { it("add (w/ default val)", () => { const a = ecs.defComponent({ id: "a", - type: Type.F32, + type: "f32", size: 2, default: [1, 2], })!; @@ -67,7 +66,7 @@ describe("component", () => { it("values / packedValues", () => { const a = ecs.defComponent({ id: "a", - type: Type.F32, + type: "f32", size: 2, default: [1, 2], })!; @@ -88,7 +87,7 @@ describe("component", () => { it("resize", () => { const a = ecs.defComponent({ id: "a", - type: Type.F32, + type: "f32", size: 2, default: [1, 2], })!; diff --git a/packages/ecs/test/group.ts b/packages/ecs/test/group.ts index b62523d4fa..4de31697ae 100644 --- a/packages/ecs/test/group.ts +++ b/packages/ecs/test/group.ts @@ -15,7 +15,7 @@ describe("component", () => { it("group", () => { const a = ecs.defComponent({ id: "a", default: () => "a" })!; - const b = ecs.defComponent({ id: "b", type: 7, size: 2 })!; + const b = ecs.defComponent({ id: "b", type: "f32", size: 2 })!; const g = ecs.defGroup([a, b]); ecs.defEntity(["a", "b"]); ecs.defEntity({ a: "aa", b: [1, 2] }); diff --git a/packages/egf/CHANGELOG.md b/packages/egf/CHANGELOG.md index cc0f001380..566dd8d574 100644 --- a/packages/egf/CHANGELOG.md +++ b/packages/egf/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.7...@thi.ng/egf@0.3.8) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.6...@thi.ng/egf@0.3.7) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.5...@thi.ng/egf@0.3.6) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.4...@thi.ng/egf@0.3.5) (2020-12-22) +## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.11...@thi.ng/egf@0.3.12) (2021-02-20) **Note:** Version bump only for package @thi.ng/egf diff --git a/packages/egf/package.json b/packages/egf/package.json index 0f89ba81b4..778561b54d 100644 --- a/packages/egf/package.json +++ b/packages/egf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/egf", - "version": "0.3.8", + "version": "0.3.12", "description": "Extensible Graph Format", "module": "./index.js", "main": "./lib/index.js", @@ -35,24 +35,24 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/equiv": "^1.0.35", + "@thi.ng/equiv": "^1.0.36", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/dot": "^1.2.24", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/prefixes": "^0.1.10", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/api": "^7.0.0", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/dot": "^1.2.25", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/prefixes": "^0.1.12", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers-binary": "^0.6.6" }, "files": [ "*.js", @@ -70,7 +70,7 @@ "lpg", "rdf", "semweb", - "tagged values", + "tags", "typescript" ], "publishConfig": { diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md index febacb10a6..1e04f9c07c 100644 --- a/packages/equiv/CHANGELOG.md +++ b/packages/equiv/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.34...@thi.ng/equiv@1.0.35) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.33...@thi.ng/equiv@1.0.34) (2020-12-22) +## [1.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.35...@thi.ng/equiv@1.0.36) (2021-02-20) **Note:** Version bump only for package @thi.ng/equiv diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 0647c8340a..77d75820c3 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/equiv", - "version": "1.0.35", + "version": "1.0.36", "description": "Extensible deep value equivalence checking for any data types", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "benchmark": "^2.1.4", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index 992ed27437..8eebe91c23 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.25...@thi.ng/errors@1.2.26) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.24...@thi.ng/errors@1.2.25) (2020-12-22) +## [1.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.26...@thi.ng/errors@1.2.27) (2021-02-20) **Note:** Version bump only for package @thi.ng/errors diff --git a/packages/errors/package.json b/packages/errors/package.json index 87a17f0d29..4a0c85de8f 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/errors", - "version": "1.2.26", + "version": "1.2.27", "description": "Custom error types and error factory functions", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 37153ffc05..3398d06d49 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.4.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.32...@thi.ng/fsm@2.4.33) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.31...@thi.ng/fsm@2.4.32) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.30...@thi.ng/fsm@2.4.31) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.29...@thi.ng/fsm@2.4.30) (2020-12-22) +## [2.4.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.36...@thi.ng/fsm@2.4.37) (2021-02-20) **Note:** Version bump only for package @thi.ng/fsm diff --git a/packages/fsm/README.md b/packages/fsm/README.md index cf108e21df..d5fdaefc12 100644 --- a/packages/fsm/README.md +++ b/packages/fsm/README.md @@ -53,7 +53,7 @@ yarn add @thi.ng/fsm ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.38 KB / CJS: 1.49 KB / UMD: 1.51 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.38 KB / CJS: 1.50 KB / UMD: 1.52 KB ## Dependencies diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 091b532c08..560c7fd492 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fsm", - "version": "2.4.33", + "version": "2.4.37", "description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/fuzzy-viz/CHANGELOG.md b/packages/fuzzy-viz/CHANGELOG.md index 27263a736c..78b008948e 100644 --- a/packages/fuzzy-viz/CHANGELOG.md +++ b/packages/fuzzy-viz/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.2...@thi.ng/fuzzy-viz@0.1.3) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.1...@thi.ng/fuzzy-viz@0.1.2) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.0...@thi.ng/fuzzy-viz@0.1.1) (2021-01-02) +## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.6...@thi.ng/fuzzy-viz@0.1.7) (2021-02-20) **Note:** Version bump only for package @thi.ng/fuzzy-viz diff --git a/packages/fuzzy-viz/package.json b/packages/fuzzy-viz/package.json index 5f19b35eb3..d71d78d5ed 100644 --- a/packages/fuzzy-viz/package.json +++ b/packages/fuzzy-viz/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fuzzy-viz", - "version": "0.1.3", + "version": "0.1.7", "description": "Visualization, instrumentation & introspection utils for @thi.ng/fuzzy", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/fuzzy": "^0.1.2", - "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/hiccup-svg": "^3.7.2", - "@thi.ng/math": "^3.1.0", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/text-canvas": "^0.4.1" + "@thi.ng/api": "^7.0.0", + "@thi.ng/fuzzy": "^0.1.3", + "@thi.ng/hiccup": "^3.6.8", + "@thi.ng/hiccup-svg": "^3.7.6", + "@thi.ng/math": "^3.2.0", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/text-canvas": "^0.4.5" }, "files": [ "*.js", diff --git a/packages/fuzzy/CHANGELOG.md b/packages/fuzzy/CHANGELOG.md index 118397a489..18871c7fe6 100644 --- a/packages/fuzzy/CHANGELOG.md +++ b/packages/fuzzy/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.1...@thi.ng/fuzzy@0.1.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/fuzzy - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.0...@thi.ng/fuzzy@0.1.1) (2021-01-02) +## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.2...@thi.ng/fuzzy@0.1.3) (2021-02-20) **Note:** Version bump only for package @thi.ng/fuzzy diff --git a/packages/fuzzy/README.md b/packages/fuzzy/README.md index 4715b25fc2..84467438b3 100644 --- a/packages/fuzzy/README.md +++ b/packages/fuzzy/README.md @@ -80,7 +80,7 @@ yarn add @thi.ng/fuzzy ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.63 KB / CJS: 1.81 KB / UMD: 1.74 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.64 KB / CJS: 1.82 KB / UMD: 1.74 KB ## Dependencies diff --git a/packages/fuzzy/package.json b/packages/fuzzy/package.json index 27e77759d0..ed5ff38f0c 100644 --- a/packages/fuzzy/package.json +++ b/packages/fuzzy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fuzzy", - "version": "0.1.2", + "version": "0.1.3", "description": "Fuzzy logic operators & configurable rule inferencing engine", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/math": "^3.1.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/math": "^3.2.0" }, "files": [ "*.js", diff --git a/packages/fuzzy/src/api.ts b/packages/fuzzy/src/api.ts index 9a82b9368f..5386c5d0a4 100644 --- a/packages/fuzzy/src/api.ts +++ b/packages/fuzzy/src/api.ts @@ -1,4 +1,4 @@ -import type { Fn2, FnN, FnN2 } from "@thi.ng/api"; +import type { Fn2, FnN, FnN2, Range } from "@thi.ng/api"; export type FuzzyFn = FnN; @@ -6,7 +6,7 @@ export type RuleOp = (x: number, a: FuzzyFn, b: FuzzyFn) => number; export type DefuzzStrategy = Fn2; -export type LVarDomain = [number, number]; +export type LVarDomain = Range; export type LVarTerms = Record; diff --git a/packages/fuzzy/src/tnorms.ts b/packages/fuzzy/src/tnorms.ts index 94cec271a3..2b09afff46 100644 --- a/packages/fuzzy/src/tnorms.ts +++ b/packages/fuzzy/src/tnorms.ts @@ -1,5 +1,5 @@ -import type { FnN2 } from "@thi.ng/api"; -import { norm } from "@thi.ng/math"; +import type { FnN2, Range } from "@thi.ng/api"; +import { clamp0, norm } from "@thi.ng/math"; // https://en.wikipedia.org/wiki/T-norm @@ -7,7 +7,7 @@ export const tnormMin: FnN2 = (x, y) => Math.min(x, y); export const tnormProduct: FnN2 = (x, y) => x * y; -export const tnormLukasiewicz: FnN2 = (x, y) => Math.max(0, x + y - 1); +export const tnormLukasiewicz: FnN2 = (x, y) => clamp0(x + y - 1); export const tnormDrastic: FnN2 = (x, y) => (x === 1 ? y : y === 1 ? x : 0); @@ -35,7 +35,7 @@ export const tnormHamacher = (p = 2): FnN2 => (x, y) => export const tnormYager = (p = 2): FnN2 => p === 0 ? () => 0 - : (x, y) => Math.max(0, 1 - ((1 - x) ** p + (1 - y) ** p) ** (1 / p)); + : (x, y) => clamp0(1 - ((1 - x) ** p + (1 - y) ** p) ** (1 / p)); /** * HOF T-norm. Parametric Dombi with `p` controlling curvature. @@ -122,9 +122,10 @@ export const snormEinstein: FnN2 = (x, y) => (x + y) / (1 + x * y); * * @param specs */ -export const ordinalSum = ( - specs: { domain: [number, number]; tnorm: FnN2 }[] -): FnN2 => (x, y) => { +export const ordinalSum = (specs: { domain: Range; tnorm: FnN2 }[]): FnN2 => ( + x, + y +) => { for (let s of specs) { const [a, b] = s.domain; if (x >= a && x <= b && y >= a && y <= b) { diff --git a/packages/fuzzy/src/var.ts b/packages/fuzzy/src/var.ts index 66dd449352..d31d104f9b 100644 --- a/packages/fuzzy/src/var.ts +++ b/packages/fuzzy/src/var.ts @@ -1,4 +1,4 @@ -import type { LVar } from "./api"; +import type { LVar, LVarDomain } from "./api"; /** * Takes a `domain` interval and on object of named fuzzy sets and returns a new @@ -20,7 +20,7 @@ import type { LVar } from "./api"; * @param terms */ export const variable = ( - domain: [number, number], + domain: LVarDomain, terms: LVar["terms"] ): LVar => ({ domain, diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index cad9db3135..230229ff9b 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.30...@thi.ng/geom-accel@2.1.31) (2021-01-10) +## [2.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.34...@thi.ng/geom-accel@2.1.35) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-accel @@ -11,17 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [2.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.29...@thi.ng/geom-accel@2.1.30) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-accel - - +## [2.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.32...@thi.ng/geom-accel@2.1.33) (2021-01-21) +### Bug Fixes -## [2.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.28...@thi.ng/geom-accel@2.1.29) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/geom-accel +* **geom-accel:** size update in ASpatialGrid.set() ([b41f7ba](https://github.com/thi-ng/umbrella/commit/b41f7ba38b454f6790c640d9363faa56ebe2190e)) diff --git a/packages/geom-accel/README.md b/packages/geom-accel/README.md index 40743a545e..382a3160c1 100644 --- a/packages/geom-accel/README.md +++ b/packages/geom-accel/README.md @@ -54,7 +54,7 @@ yarn add @thi.ng/geom-accel ``` -Package sizes (gzipped, pre-treeshake): ESM: 3.79 KB / CJS: 3.85 KB / UMD: 3.86 KB +Package sizes (gzipped, pre-treeshake): ESM: 3.79 KB / CJS: 3.85 KB / UMD: 3.85 KB ## Dependencies diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 902d5488b3..8526c15fe6 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-accel", - "version": "2.1.31", + "version": "2.1.35", "description": "n-D spatial indexing data structures with a shared ES6 Map/Set-like API", "module": "./index.js", "main": "./lib/index.js", @@ -43,23 +43,23 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/heaps": "^1.2.30", - "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-isec": "^0.7.9", + "@thi.ng/heaps": "^1.2.32", + "@thi.ng/math": "^3.2.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-accel/src/aspatial-grid.ts b/packages/geom-accel/src/aspatial-grid.ts index 719cfc668b..08a8f56288 100644 --- a/packages/geom-accel/src/aspatial-grid.ts +++ b/packages/geom-accel/src/aspatial-grid.ts @@ -88,9 +88,9 @@ export abstract class ASpatialGrid const cell = this._cells[id]; if (!cell) { this._cells[id] = [[k, v]]; - return true; + } else { + cell.push([k, v]); } - cell.push([k, v]); this._num++; return true; } diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index f0d2a54149..ae734141d8 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.1...@thi.ng/geom-api@2.0.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.0...@thi.ng/geom-api@2.0.1) (2021-01-02) +## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.5...@thi.ng/geom-api@2.0.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-api diff --git a/packages/geom-api/README.md b/packages/geom-api/README.md index d92229b94b..b80e825ed6 100644 --- a/packages/geom-api/README.md +++ b/packages/geom-api/README.md @@ -41,7 +41,7 @@ yarn add @thi.ng/geom-api ``` -Package sizes (gzipped, pre-treeshake): ESM: 287 bytes / CJS: 318 bytes / UMD: 441 bytes +Package sizes (gzipped, pre-treeshake): ESM: 287 bytes / CJS: 330 bytes / UMD: 453 bytes ## Dependencies diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index 0da9094d6e..c0bfecba8a 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-api", - "version": "2.0.2", + "version": "2.0.6", "description": "Shared type & interface declarations for @thi.ng/geom packages", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index 06c1dce692..908a78108d 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.19...@thi.ng/geom-arc@0.3.20) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.18...@thi.ng/geom-arc@0.3.19) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.17...@thi.ng/geom-arc@0.3.18) (2020-12-22) +## [0.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.23...@thi.ng/geom-arc@0.3.24) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-arc diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index 0c22967212..793786e2bb 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-arc", - "version": "0.3.20", + "version": "0.3.24", "description": "2D circular / elliptic arc operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-resample": "^0.2.53", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-resample": "^0.2.57", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index e601abfb3b..2a56fbe142 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.15...@thi.ng/geom-clip-line@1.2.16) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.14...@thi.ng/geom-clip-line@1.2.15) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.13...@thi.ng/geom-clip-line@1.2.14) (2020-12-22) +## [1.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.19...@thi.ng/geom-clip-line@1.2.20) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-clip-line diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index b5e9baa21a..be463b8dde 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-line", - "version": "1.2.16", + "version": "1.2.20", "description": "2D line clipping (Liang-Barsky)", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/geom-isec": "^0.7.9", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index 2d0b745924..ae08a68cca 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.40...@thi.ng/geom-clip-poly@1.0.41) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.39...@thi.ng/geom-clip-poly@1.0.40) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.38...@thi.ng/geom-clip-poly@1.0.39) (2020-12-22) +## [1.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.44...@thi.ng/geom-clip-poly@1.0.45) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-clip-poly diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index 5680560eba..9860f5471a 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-poly", - "version": "1.0.41", + "version": "1.0.45", "description": "2D convex polygon clipping (Sutherland-Hodgeman)", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/geom-isec": "^0.7.9", + "@thi.ng/geom-poly-utils": "^0.3.6", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index 575263cd62..b18ad55d83 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.6...@thi.ng/geom-closest-point@0.5.7) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.5...@thi.ng/geom-closest-point@0.5.6) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.4...@thi.ng/geom-closest-point@0.5.5) (2020-12-22) +## [0.5.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.10...@thi.ng/geom-closest-point@0.5.11) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-closest-point diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index d1afcb132f..207d094007 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-closest-point", - "version": "0.5.7", + "version": "0.5.11", "description": "2D / 3D closest point / proximity helpers", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-fuzz/CHANGELOG.md b/packages/geom-fuzz/CHANGELOG.md index 2f8ca2afc8..3134539d6f 100644 --- a/packages/geom-fuzz/CHANGELOG.md +++ b/packages/geom-fuzz/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.28...@thi.ng/geom-fuzz@0.1.29) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.27...@thi.ng/geom-fuzz@0.1.28) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.26...@thi.ng/geom-fuzz@0.1.27) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.25...@thi.ng/geom-fuzz@0.1.26) (2020-12-22) +## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.32...@thi.ng/geom-fuzz@0.1.33) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-fuzz diff --git a/packages/geom-fuzz/package.json b/packages/geom-fuzz/package.json index 7a7c8969ff..74e1da1992 100644 --- a/packages/geom-fuzz/package.json +++ b/packages/geom-fuzz/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-fuzz", - "version": "0.1.29", + "version": "0.1.33", "description": "Highly configurable, fuzzy line & polygon creation with presets and composable fill & stroke styles. Canvas & SVG support", "module": "./index.js", "main": "./lib/index.js", @@ -41,23 +41,23 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/color": "^2.1.2", - "@thi.ng/geom": "^2.0.3", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-clip-line": "^1.2.16", - "@thi.ng/geom-resample": "^0.2.53", - "@thi.ng/grid-iterators": "^0.4.18", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/color": "^3.0.0", + "@thi.ng/geom": "^2.1.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-clip-line": "^1.2.20", + "@thi.ng/geom-resample": "^0.2.57", + "@thi.ng/grid-iterators": "^0.4.22", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index 74f4a52aa2..ffe7844763 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.0.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.72...@thi.ng/geom-hull@0.0.73) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.71...@thi.ng/geom-hull@0.0.72) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.70...@thi.ng/geom-hull@0.0.71) (2020-12-22) +## [0.0.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.76...@thi.ng/geom-hull@0.0.77) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-hull diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 9dec900935..f698121b85 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-hull", - "version": "0.0.73", + "version": "0.0.77", "description": "Fast 2D convex hull (Graham Scan)", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md index 7cab7b6c2f..4348e0a953 100644 --- a/packages/geom-io-obj/CHANGELOG.md +++ b/packages/geom-io-obj/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.30...@thi.ng/geom-io-obj@0.1.31) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.29...@thi.ng/geom-io-obj@0.1.30) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.28...@thi.ng/geom-io-obj@0.1.29) (2020-12-22) +## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.34...@thi.ng/geom-io-obj@0.1.35) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-io-obj diff --git a/packages/geom-io-obj/package.json b/packages/geom-io-obj/package.json index 2182a0007b..ed2ba83144 100644 --- a/packages/geom-io-obj/package.json +++ b/packages/geom-io-obj/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-io-obj", - "version": "0.1.31", + "version": "0.1.35", "description": "Wavefront OBJ parser (& exporter soon)", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", @@ -64,6 +64,7 @@ "geometry", "mesh", "parser", + "points", "polygon", "polyline", "typescript" diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index 1c07dfd67c..264e784bf2 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.7.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.4...@thi.ng/geom-isec@0.7.5) (2021-01-10) +## [0.7.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.8...@thi.ng/geom-isec@0.7.9) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-isec @@ -22,14 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.7.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.2...@thi.ng/geom-isec@0.7.3) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - # [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.6.1...@thi.ng/geom-isec@0.7.0) (2020-11-24) diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index a6c3882a78..a7da246bab 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isec", - "version": "0.7.5", + "version": "0.7.9", "description": "2D/3D shape intersection checks", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-closest-point": "^0.5.7", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-closest-point": "^0.5.11", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-isec/src/ray-rect.ts b/packages/geom-isec/src/ray-rect.ts index 0d3fd93ef2..aca7d33a11 100644 --- a/packages/geom-isec/src/ray-rect.ts +++ b/packages/geom-isec/src/ray-rect.ts @@ -1,4 +1,4 @@ -import type { FnU4 } from "@thi.ng/api"; +import type { FnU4, Range } from "@thi.ng/api"; import { IntersectionResult, IntersectionType } from "@thi.ng/geom-api"; import { maddN, ReadonlyVec } from "@thi.ng/vectors"; import { NONE } from "./api"; @@ -15,12 +15,7 @@ const max = Math.max; * @param bmin - rect min * @param bmax - rect max */ -const rayRect: FnU4 = ( - rpos, - dir, - bmin, - bmax -) => { +const rayRect: FnU4 = (rpos, dir, bmin, bmax) => { let p = rpos[0]; let d = 1 / dir[0]; let t1 = (bmin[0] - p) * d; @@ -42,7 +37,7 @@ const rayRect: FnU4 = ( * @param bmin - box min * @param bmax - box max */ -const rayBox: FnU4 = (rpos, dir, bmin, bmax) => { +const rayBox: FnU4 = (rpos, dir, bmin, bmax) => { let p = rpos[0]; let d = 1 / dir[0]; let t1 = (bmin[0] - p) * d; @@ -63,7 +58,7 @@ const rayBox: FnU4 = (rpos, dir, bmin, bmax) => { }; const intersectWith = ( - fn: FnU4 + fn: FnU4 ): FnU4 => (rpos, dir, bmin, bmax) => { const t = fn(rpos, dir, bmin, bmax); const tmin = t[0]; diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index a1eaf47a0b..01f70d2233 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.70...@thi.ng/geom-isoline@0.1.71) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.69...@thi.ng/geom-isoline@0.1.70) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.68...@thi.ng/geom-isoline@0.1.69) (2020-12-22) +## [0.1.75](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.74...@thi.ng/geom-isoline@0.1.75) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-isoline diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index 532db64112..a61c71013f 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isoline", - "version": "0.1.71", + "version": "0.1.75", "description": "Fast 2D contour line extraction / generation", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index ea9a52f16d..893c29baf7 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.1...@thi.ng/geom-poly-utils@0.3.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.0...@thi.ng/geom-poly-utils@0.3.1) (2021-01-02) +## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.5...@thi.ng/geom-poly-utils@0.3.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-poly-utils diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index 291ca67e64..5e8635021e 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-poly-utils", - "version": "0.3.2", + "version": "0.3.6", "description": "2D polygon/polyline analysis & processing utilities", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 060ffccd09..b09594d021 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.52...@thi.ng/geom-resample@0.2.53) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.51...@thi.ng/geom-resample@0.2.52) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.50...@thi.ng/geom-resample@0.2.51) (2020-12-22) +## [0.2.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.56...@thi.ng/geom-resample@0.2.57) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-resample diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index 2b83ace81b..6395ce3f69 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-resample", - "version": "0.2.53", + "version": "0.2.57", "description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-closest-point": "^0.5.7", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-closest-point": "^0.5.11", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index 54e671728c..afc7e14fca 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.39...@thi.ng/geom-splines@0.5.40) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.38...@thi.ng/geom-splines@0.5.39) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.37...@thi.ng/geom-splines@0.5.38) (2020-12-22) +## [0.5.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.43...@thi.ng/geom-splines@0.5.44) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-splines diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index 7bfa13db66..b70997ea59 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-splines", - "version": "0.5.40", + "version": "0.5.44", "description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-arc": "^0.3.20", - "@thi.ng/geom-resample": "^0.2.53", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-arc": "^0.3.24", + "@thi.ng/geom-resample": "^0.2.57", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index a32279554b..6297276bd4 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.70...@thi.ng/geom-subdiv-curve@0.1.71) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.69...@thi.ng/geom-subdiv-curve@0.1.70) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.68...@thi.ng/geom-subdiv-curve@0.1.69) (2020-12-22) +## [0.1.75](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.74...@thi.ng/geom-subdiv-curve@0.1.75) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-subdiv-curve diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index 99c15c41bf..46be6c3ae3 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-subdiv-curve", - "version": "0.1.71", + "version": "0.1.75", "description": "Freely customizable, iterative nD subdivision curves for open / closed geometries", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index f470e046ef..bc5feac6e0 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.53...@thi.ng/geom-tessellate@0.2.54) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.52...@thi.ng/geom-tessellate@0.2.53) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.51...@thi.ng/geom-tessellate@0.2.52) (2020-12-22) +## [0.2.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.57...@thi.ng/geom-tessellate@0.2.58) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-tessellate diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index 6295c11da0..b5274e12cc 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-tessellate", - "version": "0.2.54", + "version": "0.2.58", "description": "2D/3D convex polygon tessellators", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-isec": "^0.7.9", + "@thi.ng/geom-poly-utils": "^0.3.6", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index 5537e051de..1f34540274 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.15...@thi.ng/geom-voronoi@0.2.16) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.14...@thi.ng/geom-voronoi@0.2.15) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.13...@thi.ng/geom-voronoi@0.2.14) (2020-12-22) +## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.19...@thi.ng/geom-voronoi@0.2.20) (2021-02-20) **Note:** Version bump only for package @thi.ng/geom-voronoi diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 11d94a35a4..da3c11cb2f 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-voronoi", - "version": "0.2.16", + "version": "0.2.20", "description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation", "module": "./index.js", "main": "./lib/index.js", @@ -42,22 +42,22 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-clip-line": "^1.2.16", - "@thi.ng/geom-clip-poly": "^1.0.41", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", - "@thi.ng/math": "^3.1.0", - "@thi.ng/quad-edge": "^0.2.28", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom-clip-line": "^1.2.20", + "@thi.ng/geom-clip-poly": "^1.0.45", + "@thi.ng/geom-isec": "^0.7.9", + "@thi.ng/geom-poly-utils": "^0.3.6", + "@thi.ng/math": "^3.2.0", + "@thi.ng/quad-edge": "^0.2.29", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 53de92597b..90eba0ed21 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,25 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.2...@thi.ng/geom@2.0.3) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.1...@thi.ng/geom@2.0.2) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/geom +# [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.6...@thi.ng/geom@2.1.0) (2021-02-20) +### Bug Fixes +* **geom:** fix regression/update buffer arg types ([9cf5e5d](https://github.com/thi-ng/umbrella/commit/9cf5e5d43d648eecfdcba861f44acc4d3e9fd17c)) -## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.0...@thi.ng/geom@2.0.1) (2021-01-02) +### Features -**Note:** Version bump only for package @thi.ng/geom +* **geom:** add tangentAt() support for cubic/quadratic ([4302f58](https://github.com/thi-ng/umbrella/commit/4302f58dd4d490fbb0b97754ae7d54f28a8fa269)) diff --git a/packages/geom/README.md b/packages/geom/README.md index a0cc06b08e..2a5de8fec9 100644 --- a/packages/geom/README.md +++ b/packages/geom/README.md @@ -75,7 +75,7 @@ yarn add @thi.ng/geom ``` -Package sizes (gzipped, pre-treeshake): ESM: 10.27 KB / CJS: 10.50 KB / UMD: 9.93 KB +Package sizes (gzipped, pre-treeshake): ESM: 10.30 KB / CJS: 10.52 KB / UMD: 9.95 KB ## Dependencies diff --git a/packages/geom/package.json b/packages/geom/package.json index 486b1062ae..67fee41803 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "2.0.3", + "version": "2.1.0", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -42,39 +42,39 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-arc": "^0.3.20", - "@thi.ng/geom-clip-line": "^1.2.16", - "@thi.ng/geom-clip-poly": "^1.0.41", - "@thi.ng/geom-closest-point": "^0.5.7", - "@thi.ng/geom-hull": "^0.0.73", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", - "@thi.ng/geom-resample": "^0.2.53", - "@thi.ng/geom-splines": "^0.5.40", - "@thi.ng/geom-subdiv-curve": "^0.1.71", - "@thi.ng/geom-tessellate": "^0.2.54", - "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/hiccup-svg": "^3.7.2", - "@thi.ng/math": "^3.1.0", - "@thi.ng/matrices": "^0.6.40", - "@thi.ng/random": "^2.1.5", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-arc": "^0.3.24", + "@thi.ng/geom-clip-line": "^1.2.20", + "@thi.ng/geom-clip-poly": "^1.0.45", + "@thi.ng/geom-closest-point": "^0.5.11", + "@thi.ng/geom-hull": "^0.0.77", + "@thi.ng/geom-isec": "^0.7.9", + "@thi.ng/geom-poly-utils": "^0.3.6", + "@thi.ng/geom-resample": "^0.2.57", + "@thi.ng/geom-splines": "^0.5.44", + "@thi.ng/geom-subdiv-curve": "^0.1.75", + "@thi.ng/geom-tessellate": "^0.2.58", + "@thi.ng/hiccup": "^3.6.8", + "@thi.ng/hiccup-svg": "^3.7.6", + "@thi.ng/math": "^3.2.0", + "@thi.ng/matrices": "^0.6.44", + "@thi.ng/random": "^2.3.0", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", @@ -102,6 +102,7 @@ "intersection", "polymorphic", "sample", + "scatter", "shape", "svg", "typescript" diff --git a/packages/geom/src/internal/collate.ts b/packages/geom/src/internal/collate.ts index 246f836351..3475fcc50a 100644 --- a/packages/geom/src/internal/collate.ts +++ b/packages/geom/src/internal/collate.ts @@ -1,14 +1,15 @@ -import type { StridedVec, Vec } from "@thi.ng/vectors"; +import type { NumericArray } from "@thi.ng/api"; +import type { StridedVec } from "@thi.ng/vectors"; export interface CollateOpts { - buf: Vec; + buf: NumericArray; start: number; cstride: number; estride: number; } export const remap = ( - buf: Vec, + buf: NumericArray, pts: StridedVec[], start: number, cstride: number, @@ -25,12 +26,12 @@ export const remap = ( export const collateWith = ( fn: ( - buf: Vec, + buf: NumericArray, src: Iterable>, start: number, cstride: number, estride: number - ) => Vec, + ) => NumericArray, pts: StridedVec[], opts: Partial, stride: number diff --git a/packages/geom/src/ops/tangent-at.ts b/packages/geom/src/ops/tangent-at.ts index 4cd60188b2..14765b846f 100644 --- a/packages/geom/src/ops/tangent-at.ts +++ b/packages/geom/src/ops/tangent-at.ts @@ -2,8 +2,10 @@ import type { IObjectOf } from "@thi.ng/api"; import { defmulti, Implementation2 } from "@thi.ng/defmulti"; import type { IShape, PCLike } from "@thi.ng/geom-api"; import { Sampler } from "@thi.ng/geom-resample"; +import { cubicTangentAt, quadraticTangentAt } from "@thi.ng/geom-splines"; import { cossin, HALF_PI, TAU } from "@thi.ng/math"; import { direction, Vec } from "@thi.ng/vectors"; +import type { Cubic } from "../api/cubic"; import type { Line } from "../api/line"; import type { Rect } from "../api/rect"; import { dispatch } from "../internal/dispatch"; @@ -14,12 +16,18 @@ export const tangentAt = defmulti(dispatch); tangentAt.addAll(>>{ circle: (_, t) => cossin(TAU * t + HALF_PI), + cubic: ({ points }: Cubic, t) => + cubicTangentAt([], points[0], points[1], points[2], points[3], t), + line: ({ points }: Line) => direction([], points[0], points[1]), poly: ($: PCLike, t) => new Sampler($.points, true).tangentAt(t), polyline: ($: PCLike, t) => new Sampler($.points).tangentAt(t), + quadratic: ({ points }: Cubic, t) => + quadraticTangentAt([], points[0], points[1], points[2], t), + rect: ($: Rect, t) => new Sampler(vertices($), true).tangentAt(t), }); diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index 21f80d8bf1..a009044935 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.1...@thi.ng/gp@0.2.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.0...@thi.ng/gp@0.2.1) (2021-01-02) +## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.5...@thi.ng/gp@0.2.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/gp diff --git a/packages/gp/package.json b/packages/gp/package.json index e82d48b763..96bce7c059 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/gp", - "version": "0.2.2", + "version": "0.2.6", "description": "Genetic programming helpers & strategies (tree based & multi-expression programming)", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/zipper": "^0.1.32" + "@thi.ng/api": "^7.0.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/zipper": "^0.1.36" }, "files": [ "*.js", diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index f5a70064d1..92f5eb4ebd 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.17...@thi.ng/grid-iterators@0.4.18) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.4.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.16...@thi.ng/grid-iterators@0.4.17) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.15...@thi.ng/grid-iterators@0.4.16) (2020-12-22) +## [0.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.21...@thi.ng/grid-iterators@0.4.22) (2021-02-20) **Note:** Version bump only for package @thi.ng/grid-iterators diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index 471ee16fee..16dcd6ad62 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/grid-iterators", - "version": "0.4.18", + "version": "0.4.22", "description": "2D grid iterators w/ multiple orderings", "module": "./index.js", "main": "./lib/index.js", @@ -43,18 +43,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/morton": "^2.0.31", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/morton": "^2.0.32", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/hdiff/CHANGELOG.md b/packages/hdiff/CHANGELOG.md index 602928fc70..88782eac54 100644 --- a/packages/hdiff/CHANGELOG.md +++ b/packages/hdiff/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.22...@thi.ng/hdiff@0.1.23) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.21...@thi.ng/hdiff@0.1.22) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.20...@thi.ng/hdiff@0.1.21) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.19...@thi.ng/hdiff@0.1.20) (2020-12-22) +## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.26...@thi.ng/hdiff@0.1.27) (2021-02-20) **Note:** Version bump only for package @thi.ng/hdiff diff --git a/packages/hdiff/package.json b/packages/hdiff/package.json index 5a1c4a16df..fc3ed88fc8 100644 --- a/packages/hdiff/package.json +++ b/packages/hdiff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdiff", - "version": "0.1.23", + "version": "0.1.27", "description": "String diffing w/ hiccup output for further processing, e.g. with @thi.ng/hdom, @thi.ng/hiccup. Includes CLI util to generate HTML, with theme support and code folding", "module": "./index.js", "main": "./lib/index.js", @@ -44,18 +44,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/diff": "^4.0.1", - "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/hiccup-css": "^1.1.45", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/diff": "^4.0.2", + "@thi.ng/hiccup": "^3.6.8", + "@thi.ng/hiccup-css": "^1.1.49", + "@thi.ng/strings": "^1.15.0" }, "files": [ "*.js", diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index c25b919822..234f910b01 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.26...@thi.ng/hdom-canvas@3.0.27) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.25...@thi.ng/hdom-canvas@3.0.26) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.24...@thi.ng/hdom-canvas@3.0.25) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.23...@thi.ng/hdom-canvas@3.0.24) (2020-12-22) +## [3.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.30...@thi.ng/hdom-canvas@3.0.31) (2021-02-20) **Note:** Version bump only for package @thi.ng/hdom-canvas diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 0e7229bf18..cf9172707c 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-canvas", - "version": "3.0.27", + "version": "3.0.31", "description": "@thi.ng/hdom component wrapper for declarative canvas scenegraphs", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/diff": "^4.0.1", - "@thi.ng/hdom": "^8.2.16", - "@thi.ng/hiccup-canvas": "^1.1.17" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/diff": "^4.0.2", + "@thi.ng/hdom": "^8.2.18", + "@thi.ng/hiccup-canvas": "^1.1.21" }, "files": [ "*.js", diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 9edbd60061..019bb02ea1 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.19...@thi.ng/hdom-components@4.0.20) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [4.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.18...@thi.ng/hdom-components@4.0.19) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [4.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.17...@thi.ng/hdom-components@4.0.18) (2020-12-22) +## [4.0.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.23...@thi.ng/hdom-components@4.0.24) (2021-02-20) **Note:** Version bump only for package @thi.ng/hdom-components diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 7e16994e01..66dc17cbbf 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-components", - "version": "4.0.20", + "version": "4.0.24", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.13", - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-stats": "^1.1.46" + "@thi.ng/adapt-dpi": "^1.0.14", + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/transducers-stats": "^1.1.50" }, "files": [ "*.js", diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index fca63a018a..befcf6d968 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.47...@thi.ng/hdom-mock@1.1.48) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.46...@thi.ng/hdom-mock@1.1.47) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.45...@thi.ng/hdom-mock@1.1.46) (2020-12-22) +## [1.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.49...@thi.ng/hdom-mock@1.1.50) (2021-02-20) **Note:** Version bump only for package @thi.ng/hdom-mock diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index 092295141d..92262610ab 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-mock", - "version": "1.1.48", + "version": "1.1.50", "description": "Mock base implementation for @thi.ng/hdom API", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/hdom": "^8.2.16" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/hdom": "^8.2.18" }, "files": [ "*.js", diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 94f9120584..1ec87d4944 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [8.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.15...@thi.ng/hdom@8.2.16) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.14...@thi.ng/hdom@8.2.15) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.13...@thi.ng/hdom@8.2.14) (2020-12-22) +## [8.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.17...@thi.ng/hdom@8.2.18) (2021-02-20) **Note:** Version bump only for package @thi.ng/hdom diff --git a/packages/hdom/package.json b/packages/hdom/package.json index bca94e5842..c5433291e8 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "8.2.16", + "version": "8.2.18", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "module": "./index.js", "main": "./lib/index.js", @@ -40,23 +40,23 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/atom": "^4.1.27", + "@thi.ng/atom": "^4.1.28", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/diff": "^4.0.1", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/prefixes": "^0.1.10" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/diff": "^4.0.2", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/hiccup": "^3.6.8", + "@thi.ng/prefixes": "^0.1.12" }, "files": [ "*.js", diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index e454a806f5..df527a9852 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.29...@thi.ng/heaps@1.2.30) (2021-01-02) +## [1.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.31...@thi.ng/heaps@1.2.32) (2021-02-20) **Note:** Version bump only for package @thi.ng/heaps @@ -11,9 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.28...@thi.ng/heaps@1.2.29) (2020-12-22) +## [1.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.30...@thi.ng/heaps@1.2.31) (2021-01-21) -**Note:** Version bump only for package @thi.ng/heaps + +### Bug Fixes + +* **heaps:** update pushPop() comparison ([f530236](https://github.com/thi-ng/umbrella/commit/f5302368a56435cda92bbdc205b9467acaf9c64b)) diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 967dcbe9be..72322b1b06 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/heaps", - "version": "1.2.30", + "version": "1.2.32", "description": "Various heap implementations for arbitrary values and with customizable ordering", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/compare": "^1.3.22" + "@thi.ng/api": "^7.0.0", + "@thi.ng/compare": "^1.3.23" }, "files": [ "*.js", diff --git a/packages/heaps/src/heap.ts b/packages/heaps/src/heap.ts index d75f320585..c9458ec55f 100644 --- a/packages/heaps/src/heap.ts +++ b/packages/heaps/src/heap.ts @@ -102,7 +102,7 @@ export class Heap pushPop(val: T, vals = this.values) { const head = vals[0]; - if (vals.length > 0 && this.compare(head, val) < 0) { + if (vals.length > 0 && this.compare(head, val) <= 0) { vals[0] = val; val = head; this.percolateDown(0, vals); diff --git a/packages/hex/CHANGELOG.md b/packages/hex/CHANGELOG.md index 31d11b6b9b..a37d00553c 100644 --- a/packages/hex/CHANGELOG.md +++ b/packages/hex/CHANGELOG.md @@ -3,17 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hex@0.1.2...@thi.ng/hex@0.1.3) (2021-01-02) +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hex@0.1.3...@thi.ng/hex@0.2.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/hex +### Features - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hex@0.1.1...@thi.ng/hex@0.1.2) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/hex +* **hex:** add uuid() ([c8417b4](https://github.com/thi-ng/umbrella/commit/c8417b4c2fe3eeb664b4131aabe592d612573703)) diff --git a/packages/hex/README.md b/packages/hex/README.md index baaea52505..9c5afd7825 100644 --- a/packages/hex/README.md +++ b/packages/hex/README.md @@ -41,7 +41,7 @@ yarn add @thi.ng/hex ``` -Package sizes (gzipped, pre-treeshake): ESM: 322 bytes / CJS: 428 bytes / UMD: 491 bytes +Package sizes (gzipped, pre-treeshake): ESM: 358 bytes / CJS: 469 bytes / UMD: 525 bytes ## Dependencies diff --git a/packages/hex/package.json b/packages/hex/package.json index 1e81596e18..ff4f7090c7 100644 --- a/packages/hex/package.json +++ b/packages/hex/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hex", - "version": "0.1.3", + "version": "0.2.0", "description": "Hex string formatters for 4/8/16/24/32/48/64bit words", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/hex/src/index.ts b/packages/hex/src/index.ts index da1ca73e74..44104c1168 100644 --- a/packages/hex/src/index.ts +++ b/packages/hex/src/index.ts @@ -182,3 +182,14 @@ export const U64BE = (x: ArrayLike, i: number) => */ export const U64LE = (x: ArrayLike, i: number) => U32LE(x, i + 4) + U32LE(x, i); + +/** + * Returns UUID formatted string of given byte array from optional start index + * `i` (default: 0). Array must have min. length 16 (starting from `i`). + * + * @param id - + * @param i - + */ +export const uuid = (id: ArrayLike, i = 0) => + // prettier-ignore + `${U32BE(id, i)}-${U16BE(id, i + 4)}-${U16BE(id, i + 6)}-${U16BE(id, i + 8)}-${U48BE(id, i + 10)}`; diff --git a/packages/hiccup-canvas/CHANGELOG.md b/packages/hiccup-canvas/CHANGELOG.md index 9a4dec5d84..82c36cc599 100644 --- a/packages/hiccup-canvas/CHANGELOG.md +++ b/packages/hiccup-canvas/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.16...@thi.ng/hiccup-canvas@1.1.17) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.15...@thi.ng/hiccup-canvas@1.1.16) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.14...@thi.ng/hiccup-canvas@1.1.15) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - - - -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.13...@thi.ng/hiccup-canvas@1.1.14) (2020-12-22) +## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.20...@thi.ng/hiccup-canvas@1.1.21) (2021-02-20) **Note:** Version bump only for package @thi.ng/hiccup-canvas diff --git a/packages/hiccup-canvas/README.md b/packages/hiccup-canvas/README.md index f8847ce2c9..db0db73468 100644 --- a/packages/hiccup-canvas/README.md +++ b/packages/hiccup-canvas/README.md @@ -86,7 +86,7 @@ yarn add @thi.ng/hiccup-canvas ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.55 KB / CJS: 2.67 KB / UMD: 2.67 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.53 KB / CJS: 2.65 KB / UMD: 2.65 KB ## Dependencies diff --git a/packages/hiccup-canvas/package.json b/packages/hiccup-canvas/package.json index c377aa8778..98a519ec16 100644 --- a/packages/hiccup-canvas/package.json +++ b/packages/hiccup-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-canvas", - "version": "1.1.17", + "version": "1.1.21", "description": "Hiccup shape tree renderer for vanilla Canvas 2D contexts", "module": "./index.js", "main": "./lib/index.js", @@ -41,18 +41,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/color": "^2.1.2", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/color": "^3.0.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/hiccup-canvas/src/color.ts b/packages/hiccup-canvas/src/color.ts index 118b75f655..26dc6b352f 100644 --- a/packages/hiccup-canvas/src/color.ts +++ b/packages/hiccup-canvas/src/color.ts @@ -1,15 +1,15 @@ import { isString } from "@thi.ng/checks"; -import { resolveAsCSS } from "@thi.ng/color"; +import { css } from "@thi.ng/color"; import type { DrawState } from "./api"; -export const resolveColor = (v: any) => (isString(v) ? v : resolveAsCSS(v)); +export const resolveColor = css; export const resolveGradientOrColor = (state: DrawState, v: any) => isString(v) ? v[0] === "$" ? state.grads![v.substr(1)] : v - : resolveAsCSS(v); + : resolveColor(v); export const defLinearGradient = ( ctx: CanvasRenderingContext2D, diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index 671b98f7e4..a19ad7cc74 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,25 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.9...@thi.ng/hiccup-carbon-icons@2.0.10) (2021-01-10) +## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.10...@thi.ng/hiccup-carbon-icons@2.0.11) (2021-02-20) -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons +### Performance Improvements - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.8...@thi.ng/hiccup-carbon-icons@2.0.9) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.7...@thi.ng/hiccup-carbon-icons@2.0.8) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons +* **hiccup-carbon-icons:** extract SVG root into shared fn ([760ea9f](https://github.com/thi-ng/umbrella/commit/760ea9f964b3098d75cad1a5ca006ae7404df603)) diff --git a/packages/hiccup-carbon-icons/README.md b/packages/hiccup-carbon-icons/README.md index c62e4fa190..6f8393c8f4 100644 --- a/packages/hiccup-carbon-icons/README.md +++ b/packages/hiccup-carbon-icons/README.md @@ -59,7 +59,7 @@ yarn add @thi.ng/hiccup-carbon-icons ``` -Package sizes (gzipped, pre-treeshake): ESM: 100.29 KB / CJS: 103.47 KB / UMD: 96.35 KB +Package sizes (gzipped, pre-treeshake): ESM: 99.12 KB / CJS: 102.27 KB / UMD: 96.97 KB ## Dependencies diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 3a9c81b63f..4f8885bbff 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-carbon-icons", - "version": "2.0.10", + "version": "2.0.11", "description": "Full set of IBM's Carbon icons in hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/hiccup": "^3.6.7", + "@thi.ng/hiccup": "^3.6.8", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/hiccup-carbon-icons/src/_svg.ts b/packages/hiccup-carbon-icons/src/_svg.ts new file mode 100644 index 0000000000..708eee9965 --- /dev/null +++ b/packages/hiccup-carbon-icons/src/_svg.ts @@ -0,0 +1,5 @@ +export const svg = (...body: any[]) => [ + "svg", + { viewBox: "0 0 32 32" }, + ...body, +]; diff --git a/packages/hiccup-carbon-icons/src/accessibility-alt.ts b/packages/hiccup-carbon-icons/src/accessibility-alt.ts index 747f51f613..cf3f91801f 100644 --- a/packages/hiccup-carbon-icons/src/accessibility-alt.ts +++ b/packages/hiccup-carbon-icons/src/accessibility-alt.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ACCESSIBILITY_ALT */ // prettier-ignore -export const ACCESSIBILITY_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 14v-2H9v2h5v2.734l-3.868 6.77 1.736.992L15.58 18h.84l3.712 6.496 1.736-.992L18 16.734V14h5z" }], - ["circle", - { - r: 2, - cy: 9, - cx: 16, - }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const ACCESSIBILITY_ALT = svg( + ["path", { d: "M23 14v-2H9v2h5v2.734l-3.868 6.77 1.736.992L15.58 18h.84l3.712 6.496 1.736-.992L18 16.734V14h5z" }], + ["circle", + { + r: 2, + cy: 9, + cx: 16, + }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/accessibility-color-filled.ts b/packages/hiccup-carbon-icons/src/accessibility-color-filled.ts index 254f7c83e5..eae114fd54 100644 --- a/packages/hiccup-carbon-icons/src/accessibility-color-filled.ts +++ b/packages/hiccup-carbon-icons/src/accessibility-color-filled.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ACCESSIBILITY_COLOR_FILLED */ // prettier-ignore -export const ACCESSIBILITY_COLOR_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 10a8.598 8.598 0 00-7.965 6A8.598 8.598 0 0016 22a8.598 8.598 0 007.965-6A8.598 8.598 0 0016 10zm0 10a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 22a10.654 10.654 0 01-9.97-7.758L5.97 16l.06-.242A10.654 10.654 0 0116 8a10.654 10.654 0 019.97 7.758l.06.242-.06.242A10.654 10.654 0 0116 24z" }], - ["path", { d: "M16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }]]; +export const ACCESSIBILITY_COLOR_FILLED = svg( + ["path", { d: "M16 10a8.598 8.598 0 00-7.965 6A8.598 8.598 0 0016 22a8.598 8.598 0 007.965-6A8.598 8.598 0 0016 10zm0 10a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 22a10.654 10.654 0 01-9.97-7.758L5.97 16l.06-.242A10.654 10.654 0 0116 8a10.654 10.654 0 019.97 7.758l.06.242-.06.242A10.654 10.654 0 0116 24z" }], + ["path", { d: "M16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/accessibility-color.ts b/packages/hiccup-carbon-icons/src/accessibility-color.ts index 5374f8ed8f..514552771c 100644 --- a/packages/hiccup-carbon-icons/src/accessibility-color.ts +++ b/packages/hiccup-carbon-icons/src/accessibility-color.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ACCESSIBILITY_COLOR */ // prettier-ignore -export const ACCESSIBILITY_COLOR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], - ["path", { d: "M16 24a10.655 10.655 0 01-9.97-7.758L5.97 16l.06-.242A10.655 10.655 0 0116 8a10.655 10.655 0 019.97 7.758l.06.242-.06.242A10.655 10.655 0 0116 24zm-7.965-8A8.598 8.598 0 0016 22a8.598 8.598 0 007.965-6A8.598 8.598 0 0016 10a8.598 8.598 0 00-7.965 6z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const ACCESSIBILITY_COLOR = svg( + ["path", { d: "M16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], + ["path", { d: "M16 24a10.655 10.655 0 01-9.97-7.758L5.97 16l.06-.242A10.655 10.655 0 0116 8a10.655 10.655 0 019.97 7.758l.06.242-.06.242A10.655 10.655 0 0116 24zm-7.965-8A8.598 8.598 0 0016 22a8.598 8.598 0 007.965-6A8.598 8.598 0 0016 10a8.598 8.598 0 00-7.965 6z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/accessibility.ts b/packages/hiccup-carbon-icons/src/accessibility.ts index 009d776edb..5c1358972b 100644 --- a/packages/hiccup-carbon-icons/src/accessibility.ts +++ b/packages/hiccup-carbon-icons/src/accessibility.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ACCESSIBILITY */ // prettier-ignore -export const ACCESSIBILITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.55 26.11l-3.05 1.52L23.66 21H15a2 2 0 01-2-2v-6a2 2 0 014 0v4h7v-2h-5v-2a4 4 0 00-8 0v1a9 9 0 108.77 11h-2.06A7 7 0 1111 16v3a4 4 0 004 4h7.34l3.16 7.37 4.95-2.48zM15.5 8A3.5 3.5 0 1119 4.5 3.5 3.5 0 0115.5 8zm0-5A1.5 1.5 0 1017 4.5 1.5 1.5 0 0015.5 3z" }]]; +export const ACCESSIBILITY = svg( + ["path", { d: "M29.55 26.11l-3.05 1.52L23.66 21H15a2 2 0 01-2-2v-6a2 2 0 014 0v4h7v-2h-5v-2a4 4 0 00-8 0v1a9 9 0 108.77 11h-2.06A7 7 0 1111 16v3a4 4 0 004 4h7.34l3.16 7.37 4.95-2.48zM15.5 8A3.5 3.5 0 1119 4.5 3.5 3.5 0 0115.5 8zm0-5A1.5 1.5 0 1017 4.5 1.5 1.5 0 0015.5 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/account.ts b/packages/hiccup-carbon-icons/src/account.ts index be0a27475e..322b3358f2 100644 --- a/packages/hiccup-carbon-icons/src/account.ts +++ b/packages/hiccup-carbon-icons/src/account.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ACCOUNT */ // prettier-ignore -export const ACCOUNT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 14h11v2H8zm0 5h13v2H8z" }], - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v2H4V6zM4 26V10h24v16z" }]]; +export const ACCOUNT = svg( + ["path", { d: "M8 14h11v2H8zm0 5h13v2H8z" }], + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v2H4V6zM4 26V10h24v16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/activity.ts b/packages/hiccup-carbon-icons/src/activity.ts index 3e50d0afb2..68710a3353 100644 --- a/packages/hiccup-carbon-icons/src/activity.ts +++ b/packages/hiccup-carbon-icons/src/activity.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ACTIVITY */ // prettier-ignore -export const ACTIVITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 29a1 1 0 01-.92-.62L6.33 17H2v-2h5a1 1 0 01.92.62L12 25.28l8.06-21.63A1 1 0 0121 3a1 1 0 01.93.68L25.72 15H30v2h-5a1 1 0 01-.95-.68L21 7l-8.06 21.35A1 1 0 0112 29z" }]]; +export const ACTIVITY = svg( + ["path", { d: "M12 29a1 1 0 01-.92-.62L6.33 17H2v-2h5a1 1 0 01.92.62L12 25.28l8.06-21.63A1 1 0 0121 3a1 1 0 01.93.68L25.72 15H30v2h-5a1 1 0 01-.95-.68L21 7l-8.06 21.35A1 1 0 0112 29z" }] +); diff --git a/packages/hiccup-carbon-icons/src/add-alt.ts b/packages/hiccup-carbon-icons/src/add-alt.ts index 1d818381d3..2ecf4977f4 100644 --- a/packages/hiccup-carbon-icons/src/add-alt.ts +++ b/packages/hiccup-carbon-icons/src/add-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ADD_ALT */ // prettier-ignore -export const ADD_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4c6.6 0 12 5.4 12 12s-5.4 12-12 12S4 22.6 4 16 9.4 4 16 4m0-2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2z" }], - ["path", { d: "M24 15h-7V8h-2v7H8v2h7v7h2v-7h7z" }]]; +export const ADD_ALT = svg( + ["path", { d: "M16 4c6.6 0 12 5.4 12 12s-5.4 12-12 12S4 22.6 4 16 9.4 4 16 4m0-2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2z" }], + ["path", { d: "M24 15h-7V8h-2v7H8v2h7v7h2v-7h7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/add-comment.ts b/packages/hiccup-carbon-icons/src/add-comment.ts index 70f1812faa..d3258def57 100644 --- a/packages/hiccup-carbon-icons/src/add-comment.ts +++ b/packages/hiccup-carbon-icons/src/add-comment.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ADD_COMMENT */ // prettier-ignore -export const ADD_COMMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17.74 30L16 29l4-7h6a2 2 0 002-2V8a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2h9v2H6a4 4 0 01-4-4V8a4 4 0 014-4h20a4 4 0 014 4v12a4 4 0 01-4 4h-4.84z" }], - ["path", { d: "M17 9h-2v4h-4v2h4v4h2v-4h4v-2h-4V9z" }]]; +export const ADD_COMMENT = svg( + ["path", { d: "M17.74 30L16 29l4-7h6a2 2 0 002-2V8a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2h9v2H6a4 4 0 01-4-4V8a4 4 0 014-4h20a4 4 0 014 4v12a4 4 0 01-4 4h-4.84z" }], + ["path", { d: "M17 9h-2v4h-4v2h4v4h2v-4h4v-2h-4V9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/add-filled.ts b/packages/hiccup-carbon-icons/src/add-filled.ts index 1aaba57db0..ac262bb084 100644 --- a/packages/hiccup-carbon-icons/src/add-filled.ts +++ b/packages/hiccup-carbon-icons/src/add-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ADD_FILLED */ // prettier-ignore -export const ADD_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.4 2 2 8.4 2 16s6.4 14 14 14 14-6.4 14-14S23.6 2 16 2zm8 15h-7v7h-2v-7H8v-2h7V8h2v7h7v2z" }]]; +export const ADD_FILLED = svg( + ["path", { d: "M16 2C8.4 2 2 8.4 2 16s6.4 14 14 14 14-6.4 14-14S23.6 2 16 2zm8 15h-7v7h-2v-7H8v-2h7V8h2v7h7v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/add.ts b/packages/hiccup-carbon-icons/src/add.ts index 1182da30bc..386cc908a1 100644 --- a/packages/hiccup-carbon-icons/src/add.ts +++ b/packages/hiccup-carbon-icons/src/add.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ADD */ // prettier-ignore -export const ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 15V8h-2v7H8v2h7v7h2v-7h7v-2z" }]]; +export const ADD = svg( + ["path", { d: "M17 15V8h-2v7H8v2h7v7h2v-7h7v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/alarm-add.ts b/packages/hiccup-carbon-icons/src/alarm-add.ts index 1554dd0ef0..39ced9fa96 100644 --- a/packages/hiccup-carbon-icons/src/alarm-add.ts +++ b/packages/hiccup-carbon-icons/src/alarm-add.ts @@ -1,18 +1,20 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALARM_ADD */ // prettier-ignore -export const ALARM_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 28a11 11 0 1111-11 11 11 0 01-11 11zm0-20a9 9 0 109 9 9 9 0 00-9-9z" }], - ["path", - { - d: "M3.96 5.5h5.07v2H3.96z", - transform: "rotate(-45.06 6.502 6.497)", - }], - ["path", - { - d: "M24.5 3.96h2v5.07h-2z", - transform: "rotate(-44.94 25.5 6.498)", - }], - ["path", { d: "M21 16h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2z" }]]; +export const ALARM_ADD = svg( + ["path", { d: "M16 28a11 11 0 1111-11 11 11 0 01-11 11zm0-20a9 9 0 109 9 9 9 0 00-9-9z" }], + ["path", + { + d: "M3.96 5.5h5.07v2H3.96z", + transform: "rotate(-45.06 6.502 6.497)", + }], + ["path", + { + d: "M24.5 3.96h2v5.07h-2z", + transform: "rotate(-44.94 25.5 6.498)", + }], + ["path", { d: "M21 16h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/alarm-subtract.ts b/packages/hiccup-carbon-icons/src/alarm-subtract.ts index 268d49e27e..533d6c9487 100644 --- a/packages/hiccup-carbon-icons/src/alarm-subtract.ts +++ b/packages/hiccup-carbon-icons/src/alarm-subtract.ts @@ -1,18 +1,20 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALARM_SUBTRACT */ // prettier-ignore -export const ALARM_SUBTRACT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 28a11 11 0 1111-11 11 11 0 01-11 11zm0-20a9 9 0 109 9 9 9 0 00-9-9z" }], - ["path", - { - d: "M3.96 5.5h5.07v2H3.96z", - transform: "rotate(-45.06 6.502 6.497)", - }], - ["path", - { - d: "M24.5 3.96h2v5.07h-2z", - transform: "rotate(-44.94 25.5 6.498)", - }], - ["path", { d: "M11 16h10v2H11z" }]]; +export const ALARM_SUBTRACT = svg( + ["path", { d: "M16 28a11 11 0 1111-11 11 11 0 01-11 11zm0-20a9 9 0 109 9 9 9 0 00-9-9z" }], + ["path", + { + d: "M3.96 5.5h5.07v2H3.96z", + transform: "rotate(-45.06 6.502 6.497)", + }], + ["path", + { + d: "M24.5 3.96h2v5.07h-2z", + transform: "rotate(-44.94 25.5 6.498)", + }], + ["path", { d: "M11 16h10v2H11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/alarm.ts b/packages/hiccup-carbon-icons/src/alarm.ts index 154befa28e..9215c50224 100644 --- a/packages/hiccup-carbon-icons/src/alarm.ts +++ b/packages/hiccup-carbon-icons/src/alarm.ts @@ -1,18 +1,20 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALARM */ // prettier-ignore -export const ALARM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 28a11 11 0 1111-11 11 11 0 01-11 11zm0-20a9 9 0 109 9 9 9 0 00-9-9z" }], - ["path", { d: "M18.59 21L15 17.41V11h2v5.58l3 3.01L18.59 21z" }], - ["path", - { - d: "M3.96 5.5h5.07v2H3.96z", - transform: "rotate(-45.06 6.502 6.497)", - }], - ["path", - { - d: "M24.5 3.96h2v5.07h-2z", - transform: "rotate(-44.94 25.5 6.498)", - }]]; +export const ALARM = svg( + ["path", { d: "M16 28a11 11 0 1111-11 11 11 0 01-11 11zm0-20a9 9 0 109 9 9 9 0 00-9-9z" }], + ["path", { d: "M18.59 21L15 17.41V11h2v5.58l3 3.01L18.59 21z" }], + ["path", + { + d: "M3.96 5.5h5.07v2H3.96z", + transform: "rotate(-45.06 6.502 6.497)", + }], + ["path", + { + d: "M24.5 3.96h2v5.07h-2z", + transform: "rotate(-44.94 25.5 6.498)", + }] +); diff --git a/packages/hiccup-carbon-icons/src/align-horizontal-center.ts b/packages/hiccup-carbon-icons/src/align-horizontal-center.ts index 96ccce9d69..844dfeb88b 100644 --- a/packages/hiccup-carbon-icons/src/align-horizontal-center.ts +++ b/packages/hiccup-carbon-icons/src/align-horizontal-center.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALIGN_HORIZONTAL_CENTER */ // prettier-ignore -export const ALIGN_HORIZONTAL_CENTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 18h-7v-4h3a2.002 2.002 0 002-2V8a2.002 2.002 0 00-2-2h-3V2h-2v4h-3a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2h3v4H8a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2h7v4h2v-4h7a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zM12 8h8v4h-8zm12 16H8v-4h16z" }]]; +export const ALIGN_HORIZONTAL_CENTER = svg( + ["path", { d: "M24 18h-7v-4h3a2.002 2.002 0 002-2V8a2.002 2.002 0 00-2-2h-3V2h-2v4h-3a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2h3v4H8a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2h7v4h2v-4h7a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zM12 8h8v4h-8zm12 16H8v-4h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/align-horizontal-left.ts b/packages/hiccup-carbon-icons/src/align-horizontal-left.ts index 128ca669dc..013cf02cbe 100644 --- a/packages/hiccup-carbon-icons/src/align-horizontal-left.ts +++ b/packages/hiccup-carbon-icons/src/align-horizontal-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALIGN_HORIZONTAL_LEFT */ // prettier-ignore -export const ALIGN_HORIZONTAL_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 26H11a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h15a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L11 20v4h15zM18 14h-7a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h7a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L11 8v4h7zM4 2h2v28H4z" }]]; +export const ALIGN_HORIZONTAL_LEFT = svg( + ["path", { d: "M26 26H11a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h15a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L11 20v4h15zM18 14h-7a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h7a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L11 8v4h7zM4 2h2v28H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/align-horizontal-right.ts b/packages/hiccup-carbon-icons/src/align-horizontal-right.ts index 575d01a036..1a0c80a248 100644 --- a/packages/hiccup-carbon-icons/src/align-horizontal-right.ts +++ b/packages/hiccup-carbon-icons/src/align-horizontal-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALIGN_HORIZONTAL_RIGHT */ // prettier-ignore -export const ALIGN_HORIZONTAL_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 24v-4a2.002 2.002 0 012-2h15a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2H6a2.002 2.002 0 01-2-2zm2 0h15v-4l-15-.001zM12 12V8a2.002 2.002 0 012-2h7a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2h-7a2.002 2.002 0 01-2-2zm2 0h7V8l-7-.001zM28 30h-2V2h2z" }]]; +export const ALIGN_HORIZONTAL_RIGHT = svg( + ["path", { d: "M4 24v-4a2.002 2.002 0 012-2h15a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2H6a2.002 2.002 0 01-2-2zm2 0h15v-4l-15-.001zM12 12V8a2.002 2.002 0 012-2h7a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2h-7a2.002 2.002 0 01-2-2zm2 0h7V8l-7-.001zM28 30h-2V2h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/align-vertical-bottom.ts b/packages/hiccup-carbon-icons/src/align-vertical-bottom.ts index aed141f500..f5eb669349 100644 --- a/packages/hiccup-carbon-icons/src/align-vertical-bottom.ts +++ b/packages/hiccup-carbon-icons/src/align-vertical-bottom.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALIGN_VERTICAL_BOTTOM */ // prettier-ignore -export const ALIGN_VERTICAL_BOTTOM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 26h28v2H2zM24 23h-4a2.002 2.002 0 01-2-2v-7a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2zm-4-9v7h4.001L24 14zM12 23H8a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v15a2.002 2.002 0 01-2 2zM8 6v15h4.001L12 6z" }]]; +export const ALIGN_VERTICAL_BOTTOM = svg( + ["path", { d: "M2 26h28v2H2zM24 23h-4a2.002 2.002 0 01-2-2v-7a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2zm-4-9v7h4.001L24 14zM12 23H8a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v15a2.002 2.002 0 01-2 2zM8 6v15h4.001L12 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/align-vertical-center.ts b/packages/hiccup-carbon-icons/src/align-vertical-center.ts index f50604fab4..d9f3d8a4fb 100644 --- a/packages/hiccup-carbon-icons/src/align-vertical-center.ts +++ b/packages/hiccup-carbon-icons/src/align-vertical-center.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALIGN_VERTICAL_CENTER */ // prettier-ignore -export const ALIGN_VERTICAL_CENTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 15h-4v-3a2.002 2.002 0 00-2-2h-4a2.002 2.002 0 00-2 2v3h-4V8a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v7H2v2h4v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-7h4v3a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-3h4zM8 24V8h4l.001 16zm12-4v-8h4l.001 8z" }]]; +export const ALIGN_VERTICAL_CENTER = svg( + ["path", { d: "M30 15h-4v-3a2.002 2.002 0 00-2-2h-4a2.002 2.002 0 00-2 2v3h-4V8a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v7H2v2h4v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-7h4v3a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-3h4zM8 24V8h4l.001 16zm12-4v-8h4l.001 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/align-vertical-top.ts b/packages/hiccup-carbon-icons/src/align-vertical-top.ts index 2c9e229b4f..4978eb0b37 100644 --- a/packages/hiccup-carbon-icons/src/align-vertical-top.ts +++ b/packages/hiccup-carbon-icons/src/align-vertical-top.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ALIGN_VERTICAL_TOP */ // prettier-ignore -export const ALIGN_VERTICAL_TOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 20h-4a2.002 2.002 0 01-2-2v-7a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2zm-4-9v7h4.001L24 11zM12 28H8a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v15a2.002 2.002 0 01-2 2zM8 11v15h4.001L12 11zM2 4h28v2H2z" }]]; +export const ALIGN_VERTICAL_TOP = svg( + ["path", { d: "M24 20h-4a2.002 2.002 0 01-2-2v-7a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2zm-4-9v7h4.001L24 11zM12 28H8a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v15a2.002 2.002 0 01-2 2zM8 11v15h4.001L12 11zM2 4h28v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/analytics-reference.ts b/packages/hiccup-carbon-icons/src/analytics-reference.ts index fb48672427..8884158be6 100644 --- a/packages/hiccup-carbon-icons/src/analytics-reference.ts +++ b/packages/hiccup-carbon-icons/src/analytics-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ANALYTICS_REFERENCE */ // prettier-ignore -export const ANALYTICS_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM30 4h-7v2h3.586L19 13.586l-4.293-4.293a1 1 0 00-1.414 0L8 14.586 9.414 16 14 11.414l4.293 4.293a1 1 0 001.414 0L28 7.414V11h2zM16 28h14v2H16zM2 2h2v14H2z" }]]; +export const ANALYTICS_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM30 4h-7v2h3.586L19 13.586l-4.293-4.293a1 1 0 00-1.414 0L8 14.586 9.414 16 14 11.414l4.293 4.293a1 1 0 001.414 0L28 7.414V11h2zM16 28h14v2H16zM2 2h2v14H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/analytics.ts b/packages/hiccup-carbon-icons/src/analytics.ts index f589141b6a..4e09cbdae2 100644 --- a/packages/hiccup-carbon-icons/src/analytics.ts +++ b/packages/hiccup-carbon-icons/src/analytics.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ANALYTICS */ // prettier-ignore -export const ANALYTICS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 2H2v26a2 2 0 002 2h26v-2H4z" }], - ["path", { d: "M30 9h-7v2h3.59L19 18.59l-4.29-4.3a1 1 0 00-1.42 0L6 21.59 7.41 23 14 16.41l4.29 4.3a1 1 0 001.42 0l8.29-8.3V16h2z" }]]; +export const ANALYTICS = svg( + ["path", { d: "M4 2H2v26a2 2 0 002 2h26v-2H4z" }], + ["path", { d: "M30 9h-7v2h3.59L19 18.59l-4.29-4.3a1 1 0 00-1.42 0L6 21.59 7.41 23 14 16.41l4.29 4.3a1 1 0 001.42 0l8.29-8.3V16h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/aperture.ts b/packages/hiccup-carbon-icons/src/aperture.ts index 38c505b9ac..a9b8d002bb 100644 --- a/packages/hiccup-carbon-icons/src/aperture.ts +++ b/packages/hiccup-carbon-icons/src/aperture.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#APERTURE */ // prettier-ignore -export const APERTURE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm11.84 12.14L22 17.52V5.62a12 12 0 015.84 8.52zM12 18.68v-5.36L16 11l4 2.31v5.36L16 21zm8-14V11l-9.66-5.58A11.9 11.9 0 0120 4.7zm-11.52 2L14 9.85 4 15.62a12 12 0 014.48-8.96zM4.16 17.85L10 14.47v11.91a12 12 0 01-5.84-8.53zM12 27.3V21l9.67 5.58A11.92 11.92 0 0116 28a12.05 12.05 0 01-4-.7zm11.52-2L18 22.14l10-5.77a12 12 0 01-4.48 8.97z" }]]; +export const APERTURE = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm11.84 12.14L22 17.52V5.62a12 12 0 015.84 8.52zM12 18.68v-5.36L16 11l4 2.31v5.36L16 21zm8-14V11l-9.66-5.58A11.9 11.9 0 0120 4.7zm-11.52 2L14 9.85 4 15.62a12 12 0 014.48-8.96zM4.16 17.85L10 14.47v11.91a12 12 0 01-5.84-8.53zM12 27.3V21l9.67 5.58A11.92 11.92 0 0116 28a12.05 12.05 0 01-4-.7zm11.52-2L18 22.14l10-5.77a12 12 0 01-4.48 8.97z" }] +); diff --git a/packages/hiccup-carbon-icons/src/api-1.ts b/packages/hiccup-carbon-icons/src/api-1.ts index 68a2d911c7..d1eeb9bc70 100644 --- a/packages/hiccup-carbon-icons/src/api-1.ts +++ b/packages/hiccup-carbon-icons/src/api-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#API_1 */ // prettier-ignore -export const API_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 9H4a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5zM22 11h3v10h-3v2h8v-2h-3V11h3V9h-8v2zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4z" }]]; +export const API_1 = svg( + ["path", { d: "M8 9H4a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5zM22 11h3v10h-3v2h8v-2h-3V11h3V9h-8v2zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/api.ts b/packages/hiccup-carbon-icons/src/api.ts index 92d842c5ef..24b7b2f736 100644 --- a/packages/hiccup-carbon-icons/src/api.ts +++ b/packages/hiccup-carbon-icons/src/api.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#API */ // prettier-ignore -export const API: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 22a3.86 3.86 0 00-2 .57l-3.09-3.1a6 6 0 000-6.94L24 9.43a3.86 3.86 0 002 .57 4 4 0 10-4-4 3.86 3.86 0 00.57 2l-3.1 3.09a6 6 0 00-6.94 0L9.43 8A3.86 3.86 0 0010 6a4 4 0 10-4 4 3.86 3.86 0 002-.57l3.09 3.1a6 6 0 000 6.94L8 22.57A3.86 3.86 0 006 22a4 4 0 104 4 3.86 3.86 0 00-.57-2l3.1-3.09a6 6 0 006.94 0l3.1 3.09a3.86 3.86 0 00-.57 2 4 4 0 104-4zm0-18a2 2 0 11-2 2 2 2 0 012-2zM4 6a2 2 0 112 2 2 2 0 01-2-2zm2 22a2 2 0 112-2 2 2 0 01-2 2zm10-8a4 4 0 114-4 4 4 0 01-4 4zm10 8a2 2 0 112-2 2 2 0 01-2 2z" }]]; +export const API = svg( + ["path", { d: "M26 22a3.86 3.86 0 00-2 .57l-3.09-3.1a6 6 0 000-6.94L24 9.43a3.86 3.86 0 002 .57 4 4 0 10-4-4 3.86 3.86 0 00.57 2l-3.1 3.09a6 6 0 00-6.94 0L9.43 8A3.86 3.86 0 0010 6a4 4 0 10-4 4 3.86 3.86 0 002-.57l3.09 3.1a6 6 0 000 6.94L8 22.57A3.86 3.86 0 006 22a4 4 0 104 4 3.86 3.86 0 00-.57-2l3.1-3.09a6 6 0 006.94 0l3.1 3.09a3.86 3.86 0 00-.57 2 4 4 0 104-4zm0-18a2 2 0 11-2 2 2 2 0 012-2zM4 6a2 2 0 112 2 2 2 0 01-2-2zm2 22a2 2 0 112-2 2 2 0 01-2 2zm10-8a4 4 0 114-4 4 4 0 01-4 4zm10 8a2 2 0 112-2 2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/app-connectivity.ts b/packages/hiccup-carbon-icons/src/app-connectivity.ts index 002eefeb36..b9d7f0559a 100644 --- a/packages/hiccup-carbon-icons/src/app-connectivity.ts +++ b/packages/hiccup-carbon-icons/src/app-connectivity.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#APP_CONNECTIVITY */ // prettier-ignore -export const APP_CONNECTIVITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 14h8a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2H9a2.002 2.002 0 00-2 2v4H4a2.002 2.002 0 00-2 2v8a2.002 2.002 0 002 2h2v4a2.002 2.002 0 002 2h10a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2v-8a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2v6H8v-4h4a2.002 2.002 0 002-2v-8a2.002 2.002 0 00-2-2H9V6h9v6a2.002 2.002 0 002 2zm0 14v-4h8v4zm8-8v2h-8v-2zM4 20v-4h8v4zm8-6H4v-2h8zm8-2V8h8v4zm8-8v2h-8V4z" }]]; +export const APP_CONNECTIVITY = svg( + ["path", { d: "M20 14h8a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2H9a2.002 2.002 0 00-2 2v4H4a2.002 2.002 0 00-2 2v8a2.002 2.002 0 002 2h2v4a2.002 2.002 0 002 2h10a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2v-8a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2v6H8v-4h4a2.002 2.002 0 002-2v-8a2.002 2.002 0 00-2-2H9V6h9v6a2.002 2.002 0 002 2zm0 14v-4h8v4zm8-8v2h-8v-2zM4 20v-4h8v4zm8-6H4v-2h8zm8-2V8h8v4zm8-8v2h-8V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/app-switcher.ts b/packages/hiccup-carbon-icons/src/app-switcher.ts index 6274c0df50..cd846272c6 100644 --- a/packages/hiccup-carbon-icons/src/app-switcher.ts +++ b/packages/hiccup-carbon-icons/src/app-switcher.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#APP_SWITCHER */ // prettier-ignore -export const APP_SWITCHER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 4h4v4h-4zM4 4h4v4H4zM24 4h4v4h-4zM14 14h4v4h-4zM4 14h4v4H4zM24 14h4v4h-4zM14 24h4v4h-4zM4 24h4v4H4zM24 24h4v4h-4z" }]]; +export const APP_SWITCHER = svg( + ["path", { d: "M14 4h4v4h-4zM4 4h4v4H4zM24 4h4v4h-4zM14 14h4v4h-4zM4 14h4v4H4zM24 14h4v4h-4zM14 24h4v4h-4zM4 24h4v4H4zM24 24h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/app.ts b/packages/hiccup-carbon-icons/src/app.ts index dab2c0593a..0f2472d841 100644 --- a/packages/hiccup-carbon-icons/src/app.ts +++ b/packages/hiccup-carbon-icons/src/app.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#APP */ // prettier-ignore -export const APP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 10h-6v14h2v-4h4a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM18 10h-6v14h2v-4h4a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM8 10H3v2h5v2H4a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2.002 2.002 0 00-2-2zm0 8H4v-2h4z" }]]; +export const APP = svg( + ["path", { d: "M28 10h-6v14h2v-4h4a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM18 10h-6v14h2v-4h4a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM8 10H3v2h5v2H4a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2.002 2.002 0 00-2-2zm0 8H4v-2h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/apple.ts b/packages/hiccup-carbon-icons/src/apple.ts index ca006de3b7..0f1d9bd602 100644 --- a/packages/hiccup-carbon-icons/src/apple.ts +++ b/packages/hiccup-carbon-icons/src/apple.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#APPLE */ // prettier-ignore -export const APPLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21.779 8a11.484 11.484 0 00-3.055.534 14.566 14.566 0 01-1.822.413A6.005 6.005 0 0011 4v2a3.993 3.993 0 013.827 2.9 20.115 20.115 0 01-1.617-.365A12.89 12.89 0 0010.032 8C6.31 8 4 11.065 4 16c0 7.51 4.068 11.999 8 12h.002a7.158 7.158 0 002.49-.59A5.013 5.013 0 0116 27a5.027 5.027 0 011.511.41A7.15 7.15 0 0020 28c3.93-.001 8-4.49 8-12 0-3.69-1.63-8-6.221-8zM20 26a5.504 5.504 0 01-1.79-.464A6.417 6.417 0 0016 25a6.404 6.404 0 00-2.206.536A5.534 5.534 0 0112 26h.002C9.052 25.999 6 22.259 6 16c0-1.804.393-6 4.032-6a11.236 11.236 0 012.68.473 12.982 12.982 0 003.05.527h.491a11.796 11.796 0 002.996-.536 9.848 9.848 0 012.53-.464C25.796 10 26 14.998 26 16c0 6.259-3.052 9.999-6 10z" }], - ["path", { d: "M18 7h-1V6a2.002 2.002 0 012-2h1v1a2.002 2.002 0 01-2 2z" }]]; +export const APPLE = svg( + ["path", { d: "M21.779 8a11.484 11.484 0 00-3.055.534 14.566 14.566 0 01-1.822.413A6.005 6.005 0 0011 4v2a3.993 3.993 0 013.827 2.9 20.115 20.115 0 01-1.617-.365A12.89 12.89 0 0010.032 8C6.31 8 4 11.065 4 16c0 7.51 4.068 11.999 8 12h.002a7.158 7.158 0 002.49-.59A5.013 5.013 0 0116 27a5.027 5.027 0 011.511.41A7.15 7.15 0 0020 28c3.93-.001 8-4.49 8-12 0-3.69-1.63-8-6.221-8zM20 26a5.504 5.504 0 01-1.79-.464A6.417 6.417 0 0016 25a6.404 6.404 0 00-2.206.536A5.534 5.534 0 0112 26h.002C9.052 25.999 6 22.259 6 16c0-1.804.393-6 4.032-6a11.236 11.236 0 012.68.473 12.982 12.982 0 003.05.527h.491a11.796 11.796 0 002.996-.536 9.848 9.848 0 012.53-.464C25.796 10 26 14.998 26 16c0 6.259-3.052 9.999-6 10z" }], + ["path", { d: "M18 7h-1V6a2.002 2.002 0 012-2h1v1a2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/application.ts b/packages/hiccup-carbon-icons/src/application.ts index 5824615c91..4aac4ea20d 100644 --- a/packages/hiccup-carbon-icons/src/application.ts +++ b/packages/hiccup-carbon-icons/src/application.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#APPLICATION */ // prettier-ignore -export const APPLICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 18H6a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v10a2 2 0 01-2 2zM6 6v10h10V6zM26 12v4h-4v-4h4m0-2h-4a2 2 0 00-2 2v4a2 2 0 002 2h4a2 2 0 002-2v-4a2 2 0 00-2-2zM26 22v4h-4v-4h4m0-2h-4a2 2 0 00-2 2v4a2 2 0 002 2h4a2 2 0 002-2v-4a2 2 0 00-2-2zM16 22v4h-4v-4h4m0-2h-4a2 2 0 00-2 2v4a2 2 0 002 2h4a2 2 0 002-2v-4a2 2 0 00-2-2z" }]]; +export const APPLICATION = svg( + ["path", { d: "M16 18H6a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v10a2 2 0 01-2 2zM6 6v10h10V6zM26 12v4h-4v-4h4m0-2h-4a2 2 0 00-2 2v4a2 2 0 002 2h4a2 2 0 002-2v-4a2 2 0 00-2-2zM26 22v4h-4v-4h4m0-2h-4a2 2 0 00-2 2v4a2 2 0 002 2h4a2 2 0 002-2v-4a2 2 0 00-2-2zM16 22v4h-4v-4h4m0-2h-4a2 2 0 00-2 2v4a2 2 0 002 2h4a2 2 0 002-2v-4a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/apps.ts b/packages/hiccup-carbon-icons/src/apps.ts index 03092d1a85..424810a62a 100644 --- a/packages/hiccup-carbon-icons/src/apps.ts +++ b/packages/hiccup-carbon-icons/src/apps.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#APPS */ // prettier-ignore -export const APPS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 4v4H4V4h4zm2-2H2v8h8V2zm8 2v4h-4V4h4zm2-2h-8v8h8V2zm8 2v4h-4V4h4zm2-2h-8v8h8V2zM8 14v4H4v-4h4zm2-2H2v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8zM8 24v4H4v-4h4zm2-2H2v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8z" }]]; +export const APPS = svg( + ["path", { d: "M8 4v4H4V4h4zm2-2H2v8h8V2zm8 2v4h-4V4h4zm2-2h-8v8h8V2zm8 2v4h-4V4h4zm2-2h-8v8h8V2zM8 14v4H4v-4h4zm2-2H2v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8zM8 24v4H4v-4h4zm2-2H2v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8zm8 2v4h-4v-4h4zm2-2h-8v8h8v-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/archive.ts b/packages/hiccup-carbon-icons/src/archive.ts index eb38b5d725..f42f8f9b63 100644 --- a/packages/hiccup-carbon-icons/src/archive.ts +++ b/packages/hiccup-carbon-icons/src/archive.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARCHIVE */ // prettier-ignore -export const ARCHIVE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 19h4v2h-4z" }], - ["path", { d: "M6 2v26a2 2 0 002 2h16a2 2 0 002-2V2zm18 26H8V16h16zm0-14H8v-4h16zM8 8V4h16v4z" }]]; +export const ARCHIVE = svg( + ["path", { d: "M14 19h4v2h-4z" }], + ["path", { d: "M6 2v26a2 2 0 002 2h16a2 2 0 002-2V2zm18 26H8V16h16zm0-14H8v-4h16zM8 8V4h16v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrival.ts b/packages/hiccup-carbon-icons/src/arrival.ts index 14e9f14880..8921f6269d 100644 --- a/packages/hiccup-carbon-icons/src/arrival.ts +++ b/packages/hiccup-carbon-icons/src/arrival.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARRIVAL */ // prettier-ignore -export const ARRIVAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 28h28v2H2zM17.21 5.23l1.39.38 1 11.29 5.87 1.57A2 2 0 0127 20.62a1.88 1.88 0 01-1.37 1.52 2 2 0 01-1 0l-18.7-5a1.89 1.89 0 01-1.33-2.3l1.75-6.5 1.44.38.61 5.18 6 1.62 2.81-10.29m-1-2.2a1 1 0 00-.68.69L13 13.07l-2.81-.75-.5-4.53A1 1 0 009 7l-3.13-.86a.94.94 0 00-.5 0 1 1 0 00-.68.68l-2 7.49a3.87 3.87 0 002.74 4.74l18.71 5A3.87 3.87 0 0029 21a4 4 0 00-3-4.42l-4.52-1.21-.95-10.66a1 1 0 00-.72-.85L16.73 3a1.06 1.06 0 00-.5 0z" }]]; +export const ARRIVAL = svg( + ["path", { d: "M2 28h28v2H2zM17.21 5.23l1.39.38 1 11.29 5.87 1.57A2 2 0 0127 20.62a1.88 1.88 0 01-1.37 1.52 2 2 0 01-1 0l-18.7-5a1.89 1.89 0 01-1.33-2.3l1.75-6.5 1.44.38.61 5.18 6 1.62 2.81-10.29m-1-2.2a1 1 0 00-.68.69L13 13.07l-2.81-.75-.5-4.53A1 1 0 009 7l-3.13-.86a.94.94 0 00-.5 0 1 1 0 00-.68.68l-2 7.49a3.87 3.87 0 002.74 4.74l18.71 5A3.87 3.87 0 0029 21a4 4 0 00-3-4.42l-4.52-1.21-.95-10.66a1 1 0 00-.72-.85L16.73 3a1.06 1.06 0 00-.5 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-down-left.ts b/packages/hiccup-carbon-icons/src/arrow-down-left.ts index bc5f203111..8dd1735f90 100644 --- a/packages/hiccup-carbon-icons/src/arrow-down-left.ts +++ b/packages/hiccup-carbon-icons/src/arrow-down-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_DOWN_LEFT */ // prettier-ignore -export const ARROW_DOWN_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 26v-2H9.41L26 7.41 24.59 6 8 22.59V10H6v16h16z" }]]; +export const ARROW_DOWN_LEFT = svg( + ["path", { d: "M22 26v-2H9.41L26 7.41 24.59 6 8 22.59V10H6v16h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-down-right.ts b/packages/hiccup-carbon-icons/src/arrow-down-right.ts index f6ede478d0..8e26dc3329 100644 --- a/packages/hiccup-carbon-icons/src/arrow-down-right.ts +++ b/packages/hiccup-carbon-icons/src/arrow-down-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_DOWN_RIGHT */ // prettier-ignore -export const ARROW_DOWN_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 26v-2h12.59L6 7.41 7.41 6 24 22.59V10h2v16H10z" }]]; +export const ARROW_DOWN_RIGHT = svg( + ["path", { d: "M10 26v-2h12.59L6 7.41 7.41 6 24 22.59V10h2v16H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-down.ts b/packages/hiccup-carbon-icons/src/arrow-down.ts index 3866384a63..bae20fc7a8 100644 --- a/packages/hiccup-carbon-icons/src/arrow-down.ts +++ b/packages/hiccup-carbon-icons/src/arrow-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_DOWN */ // prettier-ignore -export const ARROW_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.59 16.59L17 24.17V2h-2v22.17l-7.59-7.58L6 18l10 10 10-10-1.41-1.41z" }]]; +export const ARROW_DOWN = svg( + ["path", { d: "M24.59 16.59L17 24.17V2h-2v22.17l-7.59-7.58L6 18l10 10 10-10-1.41-1.41z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-left.ts b/packages/hiccup-carbon-icons/src/arrow-left.ts index 5c67842189..77e9aedfb5 100644 --- a/packages/hiccup-carbon-icons/src/arrow-left.ts +++ b/packages/hiccup-carbon-icons/src/arrow-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_LEFT */ // prettier-ignore -export const ARROW_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 26l1.41-1.41L6.83 17H29v-2H6.83l7.58-7.59L13 6 3 16l10 10z" }]]; +export const ARROW_LEFT = svg( + ["path", { d: "M13 26l1.41-1.41L6.83 17H29v-2H6.83l7.58-7.59L13 6 3 16l10 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-right.ts b/packages/hiccup-carbon-icons/src/arrow-right.ts index 95721ac61b..f0f738833e 100644 --- a/packages/hiccup-carbon-icons/src/arrow-right.ts +++ b/packages/hiccup-carbon-icons/src/arrow-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_RIGHT */ // prettier-ignore -export const ARROW_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 6l-1.4 1.4 7.5 7.6H3v2h21.1l-7.5 7.6L18 26l10-10z" }]]; +export const ARROW_RIGHT = svg( + ["path", { d: "M18 6l-1.4 1.4 7.5 7.6H3v2h21.1l-7.5 7.6L18 26l10-10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-shift-down.ts b/packages/hiccup-carbon-icons/src/arrow-shift-down.ts index 8a51c8c6e0..3681e43176 100644 --- a/packages/hiccup-carbon-icons/src/arrow-shift-down.ts +++ b/packages/hiccup-carbon-icons/src/arrow-shift-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_SHIFT_DOWN */ // prettier-ignore -export const ARROW_SHIFT_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 6v10h5a1 1 0 01.707 1.707l-12 12a1 1 0 01-1.414 0l-12-12A1 1 0 014 16h5V6a2.002 2.002 0 012-2h10a2.003 2.003 0 012 2zm-7 21.586L25.586 18H21V6H11v12H6.414z" }]]; +export const ARROW_SHIFT_DOWN = svg( + ["path", { d: "M23 6v10h5a1 1 0 01.707 1.707l-12 12a1 1 0 01-1.414 0l-12-12A1 1 0 014 16h5V6a2.002 2.002 0 012-2h10a2.003 2.003 0 012 2zm-7 21.586L25.586 18H21V6H11v12H6.414z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-up-left.ts b/packages/hiccup-carbon-icons/src/arrow-up-left.ts index 03b17161dd..d961380596 100644 --- a/packages/hiccup-carbon-icons/src/arrow-up-left.ts +++ b/packages/hiccup-carbon-icons/src/arrow-up-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_UP_LEFT */ // prettier-ignore -export const ARROW_UP_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 6v2H9.41L26 24.59 24.59 26 8 9.41V22H6V6h16z" }]]; +export const ARROW_UP_LEFT = svg( + ["path", { d: "M22 6v2H9.41L26 24.59 24.59 26 8 9.41V22H6V6h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-up-right.ts b/packages/hiccup-carbon-icons/src/arrow-up-right.ts index ccd42ea037..05eb7b80ef 100644 --- a/packages/hiccup-carbon-icons/src/arrow-up-right.ts +++ b/packages/hiccup-carbon-icons/src/arrow-up-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_UP_RIGHT */ // prettier-ignore -export const ARROW_UP_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 6v2h12.59L6 24.59 7.41 26 24 9.41V22h2V6H10z" }]]; +export const ARROW_UP_RIGHT = svg( + ["path", { d: "M10 6v2h12.59L6 24.59 7.41 26 24 9.41V22h2V6H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrow-up.ts b/packages/hiccup-carbon-icons/src/arrow-up.ts index eb72f44bdb..2b6b30f6e6 100644 --- a/packages/hiccup-carbon-icons/src/arrow-up.ts +++ b/packages/hiccup-carbon-icons/src/arrow-up.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROW_UP */ // prettier-ignore -export const ARROW_UP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4L6 14l1.41 1.41L15 7.83V30h2V7.83l7.59 7.58L26 14 16 4z" }]]; +export const ARROW_UP = svg( + ["path", { d: "M16 4L6 14l1.41 1.41L15 7.83V30h2V7.83l7.59 7.58L26 14 16 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrows-horizontal.ts b/packages/hiccup-carbon-icons/src/arrows-horizontal.ts index 62ba2091eb..17d92d7c89 100644 --- a/packages/hiccup-carbon-icons/src/arrows-horizontal.ts +++ b/packages/hiccup-carbon-icons/src/arrows-horizontal.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROWS_HORIZONTAL */ // prettier-ignore -export const ARROWS_HORIZONTAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.41 26.59L7.83 23H28v-2H7.83l3.58-3.59L10 16l-6 6 6 6 1.41-1.41zM28 10l-6-6-1.41 1.41L24.17 9H4v2h20.17l-3.58 3.59L22 16l6-6z" }]]; +export const ARROWS_HORIZONTAL = svg( + ["path", { d: "M11.41 26.59L7.83 23H28v-2H7.83l3.58-3.59L10 16l-6 6 6 6 1.41-1.41zM28 10l-6-6-1.41 1.41L24.17 9H4v2h20.17l-3.58 3.59L22 16l6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrows-vertical.ts b/packages/hiccup-carbon-icons/src/arrows-vertical.ts index 4fea63bd02..1df803d325 100644 --- a/packages/hiccup-carbon-icons/src/arrows-vertical.ts +++ b/packages/hiccup-carbon-icons/src/arrows-vertical.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROWS_VERTICAL */ // prettier-ignore -export const ARROWS_VERTICAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.6 20.6L24 24.2V4h-2v20.2l-3.6-3.6L17 22l6 6 6-6zM9 4l-6 6 1.4 1.4L8 7.8V28h2V7.8l3.6 3.6L15 10z" }]]; +export const ARROWS_VERTICAL = svg( + ["path", { d: "M27.6 20.6L24 24.2V4h-2v20.2l-3.6-3.6L17 22l6 6 6-6zM9 4l-6 6 1.4 1.4L8 7.8V28h2V7.8l3.6 3.6L15 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/arrows.ts b/packages/hiccup-carbon-icons/src/arrows.ts index ac9881cdec..cc90505ec4 100644 --- a/packages/hiccup-carbon-icons/src/arrows.ts +++ b/packages/hiccup-carbon-icons/src/arrows.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ARROWS */ // prettier-ignore -export const ARROWS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.6 20.6L24 24.2V4h-2v20.2l-3.6-3.6L17 22l6 6 6-6zM9 4l-6 6 1.4 1.4L8 7.8V28h2V7.8l3.6 3.6L15 10z" }]]; +export const ARROWS = svg( + ["path", { d: "M27.6 20.6L24 24.2V4h-2v20.2l-3.6-3.6L17 22l6 6 6-6zM9 4l-6 6 1.4 1.4L8 7.8V28h2V7.8l3.6 3.6L15 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/asleep-filled.ts b/packages/hiccup-carbon-icons/src/asleep-filled.ts index 5e8f81407e..7e15e48c1c 100644 --- a/packages/hiccup-carbon-icons/src/asleep-filled.ts +++ b/packages/hiccup-carbon-icons/src/asleep-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ASLEEP_FILLED */ // prettier-ignore -export const ASLEEP_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14.98 3a1.002 1.002 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0010.703-5.555 1.01 1.01 0 00-.783-1.565A13.08 13.08 0 0115.89 4.38 1.015 1.015 0 0014.98 3z" }]]; +export const ASLEEP_FILLED = svg( + ["path", { d: "M14.98 3a1.002 1.002 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0010.703-5.555 1.01 1.01 0 00-.783-1.565A13.08 13.08 0 0115.89 4.38 1.015 1.015 0 0014.98 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/asleep.ts b/packages/hiccup-carbon-icons/src/asleep.ts index dfd360c241..f48bf0f47f 100644 --- a/packages/hiccup-carbon-icons/src/asleep.ts +++ b/packages/hiccup-carbon-icons/src/asleep.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ASLEEP */ // prettier-ignore -export const ASLEEP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13.502 5.414a15.075 15.075 0 0011.594 18.194 11.113 11.113 0 01-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 01-3.2-21.584M14.98 3a1.002 1.002 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0010.703-5.555 1.01 1.01 0 00-.783-1.565A13.08 13.08 0 0115.89 4.38 1.015 1.015 0 0014.98 3z" }]]; +export const ASLEEP = svg( + ["path", { d: "M13.502 5.414a15.075 15.075 0 0011.594 18.194 11.113 11.113 0 01-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 01-3.2-21.584M14.98 3a1.002 1.002 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0010.703-5.555 1.01 1.01 0 00-.783-1.565A13.08 13.08 0 0115.89 4.38 1.015 1.015 0 0014.98 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/asset.ts b/packages/hiccup-carbon-icons/src/asset.ts index 75ecb92ebb..a654e28d62 100644 --- a/packages/hiccup-carbon-icons/src/asset.ts +++ b/packages/hiccup-carbon-icons/src/asset.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ASSET */ // prettier-ignore -export const ASSET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12.075 24a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], - ["path", { d: "M30 6a4.004 4.004 0 00-4-4 3.949 3.949 0 00-1.854.477l-16.389 8.48a9.992 9.992 0 1013.309 13.236l8.49-16.4A3.95 3.95 0 0030 6zm-4-2a2 2 0 11-2 2 2.002 2.002 0 012-2zm-3.98 1.808c-.004.065-.02.126-.02.192a4.004 4.004 0 004 4c.065 0 .124-.016.188-.019l-4.332 8.362a10.017 10.017 0 00-8.215-8.196zM12 28a8 8 0 118-8 8.01 8.01 0 01-8 8z" }]]; +export const ASSET = svg( + ["path", { d: "M12.075 24a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], + ["path", { d: "M30 6a4.004 4.004 0 00-4-4 3.949 3.949 0 00-1.854.477l-16.389 8.48a9.992 9.992 0 1013.309 13.236l8.49-16.4A3.95 3.95 0 0030 6zm-4-2a2 2 0 11-2 2 2.002 2.002 0 012-2zm-3.98 1.808c-.004.065-.02.126-.02.192a4.004 4.004 0 004 4c.065 0 .124-.016.188-.019l-4.332 8.362a10.017 10.017 0 00-8.215-8.196zM12 28a8 8 0 118-8 8.01 8.01 0 01-8 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/at.ts b/packages/hiccup-carbon-icons/src/at.ts index 848b2d0b6a..584d8affcf 100644 --- a/packages/hiccup-carbon-icons/src/at.ts +++ b/packages/hiccup-carbon-icons/src/at.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#AT */ // prettier-ignore -export const AT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 3A12.92 12.92 0 003 16v1a13 13 0 0013 13h7v-2h-7A11 11 0 015 17v-1A10.94 10.94 0 0116 5a10.64 10.64 0 0111 11c0 3.59-1.4 5-3.66 5-1.58 0-2.34-1.29-2.34-3v-8h-2v1.94A3.84 3.84 0 0015.5 10a5.48 5.48 0 00-5.5 5.44v2.12A5.48 5.48 0 0015.5 23a4.28 4.28 0 004-2.46A4.35 4.35 0 0023.41 23c3.07 0 5.59-2 5.59-7A12.72 12.72 0 0016 3zm3 14.56a3.5 3.5 0 01-7 0v-2.12a3.5 3.5 0 017 0z" }]]; +export const AT = svg( + ["path", { d: "M16 3A12.92 12.92 0 003 16v1a13 13 0 0013 13h7v-2h-7A11 11 0 015 17v-1A10.94 10.94 0 0116 5a10.64 10.64 0 0111 11c0 3.59-1.4 5-3.66 5-1.58 0-2.34-1.29-2.34-3v-8h-2v1.94A3.84 3.84 0 0015.5 10a5.48 5.48 0 00-5.5 5.44v2.12A5.48 5.48 0 0015.5 23a4.28 4.28 0 004-2.46A4.35 4.35 0 0023.41 23c3.07 0 5.59-2 5.59-7A12.72 12.72 0 0016 3zm3 14.56a3.5 3.5 0 01-7 0v-2.12a3.5 3.5 0 017 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/attachment.ts b/packages/hiccup-carbon-icons/src/attachment.ts index 6a9a140b1e..ff85d6a550 100644 --- a/packages/hiccup-carbon-icons/src/attachment.ts +++ b/packages/hiccup-carbon-icons/src/attachment.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ATTACHMENT */ // prettier-ignore -export const ATTACHMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.1 18.9l-15-15c-2.5-2.6-6.6-2.6-9.2-.1s-2.6 6.7 0 9.2l.1.1L6.8 16l1.4-1.4-2.9-2.9c-1.7-1.7-1.7-4.6 0-6.3s4.6-1.8 6.3-.1l.1.1 14.9 14.9c1.8 1.7 1.8 4.6.1 6.3-1.7 1.8-4.6 1.8-6.3.1l-.1-.1-7.4-7.4c-1-1-.9-2.6 0-3.5 1-.9 2.5-.9 3.5 0l4.1 4.1 1.4-1.4-4.2-4.2c-1.8-1.7-4.6-1.6-6.3.2-1.6 1.7-1.6 4.4 0 6.2l7.5 7.5c2.5 2.6 6.6 2.6 9.2.1s2.6-6.7 0-9.3c0 .1 0 0 0 0z" }]]; +export const ATTACHMENT = svg( + ["path", { d: "M28.1 18.9l-15-15c-2.5-2.6-6.6-2.6-9.2-.1s-2.6 6.7 0 9.2l.1.1L6.8 16l1.4-1.4-2.9-2.9c-1.7-1.7-1.7-4.6 0-6.3s4.6-1.8 6.3-.1l.1.1 14.9 14.9c1.8 1.7 1.8 4.6.1 6.3-1.7 1.8-4.6 1.8-6.3.1l-.1-.1-7.4-7.4c-1-1-.9-2.6 0-3.5 1-.9 2.5-.9 3.5 0l4.1 4.1 1.4-1.4-4.2-4.2c-1.8-1.7-4.6-1.6-6.3.2-1.6 1.7-1.6 4.4 0 6.2l7.5 7.5c2.5 2.6 6.6 2.6 9.2.1s2.6-6.7 0-9.3c0 .1 0 0 0 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/audio-console.ts b/packages/hiccup-carbon-icons/src/audio-console.ts index ae2cb622b2..78f0715c29 100644 --- a/packages/hiccup-carbon-icons/src/audio-console.ts +++ b/packages/hiccup-carbon-icons/src/audio-console.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#AUDIO_CONSOLE */ // prettier-ignore -export const AUDIO_CONSOLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 20.005h-1v-18h-2v18h-1a2.003 2.003 0 00-2 2v2a2.003 2.003 0 002 2h1v4h2v-4h1a2.003 2.003 0 002-2v-2a2.003 2.003 0 00-2-2zm0 4h-4v-2h4zM22 14.005h-1v-12h-2v12h-1a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h1v10h2v-10h1a2.003 2.003 0 002-2v-2a2.002 2.002 0 00-2-2zm0 4h-4v-2h4zM14 7.005h-1v-5h-2v5h-1a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h1v17h2v-17h1a2.002 2.002 0 002-2v-2a2.002 2.002 0 00-2-2zm0 4h-4v-2h4zM6 21.005H5v-19H3v19H2a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h1v3h2v-3h1a2.002 2.002 0 002-2v-2a2.002 2.002 0 00-2-2zm0 4H2v-2l4-.001z" }]]; +export const AUDIO_CONSOLE = svg( + ["path", { d: "M30 20.005h-1v-18h-2v18h-1a2.003 2.003 0 00-2 2v2a2.003 2.003 0 002 2h1v4h2v-4h1a2.003 2.003 0 002-2v-2a2.003 2.003 0 00-2-2zm0 4h-4v-2h4zM22 14.005h-1v-12h-2v12h-1a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h1v10h2v-10h1a2.003 2.003 0 002-2v-2a2.002 2.002 0 00-2-2zm0 4h-4v-2h4zM14 7.005h-1v-5h-2v5h-1a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h1v17h2v-17h1a2.002 2.002 0 002-2v-2a2.002 2.002 0 00-2-2zm0 4h-4v-2h4zM6 21.005H5v-19H3v19H2a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h1v3h2v-3h1a2.002 2.002 0 002-2v-2a2.002 2.002 0 00-2-2zm0 4H2v-2l4-.001z" }] +); diff --git a/packages/hiccup-carbon-icons/src/augmented-reality.ts b/packages/hiccup-carbon-icons/src/augmented-reality.ts index 29fd07ba0e..8080181df2 100644 --- a/packages/hiccup-carbon-icons/src/augmented-reality.ts +++ b/packages/hiccup-carbon-icons/src/augmented-reality.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#AUGMENTED_REALITY */ // prettier-ignore -export const AUGMENTED_REALITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.447 9.105l-6-3a1 1 0 00-.894 0l-6 3A1 1 0 0014 10v7a1 1 0 00.553.894l6 3a1.001 1.001 0 00.894 0l6-3A1 1 0 0028 17v-7a1 1 0 00-.553-.895zM21 8.118L24.764 10 21 11.882 17.236 10zm-5 3.5l4 2v4.764l-4-2zm6 6.764v-4.764l4-2v4.764z" }], - ["circle", - { - r: 1.5, - cy: 24.5, - cx: 13.5, - }], - ["path", { d: "M20 30H7a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h13v2H7v24h13v-4h2v4a2.002 2.002 0 01-2 2z" }]]; +export const AUGMENTED_REALITY = svg( + ["path", { d: "M27.447 9.105l-6-3a1 1 0 00-.894 0l-6 3A1 1 0 0014 10v7a1 1 0 00.553.894l6 3a1.001 1.001 0 00.894 0l6-3A1 1 0 0028 17v-7a1 1 0 00-.553-.895zM21 8.118L24.764 10 21 11.882 17.236 10zm-5 3.5l4 2v4.764l-4-2zm6 6.764v-4.764l4-2v4.764z" }], + ["circle", + { + r: 1.5, + cy: 24.5, + cx: 13.5, + }], + ["path", { d: "M20 30H7a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h13v2H7v24h13v-4h2v4a2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/automatic.ts b/packages/hiccup-carbon-icons/src/automatic.ts index f5f57ddb5c..9763a72227 100644 --- a/packages/hiccup-carbon-icons/src/automatic.ts +++ b/packages/hiccup-carbon-icons/src/automatic.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#AUTOMATIC */ // prettier-ignore -export const AUTOMATIC: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 16h-4a2.002 2.002 0 00-2 2v12h2v-5h4v5h2V18a2.002 2.002 0 00-2-2zm-4 7v-5h4v5zM16 27a10.986 10.986 0 01-9.216-5H12v-2H4v8h2v-3.685A13.024 13.024 0 0016 29zM20 10h5.215A10.997 10.997 0 005 16H3a13.005 13.005 0 0123-8.315V4h2v8h-8z" }]]; +export const AUTOMATIC = svg( + ["path", { d: "M26 16h-4a2.002 2.002 0 00-2 2v12h2v-5h4v5h2V18a2.002 2.002 0 00-2-2zm-4 7v-5h4v5zM16 27a10.986 10.986 0 01-9.216-5H12v-2H4v8h2v-3.685A13.024 13.024 0 0016 29zM20 10h5.215A10.997 10.997 0 005 16H3a13.005 13.005 0 0123-8.315V4h2v8h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/awake.ts b/packages/hiccup-carbon-icons/src/awake.ts index dbe6d835c6..02302bd1d2 100644 --- a/packages/hiccup-carbon-icons/src/awake.ts +++ b/packages/hiccup-carbon-icons/src/awake.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#AWAKE */ // prettier-ignore -export const AWAKE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 2h2v4.96h-2zM21.687 8.89l3.507-3.507 1.414 1.415-3.507 3.507zM25.04 15H30v2h-4.96zM21.693 23.103l1.414-1.414 3.507 3.508L25.2 26.61zM15 25.04h2V30h-2zM5.397 25.202l3.507-3.507 1.414 1.414-3.507 3.508zM2 15h4.96v2H2zM5.39 6.803L6.806 5.39l3.507 3.508-1.414 1.414zM16 12a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6z" }]]; +export const AWAKE = svg( + ["path", { d: "M15 2h2v4.96h-2zM21.687 8.89l3.507-3.507 1.414 1.415-3.507 3.507zM25.04 15H30v2h-4.96zM21.693 23.103l1.414-1.414 3.507 3.508L25.2 26.61zM15 25.04h2V30h-2zM5.397 25.202l3.507-3.507 1.414 1.414-3.507 3.508zM2 15h4.96v2H2zM5.39 6.803L6.806 5.39l3.507 3.508-1.414 1.414zM16 12a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/back-to-top.ts b/packages/hiccup-carbon-icons/src/back-to-top.ts index 3c09c96c91..4882d0a9e4 100644 --- a/packages/hiccup-carbon-icons/src/back-to-top.ts +++ b/packages/hiccup-carbon-icons/src/back-to-top.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BACK_TO_TOP */ // prettier-ignore -export const BACK_TO_TOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 14L6 24l1.4 1.4 8.6-8.6 8.6 8.6L26 24zM4 8h24v2H4z" }]]; +export const BACK_TO_TOP = svg( + ["path", { d: "M16 14L6 24l1.4 1.4 8.6-8.6 8.6 8.6L26 24zM4 8h24v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/badge.ts b/packages/hiccup-carbon-icons/src/badge.ts index d77333e825..d12691fbc4 100644 --- a/packages/hiccup-carbon-icons/src/badge.ts +++ b/packages/hiccup-carbon-icons/src/badge.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BADGE */ // prettier-ignore -export const BADGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 2l1.593 3L28 5.414l-2.5 2.253L26 11l-3-1.875L20 11l.5-3.333L18 5.414 21.5 5 23 2z" }], - ["path", { d: "M22.717 13.249l-1.938-.498a6.994 6.994 0 11-5.028-8.531l.499-1.937A8.99 8.99 0 008 17.69V30l6-4 6 4V17.708a8.963 8.963 0 002.717-4.459zM18 26.263l-4-2.667-4 2.667V19.05a8.924 8.924 0 008 .006z" }]]; +export const BADGE = svg( + ["path", { d: "M23 2l1.593 3L28 5.414l-2.5 2.253L26 11l-3-1.875L20 11l.5-3.333L18 5.414 21.5 5 23 2z" }], + ["path", { d: "M22.717 13.249l-1.938-.498a6.994 6.994 0 11-5.028-8.531l.499-1.937A8.99 8.99 0 008 17.69V30l6-4 6 4V17.708a8.963 8.963 0 002.717-4.459zM18 26.263l-4-2.667-4 2.667V19.05a8.924 8.924 0 008 .006z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bar.ts b/packages/hiccup-carbon-icons/src/bar.ts index d0ce3db188..271d95d2de 100644 --- a/packages/hiccup-carbon-icons/src/bar.ts +++ b/packages/hiccup-carbon-icons/src/bar.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BAR */ // prettier-ignore -export const BAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 11H15a1 1 0 00-1 1v4a6.005 6.005 0 005 5.91V28h-3v2h8v-2h-3v-6.09A6.005 6.005 0 0026 16v-4a1 1 0 00-1-1zm-1 5a4 4 0 01-8 0v-3h8z" }], - ["path", { d: "M15 1h-5a1 1 0 00-1 1v7.37A6.09 6.09 0 006 15v14a1 1 0 001 1h5v-2H8V15c0-3.188 2.231-4.02 2.316-4.051L11 10.72V3h3v5h2V2a1 1 0 00-1-1z" }]]; +export const BAR = svg( + ["path", { d: "M25 11H15a1 1 0 00-1 1v4a6.005 6.005 0 005 5.91V28h-3v2h8v-2h-3v-6.09A6.005 6.005 0 0026 16v-4a1 1 0 00-1-1zm-1 5a4 4 0 01-8 0v-3h8z" }], + ["path", { d: "M15 1h-5a1 1 0 00-1 1v7.37A6.09 6.09 0 006 15v14a1 1 0 001 1h5v-2H8V15c0-3.188 2.231-4.02 2.316-4.051L11 10.72V3h3v5h2V2a1 1 0 00-1-1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/basketball.ts b/packages/hiccup-carbon-icons/src/basketball.ts index f7e379c65c..e0195985e4 100644 --- a/packages/hiccup-carbon-icons/src/basketball.ts +++ b/packages/hiccup-carbon-icons/src/basketball.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BASKETBALL */ // prettier-ignore -export const BASKETBALL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm11.95 13H22.04a14.409 14.409 0 012.738-7.153A11.94 11.94 0 0127.95 15zM17 15V4.05a11.918 11.918 0 016.287 2.438A16.265 16.265 0 0020.04 15zm-2 0h-3.04a16.265 16.265 0 00-3.247-8.512A11.918 11.918 0 0115 4.051zm0 2v10.95a11.918 11.918 0 01-6.287-2.438A16.265 16.265 0 0011.96 17zm2 0h3.04a16.265 16.265 0 003.248 8.512A11.918 11.918 0 0117 27.949zM7.22 7.847A14.409 14.409 0 019.96 15H4.051a11.94 11.94 0 013.17-7.153zM4.05 17H9.96a14.409 14.409 0 01-2.738 7.153A11.94 11.94 0 014.05 17zm20.73 7.153A14.409 14.409 0 0122.04 17h5.908a11.94 11.94 0 01-3.17 7.153z" }]]; +export const BASKETBALL = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm11.95 13H22.04a14.409 14.409 0 012.738-7.153A11.94 11.94 0 0127.95 15zM17 15V4.05a11.918 11.918 0 016.287 2.438A16.265 16.265 0 0020.04 15zm-2 0h-3.04a16.265 16.265 0 00-3.247-8.512A11.918 11.918 0 0115 4.051zm0 2v10.95a11.918 11.918 0 01-6.287-2.438A16.265 16.265 0 0011.96 17zm2 0h3.04a16.265 16.265 0 003.248 8.512A11.918 11.918 0 0117 27.949zM7.22 7.847A14.409 14.409 0 019.96 15H4.051a11.94 11.94 0 013.17-7.153zM4.05 17H9.96a14.409 14.409 0 01-2.738 7.153A11.94 11.94 0 014.05 17zm20.73 7.153A14.409 14.409 0 0122.04 17h5.908a11.94 11.94 0 01-3.17 7.153z" }] +); diff --git a/packages/hiccup-carbon-icons/src/battery-charging.ts b/packages/hiccup-carbon-icons/src/battery-charging.ts index afb5fcac06..67248687cf 100644 --- a/packages/hiccup-carbon-icons/src/battery-charging.ts +++ b/packages/hiccup-carbon-icons/src/battery-charging.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BATTERY_CHARGING */ // prettier-ignore -export const BATTERY_CHARGING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 11h-1v-1a2 2 0 00-2-2h-4v2h4v3h3v6h-3v3h-5v2h5a2 2 0 002-2v-1h1a2 2 0 002-2v-6a2 2 0 00-2-2zM11 22H6V10h6V8H6a2 2 0 00-2 2v12a2 2 0 002 2h5z" }], - ["path", { d: "M14.81 23.58l-1.62-1.16L17.06 17H9.37l6.85-8.62 1.56 1.24L13.51 15h7.43l-6.13 8.58z" }]]; +export const BATTERY_CHARGING = svg( + ["path", { d: "M27 11h-1v-1a2 2 0 00-2-2h-4v2h4v3h3v6h-3v3h-5v2h5a2 2 0 002-2v-1h1a2 2 0 002-2v-6a2 2 0 00-2-2zM11 22H6V10h6V8H6a2 2 0 00-2 2v12a2 2 0 002 2h5z" }], + ["path", { d: "M14.81 23.58l-1.62-1.16L17.06 17H9.37l6.85-8.62 1.56 1.24L13.51 15h7.43l-6.13 8.58z" }] +); diff --git a/packages/hiccup-carbon-icons/src/battery-empty.ts b/packages/hiccup-carbon-icons/src/battery-empty.ts index f6be1425da..73e4169f54 100644 --- a/packages/hiccup-carbon-icons/src/battery-empty.ts +++ b/packages/hiccup-carbon-icons/src/battery-empty.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BATTERY_EMPTY */ // prettier-ignore -export const BATTERY_EMPTY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24H6a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v1h1a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-1v1a2.003 2.003 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }]]; +export const BATTERY_EMPTY = svg( + ["path", { d: "M24 24H6a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v1h1a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-1v1a2.003 2.003 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/battery-full.ts b/packages/hiccup-carbon-icons/src/battery-full.ts index eeb2ae20c0..feafff2231 100644 --- a/packages/hiccup-carbon-icons/src/battery-full.ts +++ b/packages/hiccup-carbon-icons/src/battery-full.ts @@ -1,12 +1,14 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BATTERY_FULL */ // prettier-ignore -export const BATTERY_FULL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24H6a2 2 0 01-2-2V10a2 2 0 012-2h18a2 2 0 012 2v1h1a2 2 0 012 2v6a2 2 0 01-2 2h-1v1a2 2 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], - ["path", - { - d: "M11 9h8v14h-8z", - transform: "rotate(90 15 16)", - }]]; +export const BATTERY_FULL = svg( + ["path", { d: "M24 24H6a2 2 0 01-2-2V10a2 2 0 012-2h18a2 2 0 012 2v1h1a2 2 0 012 2v6a2 2 0 01-2 2h-1v1a2 2 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], + ["path", + { + d: "M11 9h8v14h-8z", + transform: "rotate(90 15 16)", + }] +); diff --git a/packages/hiccup-carbon-icons/src/battery-half.ts b/packages/hiccup-carbon-icons/src/battery-half.ts index da2fa1d55e..276330e701 100644 --- a/packages/hiccup-carbon-icons/src/battery-half.ts +++ b/packages/hiccup-carbon-icons/src/battery-half.ts @@ -1,12 +1,14 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BATTERY_HALF */ // prettier-ignore -export const BATTERY_HALF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24H6a2 2 0 01-2-2V10a2 2 0 012-2h18a2 2 0 012 2v1h1a2 2 0 012 2v6a2 2 0 01-2 2h-1v1a2 2 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], - ["path", - { - d: "M8 12h8v8H8z", - transform: "rotate(90 12 16)", - }]]; +export const BATTERY_HALF = svg( + ["path", { d: "M24 24H6a2 2 0 01-2-2V10a2 2 0 012-2h18a2 2 0 012 2v1h1a2 2 0 012 2v6a2 2 0 01-2 2h-1v1a2 2 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], + ["path", + { + d: "M8 12h8v8H8z", + transform: "rotate(90 12 16)", + }] +); diff --git a/packages/hiccup-carbon-icons/src/battery-low.ts b/packages/hiccup-carbon-icons/src/battery-low.ts index 8bb26806c1..26d1d30048 100644 --- a/packages/hiccup-carbon-icons/src/battery-low.ts +++ b/packages/hiccup-carbon-icons/src/battery-low.ts @@ -1,12 +1,14 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BATTERY_LOW */ // prettier-ignore -export const BATTERY_LOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24H6a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v1h1a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-1v1a2.003 2.003 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], - ["path", - { - d: "M5 15h8v2H5z", - transform: "rotate(90 9 16)", - }]]; +export const BATTERY_LOW = svg( + ["path", { d: "M24 24H6a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v1h1a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-1v1a2.003 2.003 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], + ["path", + { + d: "M5 15h8v2H5z", + transform: "rotate(90 9 16)", + }] +); diff --git a/packages/hiccup-carbon-icons/src/battery-quarter.ts b/packages/hiccup-carbon-icons/src/battery-quarter.ts index cf611484ed..3bfc2e720c 100644 --- a/packages/hiccup-carbon-icons/src/battery-quarter.ts +++ b/packages/hiccup-carbon-icons/src/battery-quarter.ts @@ -1,12 +1,14 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BATTERY_QUARTER */ // prettier-ignore -export const BATTERY_QUARTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24H6a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v1h1a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-1v1a2.003 2.003 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], - ["path", - { - d: "M6 14h8v4H6z", - transform: "rotate(90 10 16)", - }]]; +export const BATTERY_QUARTER = svg( + ["path", { d: "M24 24H6a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v1h1a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-1v1a2.003 2.003 0 01-2 2zM6 10v12h18v-3h3v-6h-3v-3z" }], + ["path", + { + d: "M6 14h8v4H6z", + transform: "rotate(90 10 16)", + }] +); diff --git a/packages/hiccup-carbon-icons/src/bee.ts b/packages/hiccup-carbon-icons/src/bee.ts index 1f393a9a30..2f10820158 100644 --- a/packages/hiccup-carbon-icons/src/bee.ts +++ b/packages/hiccup-carbon-icons/src/bee.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BEE */ // prettier-ignore -export const BEE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 10a6 6 0 00-6 6v8a6 6 0 0012 0v-8a6 6 0 00-6-6zm-4.25 7.87h8.5v4.25h-8.5zM16 28.25A4.27 4.27 0 0111.75 24v-.13h8.5V24A4.27 4.27 0 0116 28.25zm4.25-12.13h-8.5V16a4.25 4.25 0 018.5 0zM30.66 19.21L24 13v9.1a4 4 0 008 0 3.83 3.83 0 00-1.34-2.89zM28 24.35a2.25 2.25 0 01-2.25-2.25V17l3.72 3.47A2.05 2.05 0 0130.2 22a2.25 2.25 0 01-2.2 2.35zM0 22.1a4 4 0 008 0V13l-6.66 6.21A3.88 3.88 0 000 22.1zm2.48-1.56L6.25 17v5.1a2.25 2.25 0 01-4.5 0 2.05 2.05 0 01.73-1.56zM15 5.5A3.5 3.5 0 1011.5 9 3.5 3.5 0 0015 5.5zm-5.25 0a1.75 1.75 0 111.75 1.75A1.77 1.77 0 019.75 5.5zM20.5 2A3.5 3.5 0 1024 5.5 3.5 3.5 0 0020.5 2zm0 5.25a1.75 1.75 0 111.75-1.75 1.77 1.77 0 01-1.75 1.75z" }]]; +export const BEE = svg( + ["path", { d: "M16 10a6 6 0 00-6 6v8a6 6 0 0012 0v-8a6 6 0 00-6-6zm-4.25 7.87h8.5v4.25h-8.5zM16 28.25A4.27 4.27 0 0111.75 24v-.13h8.5V24A4.27 4.27 0 0116 28.25zm4.25-12.13h-8.5V16a4.25 4.25 0 018.5 0zM30.66 19.21L24 13v9.1a4 4 0 008 0 3.83 3.83 0 00-1.34-2.89zM28 24.35a2.25 2.25 0 01-2.25-2.25V17l3.72 3.47A2.05 2.05 0 0130.2 22a2.25 2.25 0 01-2.2 2.35zM0 22.1a4 4 0 008 0V13l-6.66 6.21A3.88 3.88 0 000 22.1zm2.48-1.56L6.25 17v5.1a2.25 2.25 0 01-4.5 0 2.05 2.05 0 01.73-1.56zM15 5.5A3.5 3.5 0 1011.5 9 3.5 3.5 0 0015 5.5zm-5.25 0a1.75 1.75 0 111.75 1.75A1.77 1.77 0 019.75 5.5zM20.5 2A3.5 3.5 0 1024 5.5 3.5 3.5 0 0020.5 2zm0 5.25a1.75 1.75 0 111.75-1.75 1.77 1.77 0 01-1.75 1.75z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bicycle.ts b/packages/hiccup-carbon-icons/src/bicycle.ts index 3bc2a801ef..0903da143a 100644 --- a/packages/hiccup-carbon-icons/src/bicycle.ts +++ b/packages/hiccup-carbon-icons/src/bicycle.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BICYCLE */ // prettier-ignore -export const BICYCLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 16c-.088 0-.173.01-.26.013L24.237 9H28V7h-5a1 1 0 00-.978 1.21L22.62 11H12.387l-1-3H14V6H7v2h2.28l1.041 3.123-2.57 5.14A6 6 0 1011.91 23h2.61a1.991 1.991 0 001.562-.75l7.058-8.824.644 3.004A5.99 5.99 0 1026 16zM6 26a4 4 0 11.836-7.91l-1.73 3.463.009.004A.983.983 0 005 22a.993.993 0 001.885.443l.01.004L8.617 19A3.983 3.983 0 016 26zm5.91-5a5.999 5.999 0 00-2.373-3.836l1.678-3.358L13.613 21zm3.458-1.06L13.054 13h7.865zM26 26a3.988 3.988 0 01-1.786-7.56l.808 3.77.02-.004A.986.986 0 0026 23a1 1 0 001-1 .946.946 0 00-.042-.206l.02-.004-.808-3.773A3.993 3.993 0 0126 26z" }]]; +export const BICYCLE = svg( + ["path", { d: "M26 16c-.088 0-.173.01-.26.013L24.237 9H28V7h-5a1 1 0 00-.978 1.21L22.62 11H12.387l-1-3H14V6H7v2h2.28l1.041 3.123-2.57 5.14A6 6 0 1011.91 23h2.61a1.991 1.991 0 001.562-.75l7.058-8.824.644 3.004A5.99 5.99 0 1026 16zM6 26a4 4 0 11.836-7.91l-1.73 3.463.009.004A.983.983 0 005 22a.993.993 0 001.885.443l.01.004L8.617 19A3.983 3.983 0 016 26zm5.91-5a5.999 5.999 0 00-2.373-3.836l1.678-3.358L13.613 21zm3.458-1.06L13.054 13h7.865zM26 26a3.988 3.988 0 01-1.786-7.56l.808 3.77.02-.004A.986.986 0 0026 23a1 1 0 001-1 .946.946 0 00-.042-.206l.02-.004-.808-3.773A3.993 3.993 0 0126 26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/binoculars.ts b/packages/hiccup-carbon-icons/src/binoculars.ts index 67e2891eb3..0dc4a8c18e 100644 --- a/packages/hiccup-carbon-icons/src/binoculars.ts +++ b/packages/hiccup-carbon-icons/src/binoculars.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BINOCULARS */ // prettier-ignore -export const BINOCULARS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 8V5a1 1 0 00-1-1h-6a1 1 0 00-1 1v3a2 2 0 00-2 2v2h-4v-2a2 2 0 00-2-2V5a1 1 0 00-1-1H5a1 1 0 00-1 1v3a2 2 0 00-2 2v12a2 2 0 001 1.72V27a1 1 0 001 1h8a1 1 0 001-1v-3.28A2 2 0 0014 22v-2h4v2a2 2 0 001 1.72V27a1 1 0 001 1h8a1 1 0 001-1v-3.28A2 2 0 0030 22V10a2 2 0 00-2-2zM11 26H5v-2h6zm1-4H4V10h2V6h4v4h2zm2-4v-4h4v4zm13 8h-6v-2h6zm1-4h-8V10h2V6h4v4h2z" }]]; +export const BINOCULARS = svg( + ["path", { d: "M28 8V5a1 1 0 00-1-1h-6a1 1 0 00-1 1v3a2 2 0 00-2 2v2h-4v-2a2 2 0 00-2-2V5a1 1 0 00-1-1H5a1 1 0 00-1 1v3a2 2 0 00-2 2v12a2 2 0 001 1.72V27a1 1 0 001 1h8a1 1 0 001-1v-3.28A2 2 0 0014 22v-2h4v2a2 2 0 001 1.72V27a1 1 0 001 1h8a1 1 0 001-1v-3.28A2 2 0 0030 22V10a2 2 0 00-2-2zM11 26H5v-2h6zm1-4H4V10h2V6h4v4h2zm2-4v-4h4v4zm13 8h-6v-2h6zm1-4h-8V10h2V6h4v4h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/blockchain.ts b/packages/hiccup-carbon-icons/src/blockchain.ts index 5a54f58679..6953efd001 100644 --- a/packages/hiccup-carbon-icons/src/blockchain.ts +++ b/packages/hiccup-carbon-icons/src/blockchain.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BLOCKCHAIN */ // prettier-ignore -export const BLOCKCHAIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 24H4V8h2zM28 8h-2v16h2zm-4-2V4H8v2zm0 22v-2H8v2z" }]]; +export const BLOCKCHAIN = svg( + ["path", { d: "M6 24H4V8h2zM28 8h-2v16h2zm-4-2V4H8v2zm0 22v-2H8v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/blog.ts b/packages/hiccup-carbon-icons/src/blog.ts index af2abaaec6..02d4c3a4a4 100644 --- a/packages/hiccup-carbon-icons/src/blog.ts +++ b/packages/hiccup-carbon-icons/src/blog.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BLOG */ // prettier-ignore -export const BLOG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 24h10v2H4zM4 18h10v2H4zM26 14H6a2 2 0 01-2-2V6a2 2 0 012-2h20a2 2 0 012 2v6a2 2 0 01-2 2zM6 6v6h20V6zM26 28h-6a2 2 0 01-2-2v-6a2 2 0 012-2h6a2 2 0 012 2v6a2 2 0 01-2 2zm-6-8v6h6v-6z" }]]; +export const BLOG = svg( + ["path", { d: "M4 24h10v2H4zM4 18h10v2H4zM26 14H6a2 2 0 01-2-2V6a2 2 0 012-2h20a2 2 0 012 2v6a2 2 0 01-2 2zM6 6v6h20V6zM26 28h-6a2 2 0 01-2-2v-6a2 2 0 012-2h6a2 2 0 012 2v6a2 2 0 01-2 2zm-6-8v6h6v-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bluetooth-off.ts b/packages/hiccup-carbon-icons/src/bluetooth-off.ts index 4897d0c592..d3ad14f2ed 100644 --- a/packages/hiccup-carbon-icons/src/bluetooth-off.ts +++ b/packages/hiccup-carbon-icons/src/bluetooth-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BLUETOOTH_OFF */ // prettier-ignore -export const BLUETOOTH_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 26.59L5.41 4 4 5.41 14.59 16 7 23.59 8.41 25 15 18.41V29a1 1 0 00.58.91A1.06 1.06 0 0016 30a1 1 0 00.65-.24l6.3-5.4L26.59 28zm-11 .24v-8.42l4.53 4.53zM17 12.75V5.17l4.53 3.89-4.11 4.11 1.41 1.41 4.88-4.87A1 1 0 0024 9a1 1 0 00-.35-.72l-7-6a1 1 0 00-1.07-.15A1 1 0 0015 3v7.75z" }]]; +export const BLUETOOTH_OFF = svg( + ["path", { d: "M28 26.59L5.41 4 4 5.41 14.59 16 7 23.59 8.41 25 15 18.41V29a1 1 0 00.58.91A1.06 1.06 0 0016 30a1 1 0 00.65-.24l6.3-5.4L26.59 28zm-11 .24v-8.42l4.53 4.53zM17 12.75V5.17l4.53 3.89-4.11 4.11 1.41 1.41 4.88-4.87A1 1 0 0024 9a1 1 0 00-.35-.72l-7-6a1 1 0 00-1.07-.15A1 1 0 0015 3v7.75z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bluetooth.ts b/packages/hiccup-carbon-icons/src/bluetooth.ts index 410a033f88..17dfa06e2b 100644 --- a/packages/hiccup-carbon-icons/src/bluetooth.ts +++ b/packages/hiccup-carbon-icons/src/bluetooth.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BLUETOOTH */ // prettier-ignore -export const BLUETOOTH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 30a1.06 1.06 0 01-.42-.09A1 1 0 0115 29V18.41L8.41 25 7 23.59 14.59 16 7 8.41 8.41 7 15 13.59V3a1 1 0 01.58-.91 1 1 0 011.07.15l7 6A1 1 0 0124 9a1 1 0 01-.29.75L17.41 16l6.3 6.29A1 1 0 0124 23a1 1 0 01-.35.72l-7 6A1 1 0 0116 30zm1-11.59v8.42l4.53-3.89zm0-13.24v8.42l4.53-4.53z" }]]; +export const BLUETOOTH = svg( + ["path", { d: "M16 30a1.06 1.06 0 01-.42-.09A1 1 0 0115 29V18.41L8.41 25 7 23.59 14.59 16 7 8.41 8.41 7 15 13.59V3a1 1 0 01.58-.91 1 1 0 011.07.15l7 6A1 1 0 0124 9a1 1 0 01-.29.75L17.41 16l6.3 6.29A1 1 0 0124 23a1 1 0 01-.35.72l-7 6A1 1 0 0116 30zm1-11.59v8.42l4.53-3.89zm0-13.24v8.42l4.53-4.53z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bookmark.ts b/packages/hiccup-carbon-icons/src/bookmark.ts index 97a23b0a72..735a978131 100644 --- a/packages/hiccup-carbon-icons/src/bookmark.ts +++ b/packages/hiccup-carbon-icons/src/bookmark.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BOOKMARK */ // prettier-ignore -export const BOOKMARK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 4v22.75l-7.1-3.59-.9-.45-.9.45L8 26.75V4h16m0-2H8a2 2 0 00-2 2v26l10-5 10 5V4a2 2 0 00-2-2z" }]]; +export const BOOKMARK = svg( + ["path", { d: "M24 4v22.75l-7.1-3.59-.9-.45-.9.45L8 26.75V4h16m0-2H8a2 2 0 00-2 2v26l10-5 10 5V4a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bot.ts b/packages/hiccup-carbon-icons/src/bot.ts index 44418dfb3f..6c1e0da479 100644 --- a/packages/hiccup-carbon-icons/src/bot.ts +++ b/packages/hiccup-carbon-icons/src/bot.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BOT */ // prettier-ignore -export const BOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 10h2v2h-2zM12 10h2v2h-2z" }], - ["path", { d: "M26 20h-5v-2h1a2.002 2.002 0 002-2v-4h2v-2h-2V8a2.002 2.002 0 00-2-2h-2V2h-2v4h-4V2h-2v4h-2a2.002 2.002 0 00-2 2v2H6v2h2v4a2.002 2.002 0 002 2h1v2H6a2.002 2.002 0 00-2 2v8h2v-8h20v8h2v-8a2.002 2.002 0 00-2-2zM10 8h12v8H10zm3 10h6v2h-6z" }]]; +export const BOT = svg( + ["path", { d: "M18 10h2v2h-2zM12 10h2v2h-2z" }], + ["path", { d: "M26 20h-5v-2h1a2.002 2.002 0 002-2v-4h2v-2h-2V8a2.002 2.002 0 00-2-2h-2V2h-2v4h-4V2h-2v4h-2a2.002 2.002 0 00-2 2v2H6v2h2v4a2.002 2.002 0 002 2h1v2H6a2.002 2.002 0 00-2 2v8h2v-8h20v8h2v-8a2.002 2.002 0 00-2-2zM10 8h12v8H10zm3 10h6v2h-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/box-plot.ts b/packages/hiccup-carbon-icons/src/box-plot.ts index 47ee454478..fb725930e7 100644 --- a/packages/hiccup-carbon-icons/src/box-plot.ts +++ b/packages/hiccup-carbon-icons/src/box-plot.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BOX_PLOT */ // prettier-ignore -export const BOX_PLOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 6V4H12v2h4v2h-4v12h4v2h-4v2h10v-2h-4v-2h4V8h-4V6zm-8 12v-3h6v3zm6-5h-6v-3h6z" }], - ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }]]; +export const BOX_PLOT = svg( + ["path", { d: "M22 6V4H12v2h4v2h-4v12h4v2h-4v2h10v-2h-4v-2h4V8h-4V6zm-8 12v-3h6v3zm6-5h-6v-3h6z" }], + ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/box.ts b/packages/hiccup-carbon-icons/src/box.ts index 6a4aaf8790..6ee1d38e57 100644 --- a/packages/hiccup-carbon-icons/src/box.ts +++ b/packages/hiccup-carbon-icons/src/box.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BOX */ // prettier-ignore -export const BOX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 21h-8a2 2 0 01-2-2v-2a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2zm-8-4v2h8v-2z" }], - ["path", { d: "M28 4H4a2 2 0 00-2 2v4a2 2 0 002 2v16a2 2 0 002 2h20a2 2 0 002-2V12a2 2 0 002-2V6a2 2 0 00-2-2zm-2 24H6V12h20zm2-18H4V6h24v4z" }]]; +export const BOX = svg( + ["path", { d: "M20 21h-8a2 2 0 01-2-2v-2a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2zm-8-4v2h8v-2z" }], + ["path", { d: "M28 4H4a2 2 0 00-2 2v4a2 2 0 002 2v16a2 2 0 002 2h20a2 2 0 002-2V12a2 2 0 002-2V6a2 2 0 00-2-2zm-2 24H6V12h20zm2-18H4V6h24v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/branch.ts b/packages/hiccup-carbon-icons/src/branch.ts index fdcfc5959a..b36363c551 100644 --- a/packages/hiccup-carbon-icons/src/branch.ts +++ b/packages/hiccup-carbon-icons/src/branch.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BRANCH */ // prettier-ignore -export const BRANCH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18a3.995 3.995 0 00-3.858 3H18a3.003 3.003 0 01-3-3v-4a4.951 4.951 0 00-1.026-3h8.168a4 4 0 100-2H9.858a4 4 0 100 2H10a3.003 3.003 0 013 3v4a5.006 5.006 0 005 5h4.142A3.994 3.994 0 1026 18zm0-10a2 2 0 11-2 2 2.002 2.002 0 012-2zM6 12a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 12a2 2 0 112-2 2.003 2.003 0 01-2 2z" }]]; +export const BRANCH = svg( + ["path", { d: "M26 18a3.995 3.995 0 00-3.858 3H18a3.003 3.003 0 01-3-3v-4a4.951 4.951 0 00-1.026-3h8.168a4 4 0 100-2H9.858a4 4 0 100 2H10a3.003 3.003 0 013 3v4a5.006 5.006 0 005 5h4.142A3.994 3.994 0 1026 18zm0-10a2 2 0 11-2 2 2.002 2.002 0 012-2zM6 12a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 12a2 2 0 112-2 2.003 2.003 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/brightness-contrast.ts b/packages/hiccup-carbon-icons/src/brightness-contrast.ts index c05eabb882..0ee1f083fb 100644 --- a/packages/hiccup-carbon-icons/src/brightness-contrast.ts +++ b/packages/hiccup-carbon-icons/src/brightness-contrast.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BRIGHTNESS_CONTRAST */ // prettier-ignore -export const BRIGHTNESS_CONTRAST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 2h2v3h-2zM27 15h3v2h-3zM15 27h2v3h-2zM2 15h3v2H2zM5.45 6.884l1.414-1.415 2.121 2.122-1.414 1.414zM23 7.58l2.121-2.12 1.414 1.414-2.121 2.121zM23.002 24.416l1.415-1.414 2.12 2.122-1.413 1.414zM5.47 25.13L7.59 23 9 24.42l-2.12 2.12-1.41-1.41zM16 8a8 8 0 108 8 8 8 0 00-8-8zm0 14a6 6 0 010-12z" }]]; +export const BRIGHTNESS_CONTRAST = svg( + ["path", { d: "M15 2h2v3h-2zM27 15h3v2h-3zM15 27h2v3h-2zM2 15h3v2H2zM5.45 6.884l1.414-1.415 2.121 2.122-1.414 1.414zM23 7.58l2.121-2.12 1.414 1.414-2.121 2.121zM23.002 24.416l1.415-1.414 2.12 2.122-1.413 1.414zM5.47 25.13L7.59 23 9 24.42l-2.12 2.12-1.41-1.41zM16 8a8 8 0 108 8 8 8 0 00-8-8zm0 14a6 6 0 010-12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/building-insights-1.ts b/packages/hiccup-carbon-icons/src/building-insights-1.ts index 4582610ec1..6f83069d83 100644 --- a/packages/hiccup-carbon-icons/src/building-insights-1.ts +++ b/packages/hiccup-carbon-icons/src/building-insights-1.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BUILDING_INSIGHTS_1 */ // prettier-ignore -export const BUILDING_INSIGHTS_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], - ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2zM9 12H7a5.006 5.006 0 015-5v2a3.003 3.003 0 00-3 3zM4 12H2A10.011 10.011 0 0112 2v2a8.01 8.01 0 00-8 8z" }]]; +export const BUILDING_INSIGHTS_1 = svg( + ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], + ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2zM9 12H7a5.006 5.006 0 015-5v2a3.003 3.003 0 00-3 3zM4 12H2A10.011 10.011 0 0112 2v2a8.01 8.01 0 00-8 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/building-insights-2.ts b/packages/hiccup-carbon-icons/src/building-insights-2.ts index 9455f04189..963196b917 100644 --- a/packages/hiccup-carbon-icons/src/building-insights-2.ts +++ b/packages/hiccup-carbon-icons/src/building-insights-2.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BUILDING_INSIGHTS_2 */ // prettier-ignore -export const BUILDING_INSIGHTS_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], - ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2zM5.5 12a3.5 3.5 0 010-7h.627A4.006 4.006 0 0110 2h2v2h-2a2.002 2.002 0 00-2 2v1H5.5a1.5 1.5 0 000 3H12v2z" }]]; +export const BUILDING_INSIGHTS_2 = svg( + ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], + ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2zM5.5 12a3.5 3.5 0 010-7h.627A4.006 4.006 0 0110 2h2v2h-2a2.002 2.002 0 00-2 2v1H5.5a1.5 1.5 0 000 3H12v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/building-insights-3.ts b/packages/hiccup-carbon-icons/src/building-insights-3.ts index 8c154785a5..0426b7d2e6 100644 --- a/packages/hiccup-carbon-icons/src/building-insights-3.ts +++ b/packages/hiccup-carbon-icons/src/building-insights-3.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BUILDING_INSIGHTS_3 */ // prettier-ignore -export const BUILDING_INSIGHTS_3: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], - ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2zM2 10h5v2H2zM10 2h2v5h-2zM4 5.414L5.414 4 9 7.585 7.585 9z" }]]; +export const BUILDING_INSIGHTS_3 = svg( + ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], + ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2zM2 10h5v2H2zM10 2h2v5h-2zM4 5.414L5.414 4 9 7.585 7.585 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/building.ts b/packages/hiccup-carbon-icons/src/building.ts index da7fc4a651..c2c67e1d52 100644 --- a/packages/hiccup-carbon-icons/src/building.ts +++ b/packages/hiccup-carbon-icons/src/building.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BUILDING */ // prettier-ignore -export const BUILDING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], - ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2z" }]]; +export const BUILDING = svg( + ["path", { d: "M28 2H16a2.002 2.002 0 00-2 2v10H4a2.002 2.002 0 00-2 2v14h28V4a2.002 2.002 0 00-2-2zM9 28v-7h4v7zm19 0H15v-8a1 1 0 00-1-1H8a1 1 0 00-1 1v8H4V16h12V4h12z" }], + ["path", { d: "M18 8h2v2h-2zM24 8h2v2h-2zM18 14h2v2h-2zM24 14h2v2h-2zM18 20h2v2h-2zM24 20h2v2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bullhorn.ts b/packages/hiccup-carbon-icons/src/bullhorn.ts index 8a8d98a6cf..9d1dc1ab33 100644 --- a/packages/hiccup-carbon-icons/src/bullhorn.ts +++ b/packages/hiccup-carbon-icons/src/bullhorn.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BULLHORN */ // prettier-ignore -export const BULLHORN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6v2.17l-20.36 3.7a2 2 0 00-1.64 2v4.34a2 2 0 001.64 2l2.36.35V24a2 2 0 002 2h8a2 2 0 002-2v-1.26l6 1.09V26h2V6zm-8 18h-8v-3.07l8 1.45zM6 18.17v-4.34l20-3.63v11.6z" }]]; +export const BULLHORN = svg( + ["path", { d: "M26 6v2.17l-20.36 3.7a2 2 0 00-1.64 2v4.34a2 2 0 001.64 2l2.36.35V24a2 2 0 002 2h8a2 2 0 002-2v-1.26l6 1.09V26h2V6zm-8 18h-8v-3.07l8 1.45zM6 18.17v-4.34l20-3.63v11.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/bus.ts b/packages/hiccup-carbon-icons/src/bus.ts index 47fc84222f..1a5ce2de0f 100644 --- a/packages/hiccup-carbon-icons/src/bus.ts +++ b/packages/hiccup-carbon-icons/src/bus.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#BUS */ // prettier-ignore -export const BUS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 11h2v4h-2zM3 11h2v4H3zM20 20h2v2h-2zM10 20h2v2h-2z" }], - ["path", { d: "M21 4H11a5.006 5.006 0 00-5 5v14a2.002 2.002 0 002 2v3h2v-3h12v3h2v-3a2.003 2.003 0 002-2V9a5.006 5.006 0 00-5-5zm3 6v6H8v-6zM11 6h10a2.995 2.995 0 012.816 2H8.184A2.995 2.995 0 0111 6zM8 23v-5h16.001l.001 5z" }]]; +export const BUS = svg( + ["path", { d: "M27 11h2v4h-2zM3 11h2v4H3zM20 20h2v2h-2zM10 20h2v2h-2z" }], + ["path", { d: "M21 4H11a5.006 5.006 0 00-5 5v14a2.002 2.002 0 002 2v3h2v-3h12v3h2v-3a2.003 2.003 0 002-2V9a5.006 5.006 0 00-5-5zm3 6v6H8v-6zM11 6h10a2.995 2.995 0 012.816 2H8.184A2.995 2.995 0 0111 6zM8 23v-5h16.001l.001 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cad.ts b/packages/hiccup-carbon-icons/src/cad.ts index 5e9c5263c5..dc33f3aadd 100644 --- a/packages/hiccup-carbon-icons/src/cad.ts +++ b/packages/hiccup-carbon-icons/src/cad.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAD */ // prettier-ignore -export const CAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 9h-4a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5zM26 23h-4V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2h-2zM10 23H4a2 2 0 01-2-2V11a2 2 0 012-2h6v2H4v10h6z" }]]; +export const CAD = svg( + ["path", { d: "M18 9h-4a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5zM26 23h-4V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2h-2zM10 23H4a2 2 0 01-2-2V11a2 2 0 012-2h6v2H4v10h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cafe.ts b/packages/hiccup-carbon-icons/src/cafe.ts index 8bd3ef2000..98eeeb8678 100644 --- a/packages/hiccup-carbon-icons/src/cafe.ts +++ b/packages/hiccup-carbon-icons/src/cafe.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAFE */ // prettier-ignore -export const CAFE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 28h28v2H2zM24.5 11H8a2.002 2.002 0 00-2 2v8a5.006 5.006 0 005 5h8a5.006 5.006 0 005-5v-1h.5a4.5 4.5 0 000-9zM22 21a3.003 3.003 0 01-3 3h-8a3.003 3.003 0 01-3-3v-8h14zm2.5-3H24v-5h.5a2.5 2.5 0 010 5zM19 9h-2v-.146a1.988 1.988 0 00-1.105-1.789L13.21 5.724A3.979 3.979 0 0111 2.146V1h2v1.146a1.99 1.99 0 001.105 1.789l2.684 1.341A3.98 3.98 0 0119 8.854z" }]]; +export const CAFE = svg( + ["path", { d: "M2 28h28v2H2zM24.5 11H8a2.002 2.002 0 00-2 2v8a5.006 5.006 0 005 5h8a5.006 5.006 0 005-5v-1h.5a4.5 4.5 0 000-9zM22 21a3.003 3.003 0 01-3 3h-8a3.003 3.003 0 01-3-3v-8h14zm2.5-3H24v-5h.5a2.5 2.5 0 010 5zM19 9h-2v-.146a1.988 1.988 0 00-1.105-1.789L13.21 5.724A3.979 3.979 0 0111 2.146V1h2v1.146a1.99 1.99 0 001.105 1.789l2.684 1.341A3.98 3.98 0 0119 8.854z" }] +); diff --git a/packages/hiccup-carbon-icons/src/calculator-check.ts b/packages/hiccup-carbon-icons/src/calculator-check.ts index 29e05f477d..49ad3cdbc5 100644 --- a/packages/hiccup-carbon-icons/src/calculator-check.ts +++ b/packages/hiccup-carbon-icons/src/calculator-check.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CALCULATOR_CHECK */ // prettier-ignore -export const CALCULATOR_CHECK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 26.59L21.41 24 20 25.41l4 4 7-7L29.59 21 24 26.59zM15 23h2v2h-2zM9 23h2v2H9zM21 18h2v2h-2zM15 18h2v2h-2zM9 18h2v2H9zM21 13h2v2h-2zM15 13h2v2h-2zM9 13h2v2H9zM9 7h14v3H9z" }], - ["path", { d: "M17 30H6.005A2.007 2.007 0 014 27.995V3.996A1.998 1.998 0 015.996 2h20.008A1.998 1.998 0 0128 3.996V18h-2V4H6v24h11z" }]]; +export const CALCULATOR_CHECK = svg( + ["path", { d: "M24 26.59L21.41 24 20 25.41l4 4 7-7L29.59 21 24 26.59zM15 23h2v2h-2zM9 23h2v2H9zM21 18h2v2h-2zM15 18h2v2h-2zM9 18h2v2H9zM21 13h2v2h-2zM15 13h2v2h-2zM9 13h2v2H9zM9 7h14v3H9z" }], + ["path", { d: "M17 30H6.005A2.007 2.007 0 014 27.995V3.996A1.998 1.998 0 015.996 2h20.008A1.998 1.998 0 0128 3.996V18h-2V4H6v24h11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/calculator.ts b/packages/hiccup-carbon-icons/src/calculator.ts index bfb336490e..19cdc521d2 100644 --- a/packages/hiccup-carbon-icons/src/calculator.ts +++ b/packages/hiccup-carbon-icons/src/calculator.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CALCULATOR */ // prettier-ignore -export const CALCULATOR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4v24H6V4h20m0-2H6a2 2 0 00-2 2v24a2 2 0 002 2h20a2 2 0 002-2V4a2 2 0 00-2-2z" }], - ["path", { d: "M9 23h2v2H9zM21 23h2v2h-2zM9 18h2v2H9zM21 18h2v2h-2zM9 13h2v2H9zM15 23h2v2h-2zM15 18h2v2h-2zM15 13h2v2h-2zM21 13h2v2h-2zM9 7h14v3H9z" }]]; +export const CALCULATOR = svg( + ["path", { d: "M26 4v24H6V4h20m0-2H6a2 2 0 00-2 2v24a2 2 0 002 2h20a2 2 0 002-2V4a2 2 0 00-2-2z" }], + ["path", { d: "M9 23h2v2H9zM21 23h2v2h-2zM9 18h2v2H9zM21 18h2v2h-2zM9 13h2v2H9zM15 23h2v2h-2zM15 18h2v2h-2zM15 13h2v2h-2zM21 13h2v2h-2zM9 7h14v3H9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/calendar-settings.ts b/packages/hiccup-carbon-icons/src/calendar-settings.ts index 2a34d56b0d..7cd4f78ce4 100644 --- a/packages/hiccup-carbon-icons/src/calendar-settings.ts +++ b/packages/hiccup-carbon-icons/src/calendar-settings.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CALENDAR_SETTINGS */ // prettier-ignore -export const CALENDAR_SETTINGS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 23v-2h-2.09a5.96 5.96 0 00-1.024-2.47l1.478-1.48-1.414-1.414-1.479 1.479A5.958 5.958 0 0023 16.09V14h-2v2.09a5.958 5.958 0 00-2.47 1.024l-1.48-1.478-1.414 1.414 1.479 1.479A5.962 5.962 0 0016.09 21H14v2h2.09a5.962 5.962 0 001.024 2.47l-1.478 1.48 1.414 1.414 1.479-1.479A5.958 5.958 0 0021 27.91V30h2v-2.09a5.958 5.958 0 002.47-1.024l1.48 1.478 1.414-1.414-1.479-1.479A5.96 5.96 0 0027.91 23zm-8 3a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], - ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }]]; +export const CALENDAR_SETTINGS = svg( + ["path", { d: "M30 23v-2h-2.09a5.96 5.96 0 00-1.024-2.47l1.478-1.48-1.414-1.414-1.479 1.479A5.958 5.958 0 0023 16.09V14h-2v2.09a5.958 5.958 0 00-2.47 1.024l-1.48-1.478-1.414 1.414 1.479 1.479A5.962 5.962 0 0016.09 21H14v2h2.09a5.962 5.962 0 001.024 2.47l-1.478 1.48 1.414 1.414 1.479-1.479A5.958 5.958 0 0021 27.91V30h2v-2.09a5.958 5.958 0 002.47-1.024l1.48 1.478 1.414-1.414-1.479-1.479A5.96 5.96 0 0027.91 23zm-8 3a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], + ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/calendar.ts b/packages/hiccup-carbon-icons/src/calendar.ts index c1b5ee9ff7..212a123b6e 100644 --- a/packages/hiccup-carbon-icons/src/calendar.ts +++ b/packages/hiccup-carbon-icons/src/calendar.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CALENDAR */ // prettier-ignore -export const CALENDAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4h-4V2h-2v2h-8V2h-2v2H6c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 22H6V12h20v14zm0-16H6V6h4v2h2V6h8v2h2V6h4v4z" }]]; +export const CALENDAR = svg( + ["path", { d: "M26 4h-4V2h-2v2h-8V2h-2v2H6c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 22H6V12h20v14zm0-16H6V6h4v2h2V6h8v2h2V6h4v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/calibrate.ts b/packages/hiccup-carbon-icons/src/calibrate.ts index c11788e2b4..a1fa8ca254 100644 --- a/packages/hiccup-carbon-icons/src/calibrate.ts +++ b/packages/hiccup-carbon-icons/src/calibrate.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CALIBRATE */ // prettier-ignore -export const CALIBRATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.83 21.17L25 17.37l.67-.67a1 1 0 000-1.41l-6-6a1 1 0 00-1.41 0l-.79.79-6.76-6.79a1 1 0 00-1.41 0l-4 4-.12.15-4 6a1 1 0 00.12 1.26l3 3a1 1 0 001.42 0L10 13.41l2.09 2.09-4.8 4.79a1 1 0 000 1.41l2 2a1 1 0 00.71.3 1 1 0 00.52-.15l4.33-2.6 2.44 2.45a1 1 0 001.41 0l.67-.7 3.79 3.83a4 4 0 005.66-5.66zM10 10.58l-5 5-1.71-1.71 3.49-5.24L10 5.41l6.09 6.09-2.59 2.58zm8 11l-2.84-2.84-5 3-.74-.74L19 11.41 23.59 16zm9.42 3.83a2 2 0 01-2.83 0l-3.8-3.79 2.83-2.83 3.8 3.79a2 2 0 010 2.83z" }]]; +export const CALIBRATE = svg( + ["path", { d: "M28.83 21.17L25 17.37l.67-.67a1 1 0 000-1.41l-6-6a1 1 0 00-1.41 0l-.79.79-6.76-6.79a1 1 0 00-1.41 0l-4 4-.12.15-4 6a1 1 0 00.12 1.26l3 3a1 1 0 001.42 0L10 13.41l2.09 2.09-4.8 4.79a1 1 0 000 1.41l2 2a1 1 0 00.71.3 1 1 0 00.52-.15l4.33-2.6 2.44 2.45a1 1 0 001.41 0l.67-.7 3.79 3.83a4 4 0 005.66-5.66zM10 10.58l-5 5-1.71-1.71 3.49-5.24L10 5.41l6.09 6.09-2.59 2.58zm8 11l-2.84-2.84-5 3-.74-.74L19 11.41 23.59 16zm9.42 3.83a2 2 0 01-2.83 0l-3.8-3.79 2.83-2.83 3.8 3.79a2 2 0 010 2.83z" }] +); diff --git a/packages/hiccup-carbon-icons/src/camera-action.ts b/packages/hiccup-carbon-icons/src/camera-action.ts index 8e6c8dd5ac..e05626f2a4 100644 --- a/packages/hiccup-carbon-icons/src/camera-action.ts +++ b/packages/hiccup-carbon-icons/src/camera-action.ts @@ -1,15 +1,17 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAMERA_ACTION */ // prettier-ignore -export const CAMERA_ACTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 23a6 6 0 116-6 6 6 0 01-6 6zm0-10a4 4 0 104 4 4 4 0 00-4-4z" }], - ["path", { d: "M29 27H3a1 1 0 01-1-1V6a1 1 0 011-1h26a1 1 0 011 1v20a1 1 0 01-1 1zM4 25h24V7H4z" }], - ["path", { d: "M19 9h7v2h-7z" }], - ["circle", - { - r: 1, - cy: 17, - cx: 12, - }]]; +export const CAMERA_ACTION = svg( + ["path", { d: "M12 23a6 6 0 116-6 6 6 0 01-6 6zm0-10a4 4 0 104 4 4 4 0 00-4-4z" }], + ["path", { d: "M29 27H3a1 1 0 01-1-1V6a1 1 0 011-1h26a1 1 0 011 1v20a1 1 0 01-1 1zM4 25h24V7H4z" }], + ["path", { d: "M19 9h7v2h-7z" }], + ["circle", + { + r: 1, + cy: 17, + cx: 12, + }] +); diff --git a/packages/hiccup-carbon-icons/src/camera.ts b/packages/hiccup-carbon-icons/src/camera.ts index 47c6322d96..cc3c10e430 100644 --- a/packages/hiccup-carbon-icons/src/camera.ts +++ b/packages/hiccup-carbon-icons/src/camera.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAMERA */ // prettier-ignore -export const CAMERA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 26H3a1 1 0 01-1-1V8a1 1 0 011-1h6.46l1.71-2.55A1 1 0 0112 4h8a1 1 0 01.83.45L22.54 7H29a1 1 0 011 1v17a1 1 0 01-1 1zM4 24h24V9h-6a1 1 0 01-.83-.45L19.46 6h-6.92l-1.71 2.55A1 1 0 0110 9H4z" }], - ["path", { d: "M16 22a6 6 0 116-6 6 6 0 01-6 6zm0-10a4 4 0 104 4 4 4 0 00-4-4z" }]]; +export const CAMERA = svg( + ["path", { d: "M29 26H3a1 1 0 01-1-1V8a1 1 0 011-1h6.46l1.71-2.55A1 1 0 0112 4h8a1 1 0 01.83.45L22.54 7H29a1 1 0 011 1v17a1 1 0 01-1 1zM4 24h24V9h-6a1 1 0 01-.83-.45L19.46 6h-6.92l-1.71 2.55A1 1 0 0110 9H4z" }], + ["path", { d: "M16 22a6 6 0 116-6 6 6 0 01-6 6zm0-10a4 4 0 104 4 4 4 0 00-4-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/campsite.ts b/packages/hiccup-carbon-icons/src/campsite.ts index 8458c1c44b..5782dfc1c2 100644 --- a/packages/hiccup-carbon-icons/src/campsite.ts +++ b/packages/hiccup-carbon-icons/src/campsite.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAMPSITE */ // prettier-ignore -export const CAMPSITE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.562 26L17.17 8.928l2.366-3.888L17.828 4 16 7.005 14.17 4l-1.708 1.04 2.366 3.888L4.438 26H2v2h28v-2zM16 10.85L25.22 26H17v-8h-2v8H6.78z" }]]; +export const CAMPSITE = svg( + ["path", { d: "M27.562 26L17.17 8.928l2.366-3.888L17.828 4 16 7.005 14.17 4l-1.708 1.04 2.366 3.888L4.438 26H2v2h28v-2zM16 10.85L25.22 26H17v-8h-2v8H6.78z" }] +); diff --git a/packages/hiccup-carbon-icons/src/car-front.ts b/packages/hiccup-carbon-icons/src/car-front.ts index 4cc5e079d5..48ffc3415b 100644 --- a/packages/hiccup-carbon-icons/src/car-front.ts +++ b/packages/hiccup-carbon-icons/src/car-front.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAR_FRONT */ // prettier-ignore -export const CAR_FRONT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 19h6v2h-6z" }], - ["path", { d: "M25.44 14L24.17 9.45A2.009 2.009 0 0022.246 8H9.754a2.009 2.009 0 00-1.923 1.45L6.531 14H4v2h2.037L6 23a2.002 2.002 0 002 2v3h2v-3h12v3h2v-3a2.002 2.002 0 002-2v-7h2v-2zM9.755 10h12.492l1.428 5H8.326zM24 21v2H8v-2h2v-2H8v-2h16v2h-2v2z" }]]; +export const CAR_FRONT = svg( + ["path", { d: "M13 19h6v2h-6z" }], + ["path", { d: "M25.44 14L24.17 9.45A2.009 2.009 0 0022.246 8H9.754a2.009 2.009 0 00-1.923 1.45L6.531 14H4v2h2.037L6 23a2.002 2.002 0 002 2v3h2v-3h12v3h2v-3a2.002 2.002 0 002-2v-7h2v-2zM9.755 10h12.492l1.428 5H8.326zM24 21v2H8v-2h2v-2H8v-2h16v2h-2v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/car.ts b/packages/hiccup-carbon-icons/src/car.ts index 05c6d7e048..858900e407 100644 --- a/packages/hiccup-carbon-icons/src/car.ts +++ b/packages/hiccup-carbon-icons/src/car.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAR */ // prettier-ignore -export const CAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.34 15.94l-7.73-2.78-3.24-4.06A3 3 0 0016.05 8h-8a3 3 0 00-2.47 1.32l-2.71 4A5 5 0 002 16.11V24a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7.12a1 1 0 00-.66-.94zM9 26a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4v-6.89a3 3 0 01.52-1.69l2.71-4a1 1 0 01.83-.42h8a1 1 0 01.77.36l3.4 4.27a1.09 1.09 0 00.44.32L28 17.58z" }]]; +export const CAR = svg( + ["path", { d: "M29.34 15.94l-7.73-2.78-3.24-4.06A3 3 0 0016.05 8h-8a3 3 0 00-2.47 1.32l-2.71 4A5 5 0 002 16.11V24a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7.12a1 1 0 00-.66-.94zM9 26a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4v-6.89a3 3 0 01.52-1.69l2.71-4a1 1 0 01.83-.42h8a1 1 0 01.77.36l3.4 4.27a1.09 1.09 0 00.44.32L28 17.58z" }] +); diff --git a/packages/hiccup-carbon-icons/src/carbon.ts b/packages/hiccup-carbon-icons/src/carbon.ts index 8101ad5055..c02bc45ddf 100644 --- a/packages/hiccup-carbon-icons/src/carbon.ts +++ b/packages/hiccup-carbon-icons/src/carbon.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARBON */ // prettier-ignore -export const CARBON: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13.5 30.815a1.001 1.001 0 01-.493-.13l-8.5-4.815A1 1 0 014 25V15a1 1 0 01.507-.87l8.5-4.815a1.001 1.001 0 01.986 0l8.5 4.815A1 1 0 0123 15v10a1 1 0 01-.507.87l-8.5 4.815a1.001 1.001 0 01-.493.13zM6 24.417l7.5 4.248 7.5-4.248v-8.834l-7.5-4.248L6 15.582z" }], - ["path", { d: "M28 17h-2V7.583l-7.5-4.248-8.007 4.535-.986-1.74 8.5-4.815a1.001 1.001 0 01.986 0l8.5 4.815A1 1 0 0128 7z" }]]; +export const CARBON = svg( + ["path", { d: "M13.5 30.815a1.001 1.001 0 01-.493-.13l-8.5-4.815A1 1 0 014 25V15a1 1 0 01.507-.87l8.5-4.815a1.001 1.001 0 01.986 0l8.5 4.815A1 1 0 0123 15v10a1 1 0 01-.507.87l-8.5 4.815a1.001 1.001 0 01-.493.13zM6 24.417l7.5 4.248 7.5-4.248v-8.834l-7.5-4.248L6 15.582z" }], + ["path", { d: "M28 17h-2V7.583l-7.5-4.248-8.007 4.535-.986-1.74 8.5-4.815a1.001 1.001 0 01.986 0l8.5 4.815A1 1 0 0128 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/caret-down.ts b/packages/hiccup-carbon-icons/src/caret-down.ts index 9e0f81daaa..13d38531ac 100644 --- a/packages/hiccup-carbon-icons/src/caret-down.ts +++ b/packages/hiccup-carbon-icons/src/caret-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARET_DOWN */ // prettier-ignore -export const CARET_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 12l-8 10-8-10z" }]]; +export const CARET_DOWN = svg( + ["path", { d: "M24 12l-8 10-8-10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/caret-left.ts b/packages/hiccup-carbon-icons/src/caret-left.ts index 7c9ec52546..0d513d24e3 100644 --- a/packages/hiccup-carbon-icons/src/caret-left.ts +++ b/packages/hiccup-carbon-icons/src/caret-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARET_LEFT */ // prettier-ignore -export const CARET_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 24l-10-8 10-8z" }]]; +export const CARET_LEFT = svg( + ["path", { d: "M20 24l-10-8 10-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/caret-right.ts b/packages/hiccup-carbon-icons/src/caret-right.ts index 72527e6a73..e6be9f8126 100644 --- a/packages/hiccup-carbon-icons/src/caret-right.ts +++ b/packages/hiccup-carbon-icons/src/caret-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARET_RIGHT */ // prettier-ignore -export const CARET_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 8l10 8-10 8z" }]]; +export const CARET_RIGHT = svg( + ["path", { d: "M12 8l10 8-10 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/caret-sort-down.ts b/packages/hiccup-carbon-icons/src/caret-sort-down.ts index b08dd07ff2..ee07a3053c 100644 --- a/packages/hiccup-carbon-icons/src/caret-sort-down.ts +++ b/packages/hiccup-carbon-icons/src/caret-sort-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARET_SORT_DOWN */ // prettier-ignore -export const CARET_SORT_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24l-8 8-8-8z" }]]; +export const CARET_SORT_DOWN = svg( + ["path", { d: "M24 24l-8 8-8-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/caret-sort-up.ts b/packages/hiccup-carbon-icons/src/caret-sort-up.ts index 6775450967..1cc92bf64b 100644 --- a/packages/hiccup-carbon-icons/src/caret-sort-up.ts +++ b/packages/hiccup-carbon-icons/src/caret-sort-up.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARET_SORT_UP */ // prettier-ignore -export const CARET_SORT_UP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 8l8-8 8 8z" }]]; +export const CARET_SORT_UP = svg( + ["path", { d: "M8 8l8-8 8 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/caret-sort.ts b/packages/hiccup-carbon-icons/src/caret-sort.ts index cc112ea09a..509ee3ec83 100644 --- a/packages/hiccup-carbon-icons/src/caret-sort.ts +++ b/packages/hiccup-carbon-icons/src/caret-sort.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARET_SORT */ // prettier-ignore -export const CARET_SORT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24l-8 8-8-8zM8 8l8-8 8 8z" }]]; +export const CARET_SORT = svg( + ["path", { d: "M24 24l-8 8-8-8zM8 8l8-8 8 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/caret-up.ts b/packages/hiccup-carbon-icons/src/caret-up.ts index 0253812913..bdec95cca4 100644 --- a/packages/hiccup-carbon-icons/src/caret-up.ts +++ b/packages/hiccup-carbon-icons/src/caret-up.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CARET_UP */ // prettier-ignore -export const CARET_UP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 20l8-10 8 10z" }]]; +export const CARET_UP = svg( + ["path", { d: "M8 20l8-10 8 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/carousel-horizontal.ts b/packages/hiccup-carbon-icons/src/carousel-horizontal.ts index 016a96b398..232f451b27 100644 --- a/packages/hiccup-carbon-icons/src/carousel-horizontal.ts +++ b/packages/hiccup-carbon-icons/src/carousel-horizontal.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAROUSEL_HORIZONTAL */ // prettier-ignore -export const CAROUSEL_HORIZONTAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 26H10a2 2 0 01-2-2V8a2 2 0 012-2h12a2 2 0 012 2v16a2 2 0 01-2 2zM10 8v16h12V8zM4 24H0v-2h4V10H0V8h4a2 2 0 012 2v12a2 2 0 01-2 2zM32 24h-4a2 2 0 01-2-2V10a2 2 0 012-2h4v2h-4v12h4z" }]]; +export const CAROUSEL_HORIZONTAL = svg( + ["path", { d: "M22 26H10a2 2 0 01-2-2V8a2 2 0 012-2h12a2 2 0 012 2v16a2 2 0 01-2 2zM10 8v16h12V8zM4 24H0v-2h4V10H0V8h4a2 2 0 012 2v12a2 2 0 01-2 2zM32 24h-4a2 2 0 01-2-2V10a2 2 0 012-2h4v2h-4v12h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/carousel-vertical.ts b/packages/hiccup-carbon-icons/src/carousel-vertical.ts index c80701c02f..df7d7d5dea 100644 --- a/packages/hiccup-carbon-icons/src/carousel-vertical.ts +++ b/packages/hiccup-carbon-icons/src/carousel-vertical.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CAROUSEL_VERTICAL */ // prettier-ignore -export const CAROUSEL_VERTICAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 10v12a2 2 0 01-2 2H8a2 2 0 01-2-2V10a2 2 0 012-2h16a2 2 0 012 2zM8 22h16V10H8zM24 28v4h-2v-4H10v4H8v-4a2 2 0 012-2h12a2 2 0 012 2zM24 0v4a2 2 0 01-2 2H10a2 2 0 01-2-2V0h2v4h12V0z" }]]; +export const CAROUSEL_VERTICAL = svg( + ["path", { d: "M26 10v12a2 2 0 01-2 2H8a2 2 0 01-2-2V10a2 2 0 012-2h16a2 2 0 012 2zM8 22h16V10H8zM24 28v4h-2v-4H10v4H8v-4a2 2 0 012-2h12a2 2 0 012 2zM24 0v4a2 2 0 01-2 2H10a2 2 0 01-2-2V0h2v4h12V0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/catalog.ts b/packages/hiccup-carbon-icons/src/catalog.ts index 6044c48f00..7cad45bed2 100644 --- a/packages/hiccup-carbon-icons/src/catalog.ts +++ b/packages/hiccup-carbon-icons/src/catalog.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CATALOG */ // prettier-ignore -export const CATALOG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 2H8a2 2 0 00-2 2v4H4v2h2v5H4v2h2v5H4v2h2v4a2 2 0 002 2h18a2 2 0 002-2V4a2 2 0 00-2-2zm0 26H8v-4h2v-2H8v-5h2v-2H8v-5h2V8H8V4h18z" }], - ["path", { d: "M14 8h8v2h-8zM14 15h8v2h-8zM14 22h8v2h-8z" }]]; +export const CATALOG = svg( + ["path", { d: "M26 2H8a2 2 0 00-2 2v4H4v2h2v5H4v2h2v5H4v2h2v4a2 2 0 002 2h18a2 2 0 002-2V4a2 2 0 00-2-2zm0 26H8v-4h2v-2H8v-5h2v-2H8v-5h2V8H8V4h18z" }], + ["path", { d: "M14 8h8v2h-8zM14 15h8v2h-8zM14 22h8v2h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/categories.ts b/packages/hiccup-carbon-icons/src/categories.ts index 0eed0efd3e..baf307ec15 100644 --- a/packages/hiccup-carbon-icons/src/categories.ts +++ b/packages/hiccup-carbon-icons/src/categories.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CATEGORIES */ // prettier-ignore -export const CATEGORIES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6.76 6l.45.89L7.76 8H12v5H4V6h2.76m.62-2H3a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1V7a1 1 0 00-1-1H9l-.72-1.45a1 1 0 00-.9-.55zM22.76 6l.45.89.55 1.11H28v5h-8V6h2.76m.62-2H19a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1V7a1 1 0 00-1-1h-4l-.72-1.45a1 1 0 00-.9-.55zM6.76 19l.45.89.55 1.11H12v5H4v-7h2.76m.62-2H3a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1v-7a1 1 0 00-1-1H9l-.72-1.45a1 1 0 00-.9-.55zM22.76 19l.45.89.55 1.11H28v5h-8v-7h2.76m.62-2H19a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1v-7a1 1 0 00-1-1h-4l-.72-1.45a1 1 0 00-.9-.55z" }]]; +export const CATEGORIES = svg( + ["path", { d: "M6.76 6l.45.89L7.76 8H12v5H4V6h2.76m.62-2H3a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1V7a1 1 0 00-1-1H9l-.72-1.45a1 1 0 00-.9-.55zM22.76 6l.45.89.55 1.11H28v5h-8V6h2.76m.62-2H19a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1V7a1 1 0 00-1-1h-4l-.72-1.45a1 1 0 00-.9-.55zM6.76 19l.45.89.55 1.11H12v5H4v-7h2.76m.62-2H3a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1v-7a1 1 0 00-1-1H9l-.72-1.45a1 1 0 00-.9-.55zM22.76 19l.45.89.55 1.11H28v5h-8v-7h2.76m.62-2H19a1 1 0 00-1 1v9a1 1 0 001 1h10a1 1 0 001-1v-7a1 1 0 00-1-1h-4l-.72-1.45a1 1 0 00-.9-.55z" }] +); diff --git a/packages/hiccup-carbon-icons/src/category-add.ts b/packages/hiccup-carbon-icons/src/category-add.ts index 818262eece..7473fe024b 100644 --- a/packages/hiccup-carbon-icons/src/category-add.ts +++ b/packages/hiccup-carbon-icons/src/category-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CATEGORY_ADD */ // prettier-ignore -export const CATEGORY_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 6l-1.41 1.41L17.17 11l-3.58 3.59L15 16l5-5-5-5z" }], - ["path", { d: "M28 24H17v-4h6a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2H9a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h6v4H4a2 2 0 00-2 2v4h2v-4h11v4h2v-4h11v4h2v-4a2 2 0 00-2-2zM9 4h14l.002 14H9z" }]]; +export const CATEGORY_ADD = svg( + ["path", { d: "M15 6l-1.41 1.41L17.17 11l-3.58 3.59L15 16l5-5-5-5z" }], + ["path", { d: "M28 24H17v-4h6a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2H9a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h6v4H4a2 2 0 00-2 2v4h2v-4h11v4h2v-4h11v4h2v-4a2 2 0 00-2-2zM9 4h14l.002 14H9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/category-and.ts b/packages/hiccup-carbon-icons/src/category-and.ts index f71f5de824..715b46864e 100644 --- a/packages/hiccup-carbon-icons/src/category-and.ts +++ b/packages/hiccup-carbon-icons/src/category-and.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CATEGORY_AND */ // prettier-ignore -export const CATEGORY_AND: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 30v-4h11v4h2v-4h11v4h2v-4a2 2 0 00-2-2H17v-5h-2v5H4a2 2 0 00-2 2v4zM20.695 13.986A10.08 10.08 0 0021.946 10H23V8h-3v1a9.263 9.263 0 01-.664 3.27L16.65 8.883a5.126 5.126 0 002.144-2.37 3.252 3.252 0 00-.189-2.702 3.38 3.38 0 00-2.239-1.706 3.469 3.469 0 00-4.222 2.119c-.505 1.552.44 3.116 1.261 4.108a4.726 4.726 0 00-2.346 4.828A4.453 4.453 0 0015.427 17h.006a5.784 5.784 0 003.971-1.423L20.532 17h2.552zM14.047 4.84A1.322 1.322 0 0115.414 4a2.41 2.41 0 01.521.058 1.402 1.402 0 01.912.702 1.25 1.25 0 01.079 1.042 3.687 3.687 0 01-1.682 1.593c-.66-.713-1.435-1.822-1.197-2.554zM15.432 15h-.004a2.443 2.443 0 01-2.392-2.15 2.826 2.826 0 011.81-3.026l3.312 4.179a3.885 3.885 0 01-2.726.997z" }]]; +export const CATEGORY_AND = svg( + ["path", { d: "M4 30v-4h11v4h2v-4h11v4h2v-4a2 2 0 00-2-2H17v-5h-2v5H4a2 2 0 00-2 2v4zM20.695 13.986A10.08 10.08 0 0021.946 10H23V8h-3v1a9.263 9.263 0 01-.664 3.27L16.65 8.883a5.126 5.126 0 002.144-2.37 3.252 3.252 0 00-.189-2.702 3.38 3.38 0 00-2.239-1.706 3.469 3.469 0 00-4.222 2.119c-.505 1.552.44 3.116 1.261 4.108a4.726 4.726 0 00-2.346 4.828A4.453 4.453 0 0015.427 17h.006a5.784 5.784 0 003.971-1.423L20.532 17h2.552zM14.047 4.84A1.322 1.322 0 0115.414 4a2.41 2.41 0 01.521.058 1.402 1.402 0 01.912.702 1.25 1.25 0 01.079 1.042 3.687 3.687 0 01-1.682 1.593c-.66-.713-1.435-1.822-1.197-2.554zM15.432 15h-.004a2.443 2.443 0 01-2.392-2.15 2.826 2.826 0 011.81-3.026l3.312 4.179a3.885 3.885 0 01-2.726.997z" }] +); diff --git a/packages/hiccup-carbon-icons/src/category-new-each.ts b/packages/hiccup-carbon-icons/src/category-new-each.ts index f343de0e0f..fccf4d7b75 100644 --- a/packages/hiccup-carbon-icons/src/category-new-each.ts +++ b/packages/hiccup-carbon-icons/src/category-new-each.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CATEGORY_NEW_EACH */ // prettier-ignore -export const CATEGORY_NEW_EACH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 10h-5v2h5v6h-7v2h3v2.142a4 4 0 102 0V20h2a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-1 16a2 2 0 11-2-2 2.003 2.003 0 012 2zM19 6h-5v2h5v6h-7v2h3v6.142a4 4 0 102 0V16h2a2.002 2.002 0 002-2V8a2.002 2.002 0 00-2-2zm-1 20a2 2 0 11-2-2 2.003 2.003 0 012 2zM9 2H3a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v10.142a4 4 0 102 0V12h2a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zM8 26a2 2 0 11-2-2 2.002 2.002 0 012 2zM3 10V4h6l.002 6z" }]]; +export const CATEGORY_NEW_EACH = svg( + ["path", { d: "M29 10h-5v2h5v6h-7v2h3v2.142a4 4 0 102 0V20h2a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-1 16a2 2 0 11-2-2 2.003 2.003 0 012 2zM19 6h-5v2h5v6h-7v2h3v6.142a4 4 0 102 0V16h2a2.002 2.002 0 002-2V8a2.002 2.002 0 00-2-2zm-1 20a2 2 0 11-2-2 2.003 2.003 0 012 2zM9 2H3a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v10.142a4 4 0 102 0V12h2a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zM8 26a2 2 0 11-2-2 2.002 2.002 0 012 2zM3 10V4h6l.002 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/category-new.ts b/packages/hiccup-carbon-icons/src/category-new.ts index 34969cba5c..e0b9db2238 100644 --- a/packages/hiccup-carbon-icons/src/category-new.ts +++ b/packages/hiccup-carbon-icons/src/category-new.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CATEGORY_NEW */ // prettier-ignore -export const CATEGORY_NEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 10h-4V6h-2v4h-4v2h4v4h2v-4h4v-2z" }], - ["path", { d: "M28 24H17v-4h6a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2H9a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h6v4H4a2 2 0 00-2 2v4h2v-4h11v4h2v-4h11v4h2v-4a2 2 0 00-2-2zM9 4h14l.002 14H9z" }]]; +export const CATEGORY_NEW = svg( + ["path", { d: "M21 10h-4V6h-2v4h-4v2h4v4h2v-4h4v-2z" }], + ["path", { d: "M28 24H17v-4h6a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2H9a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h6v4H4a2 2 0 00-2 2v4h2v-4h11v4h2v-4h11v4h2v-4a2 2 0 00-2-2zM9 4h14l.002 14H9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/category.ts b/packages/hiccup-carbon-icons/src/category.ts index d344bae05d..a4f72e498b 100644 --- a/packages/hiccup-carbon-icons/src/category.ts +++ b/packages/hiccup-carbon-icons/src/category.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CATEGORY */ // prettier-ignore -export const CATEGORY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 22.141V18a2 2 0 00-2-2h-8v-4h2a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2h-6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v4H7a2 2 0 00-2 2v4.142a4 4 0 102 0V18h8v4.142a4 4 0 102 0V18h8v4.141a4 4 0 102 0zM13 4h6l.001 6H13zM8 26a2 2 0 11-2-2 2.002 2.002 0 012 2zm10 0a2 2 0 11-2-2 2.003 2.003 0 012 2zm8 2a2 2 0 112-2 2.002 2.002 0 01-2 2z" }]]; +export const CATEGORY = svg( + ["path", { d: "M27 22.141V18a2 2 0 00-2-2h-8v-4h2a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2h-6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v4H7a2 2 0 00-2 2v4.142a4 4 0 102 0V18h8v4.142a4 4 0 102 0V18h8v4.141a4 4 0 102 0zM13 4h6l.001 6H13zM8 26a2 2 0 11-2-2 2.002 2.002 0 012 2zm10 0a2 2 0 11-2-2 2.003 2.003 0 012 2zm8 2a2 2 0 112-2 2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cda.ts b/packages/hiccup-carbon-icons/src/cda.ts index 6fd6379fe7..2487919fb9 100644 --- a/packages/hiccup-carbon-icons/src/cda.ts +++ b/packages/hiccup-carbon-icons/src/cda.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CDA */ // prettier-ignore -export const CDA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9h-4a2.002 2.002 0 00-2 2v12h2v-5h4v5h2V11a2.002 2.002 0 00-2-2zm-4 7v-5h4v5zM16 23h-4V9h4a4.004 4.004 0 014 4v6a4.004 4.004 0 01-4 4zm-2-2h2a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2h-2zM10 23H4a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h6v2H4v10h6z" }]]; +export const CDA = svg( + ["path", { d: "M28 9h-4a2.002 2.002 0 00-2 2v12h2v-5h4v5h2V11a2.002 2.002 0 00-2-2zm-4 7v-5h4v5zM16 23h-4V9h4a4.004 4.004 0 014 4v6a4.004 4.004 0 01-4 4zm-2-2h2a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2h-2zM10 23H4a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h6v2H4v10h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/center-circle.ts b/packages/hiccup-carbon-icons/src/center-circle.ts index 029ecdd63f..37497089fa 100644 --- a/packages/hiccup-carbon-icons/src/center-circle.ts +++ b/packages/hiccup-carbon-icons/src/center-circle.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CENTER_CIRCLE */ // prettier-ignore -export const CENTER_CIRCLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 15h-2.05A12.007 12.007 0 0017 4.05V2h-2v2.05A12.007 12.007 0 004.05 15H2v2h2.05A12.007 12.007 0 0015 27.95V30h2v-2.05A12.007 12.007 0 0027.95 17H30zM17 25.95V22h-2v3.95A10.017 10.017 0 016.05 17H10v-2H6.05A10.017 10.017 0 0115 6.05V10h2V6.05A10.017 10.017 0 0125.95 15H22v2h3.95A10.017 10.017 0 0117 25.95z" }]]; +export const CENTER_CIRCLE = svg( + ["path", { d: "M30 15h-2.05A12.007 12.007 0 0017 4.05V2h-2v2.05A12.007 12.007 0 004.05 15H2v2h2.05A12.007 12.007 0 0015 27.95V30h2v-2.05A12.007 12.007 0 0027.95 17H30zM17 25.95V22h-2v3.95A10.017 10.017 0 016.05 17H10v-2H6.05A10.017 10.017 0 0115 6.05V10h2V6.05A10.017 10.017 0 0125.95 15H22v2h3.95A10.017 10.017 0 0117 25.95z" }] +); diff --git a/packages/hiccup-carbon-icons/src/center-square.ts b/packages/hiccup-carbon-icons/src/center-square.ts index e883e1f654..e23acb6b22 100644 --- a/packages/hiccup-carbon-icons/src/center-square.ts +++ b/packages/hiccup-carbon-icons/src/center-square.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CENTER_SQUARE */ // prettier-ignore -export const CENTER_SQUARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 12H4V4h8v2H6v6zM28 12h-2V6h-6V4h8v8zM12 28H4v-8h2v6h6v2zM28 28h-8v-2h6v-6h2v8zM15 10h2v4h-2zM10 15h4v2h-4zM18 15h4v2h-4zM15 18h2v4h-2z" }]]; +export const CENTER_SQUARE = svg( + ["path", { d: "M6 12H4V4h8v2H6v6zM28 12h-2V6h-6V4h8v8zM12 28H4v-8h2v6h6v2zM28 28h-8v-2h6v-6h2v8zM15 10h2v4h-2zM10 15h4v2h-4zM18 15h4v2h-4zM15 18h2v4h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/certificate-check.ts b/packages/hiccup-carbon-icons/src/certificate-check.ts index f73bba0772..90342233a6 100644 --- a/packages/hiccup-carbon-icons/src/certificate-check.ts +++ b/packages/hiccup-carbon-icons/src/certificate-check.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CERTIFICATE_CHECK */ // prettier-ignore -export const CERTIFICATE_CHECK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 16h6v2H6zM6 12h10v2H6zM6 8h10v2H6z" }], - ["path", { d: "M14 26H4V6h24v10h2V6a2 2 0 00-2-2H4a2 2 0 00-2 2v20a2 2 0 002 2h10z" }], - ["path", { d: "M22 25.59L19.41 23 18 24.41l4 4 8-8L28.59 19 22 25.59z" }]]; +export const CERTIFICATE_CHECK = svg( + ["path", { d: "M6 16h6v2H6zM6 12h10v2H6zM6 8h10v2H6z" }], + ["path", { d: "M14 26H4V6h24v10h2V6a2 2 0 00-2-2H4a2 2 0 00-2 2v20a2 2 0 002 2h10z" }], + ["path", { d: "M22 25.59L19.41 23 18 24.41l4 4 8-8L28.59 19 22 25.59z" }] +); diff --git a/packages/hiccup-carbon-icons/src/certificate.ts b/packages/hiccup-carbon-icons/src/certificate.ts index 1aa6d83dbb..32a102b5eb 100644 --- a/packages/hiccup-carbon-icons/src/certificate.ts +++ b/packages/hiccup-carbon-icons/src/certificate.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CERTIFICATE */ // prettier-ignore -export const CERTIFICATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 17l1.912 3.703 4.088.594L27 24l.771 4L24 25.75 20.229 28 21 24l-3-2.703 4.2-.594L24 17zM6 16h6v2H6zM6 12h10v2H6zM6 8h10v2H6z" }], - ["path", { d: "M16 26H4V6h24v10h2V6a2 2 0 00-2-2H4a2 2 0 00-2 2v20a2 2 0 002 2h12z" }]]; +export const CERTIFICATE = svg( + ["path", { d: "M24 17l1.912 3.703 4.088.594L27 24l.771 4L24 25.75 20.229 28 21 24l-3-2.703 4.2-.594L24 17zM6 16h6v2H6zM6 12h10v2H6zM6 8h10v2H6z" }], + ["path", { d: "M16 26H4V6h24v10h2V6a2 2 0 00-2-2H4a2 2 0 00-2 2v20a2 2 0 002 2h12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/change-catalog.ts b/packages/hiccup-carbon-icons/src/change-catalog.ts index 2bef09f1bd..ff8929c2e0 100644 --- a/packages/hiccup-carbon-icons/src/change-catalog.ts +++ b/packages/hiccup-carbon-icons/src/change-catalog.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHANGE_CATALOG */ // prettier-ignore -export const CHANGE_CATALOG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24v2h2.46A5.94 5.94 0 0122 28a6.007 6.007 0 01-6-6h-2a7.984 7.984 0 0014 5.265V30h2v-6zM22 14a8.04 8.04 0 00-6 2.735V14h-2v6h6v-2h-2.46A5.94 5.94 0 0122 16a6.007 6.007 0 016 6h2a8.01 8.01 0 00-8-8z" }], - ["path", { d: "M12 28H6v-4h2v-2H6v-5h2v-2H6v-5h2V8H6V4h18v8h2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v4H2v2h2v5H2v2h2v5H2v2h2v4a2 2 0 002 2h6z" }]]; +export const CHANGE_CATALOG = svg( + ["path", { d: "M24 24v2h2.46A5.94 5.94 0 0122 28a6.007 6.007 0 01-6-6h-2a7.984 7.984 0 0014 5.265V30h2v-6zM22 14a8.04 8.04 0 00-6 2.735V14h-2v6h6v-2h-2.46A5.94 5.94 0 0122 16a6.007 6.007 0 016 6h2a8.01 8.01 0 00-8-8z" }], + ["path", { d: "M12 28H6v-4h2v-2H6v-5h2v-2H6v-5h2V8H6V4h18v8h2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v4H2v2h2v5H2v2h2v5H2v2h2v4a2 2 0 002 2h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/character-patterns.ts b/packages/hiccup-carbon-icons/src/character-patterns.ts index 3410d16b67..28b5d5c0ab 100644 --- a/packages/hiccup-carbon-icons/src/character-patterns.ts +++ b/packages/hiccup-carbon-icons/src/character-patterns.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHARACTER_PATTERNS */ // prettier-ignore -export const CHARACTER_PATTERNS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 26v-8.172l-3.586 3.586L1 20l6-6 6 6-1.414 1.414L8 17.828V26h10v2H8a2.002 2.002 0 01-2-2zM30 22v-2h-8v2h5.5L22 28v2h8v-2h-5.493L30 22zM26 6v8.172l3.586-3.586L31 12l-6 6-6-6 1.414-1.414L24 14.172V6H14V4h10a2.002 2.002 0 012 2zM8 2H3v2h5v2H4a2 2 0 00-2 2v2a2 2 0 002 2h6V4a2.002 2.002 0 00-2-2zm0 8H4V8h4z" }]]; +export const CHARACTER_PATTERNS = svg( + ["path", { d: "M6 26v-8.172l-3.586 3.586L1 20l6-6 6 6-1.414 1.414L8 17.828V26h10v2H8a2.002 2.002 0 01-2-2zM30 22v-2h-8v2h5.5L22 28v2h8v-2h-5.493L30 22zM26 6v8.172l3.586-3.586L31 12l-6 6-6-6 1.414-1.414L24 14.172V6H14V4h10a2.002 2.002 0 012 2zM8 2H3v2h5v2H4a2 2 0 00-2 2v2a2 2 0 002 2h6V4a2.002 2.002 0 00-2-2zm0 8H4V8h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/charging-station-filled.ts b/packages/hiccup-carbon-icons/src/charging-station-filled.ts index 74a7ab4a65..67adaaa077 100644 --- a/packages/hiccup-carbon-icons/src/charging-station-filled.ts +++ b/packages/hiccup-carbon-icons/src/charging-station-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHARGING_STATION_FILLED */ // prettier-ignore -export const CHARGING_STATION_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 7V4h-2v3h-1v6h1v11.5a1.5 1.5 0 01-3 0V16a1 1 0 00-1-1h-4V5a1 1 0 00-1-1H5a1 1 0 00-1 1v21H2v2h19v-2h-2v-9h3v7.5a3.5 3.5 0 007 0V13h1V7zM11.857 21.515l-1.714-1.03L12.233 17h-5l3.91-6.515 1.714 1.03L10.767 15h5z" }], - ["path", { d: "M11.857 21.514l-1.714-1.028L12.234 17h-5l3.909-6.514 1.714 1.028L10.766 15h5l-3.909 6.514z" }]]; +export const CHARGING_STATION_FILLED = svg( + ["path", { d: "M29 7V4h-2v3h-1v6h1v11.5a1.5 1.5 0 01-3 0V16a1 1 0 00-1-1h-4V5a1 1 0 00-1-1H5a1 1 0 00-1 1v21H2v2h19v-2h-2v-9h3v7.5a3.5 3.5 0 007 0V13h1V7zM11.857 21.515l-1.714-1.03L12.233 17h-5l3.91-6.515 1.714 1.03L10.767 15h5z" }], + ["path", { d: "M11.857 21.514l-1.714-1.028L12.234 17h-5l3.909-6.514 1.714 1.028L10.766 15h5l-3.909 6.514z" }] +); diff --git a/packages/hiccup-carbon-icons/src/charging-station.ts b/packages/hiccup-carbon-icons/src/charging-station.ts index 4c38f7e48b..9f8eb59e02 100644 --- a/packages/hiccup-carbon-icons/src/charging-station.ts +++ b/packages/hiccup-carbon-icons/src/charging-station.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHARGING_STATION */ // prettier-ignore -export const CHARGING_STATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.857 21.514l-1.714-1.028L12.234 17h-5l3.909-6.514 1.714 1.028L10.766 15h5l-3.909 6.514z" }], - ["path", { d: "M30 7h-1V4h-2v3h-1v6h1v11.5a1.5 1.5 0 01-3 0V16a1 1 0 00-1-1h-4V5a1 1 0 00-1-1H5a1 1 0 00-1 1v21H2v2h19v-2h-2v-9h3v7.5a3.5 3.5 0 007 0V13h1zM17 26H6V6h11z" }]]; +export const CHARGING_STATION = svg( + ["path", { d: "M11.857 21.514l-1.714-1.028L12.234 17h-5l3.909-6.514 1.714 1.028L10.766 15h5l-3.909 6.514z" }], + ["path", { d: "M30 7h-1V4h-2v3h-1v6h1v11.5a1.5 1.5 0 01-3 0V16a1 1 0 00-1-1h-4V5a1 1 0 00-1-1H5a1 1 0 00-1 1v21H2v2h19v-2h-2v-9h3v7.5a3.5 3.5 0 007 0V13h1zM17 26H6V6h11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-3d.ts b/packages/hiccup-carbon-icons/src/chart-3d.ts index 97c558c9fd..9682b7df45 100644 --- a/packages/hiccup-carbon-icons/src/chart-3d.ts +++ b/packages/hiccup-carbon-icons/src/chart-3d.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_3D */ // prettier-ignore -export const CHART_3D: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 23v3.586l-5-5V15a1 1 0 00-.553-.894L17 11.381V5.828l2.586 2.586L21 7l-5-5-5 5 1.414 1.414L15 5.828v5.554l-5.447 2.723A1 1 0 009 15v6.586l-5 5V23H2v7h7v-2H5.414l4.783-4.783 5.356 2.678a1.001 1.001 0 00.894 0l5.356-2.678L26.586 28H23v2h7v-7zm-13 .382l-4-2v-4.764l4 2zm1-6.5L12.236 15 16 13.118 19.764 15zm5 4.5l-4 2v-4.764l4-2z" }]]; +export const CHART_3D = svg( + ["path", { d: "M28 23v3.586l-5-5V15a1 1 0 00-.553-.894L17 11.381V5.828l2.586 2.586L21 7l-5-5-5 5 1.414 1.414L15 5.828v5.554l-5.447 2.723A1 1 0 009 15v6.586l-5 5V23H2v7h7v-2H5.414l4.783-4.783 5.356 2.678a1.001 1.001 0 00.894 0l5.356-2.678L26.586 28H23v2h7v-7zm-13 .382l-4-2v-4.764l4 2zm1-6.5L12.236 15 16 13.118 19.764 15zm5 4.5l-4 2v-4.764l4-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-area.ts b/packages/hiccup-carbon-icons/src/chart-area.ts index 933e066a5b..87b3016f83 100644 --- a/packages/hiccup-carbon-icons/src/chart-area.ts +++ b/packages/hiccup-carbon-icons/src/chart-area.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_AREA */ // prettier-ignore -export const CHART_AREA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20.476 8.015l-7.029-3.804a2.008 2.008 0 00-2.115.205L4 10.001V2H2v26a2 2 0 002 2h26V5.735zM28 20.21l-7.62 1.802-7.029-2.884a1.99 1.99 0 00-2.022.37L4 25.836V21.38l8.375-9.4 7.019 5.62a2.015 2.015 0 002.046.212l6.56-3.21zM12.524 5.985l7.03 3.804a2.012 2.012 0 001.34.16L28 8.265v4.113l-7.381 3.642L13.6 10.4a1.99 1.99 0 00-2.688.264L4 18.384v-5.87zM4.55 28l8.069-7.011 7.029 2.884a1.998 1.998 0 001.147.077L28 22.26V28z" }]]; +export const CHART_AREA = svg( + ["path", { d: "M20.476 8.015l-7.029-3.804a2.008 2.008 0 00-2.115.205L4 10.001V2H2v26a2 2 0 002 2h26V5.735zM28 20.21l-7.62 1.802-7.029-2.884a1.99 1.99 0 00-2.022.37L4 25.836V21.38l8.375-9.4 7.019 5.62a2.015 2.015 0 002.046.212l6.56-3.21zM12.524 5.985l7.03 3.804a2.012 2.012 0 001.34.16L28 8.265v4.113l-7.381 3.642L13.6 10.4a1.99 1.99 0 00-2.688.264L4 18.384v-5.87zM4.55 28l8.069-7.011 7.029 2.884a1.998 1.998 0 001.147.077L28 22.26V28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-bar.ts b/packages/hiccup-carbon-icons/src/chart-bar.ts index 9bd755ab9e..58f0ba176d 100644 --- a/packages/hiccup-carbon-icons/src/chart-bar.ts +++ b/packages/hiccup-carbon-icons/src/chart-bar.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_BAR */ // prettier-ignore -export const CHART_BAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 28V6h-8v22h-4V14H7v14H4V2H2v26a2 2 0 002 2h26v-2zm-14 0H9V16h4zm12 0h-4V8h4z" }]]; +export const CHART_BAR = svg( + ["path", { d: "M27 28V6h-8v22h-4V14H7v14H4V2H2v26a2 2 0 002 2h26v-2zm-14 0H9V16h4zm12 0h-4V8h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-bubble.ts b/packages/hiccup-carbon-icons/src/chart-bubble.ts index 31441af794..8abea69e14 100644 --- a/packages/hiccup-carbon-icons/src/chart-bubble.ts +++ b/packages/hiccup-carbon-icons/src/chart-bubble.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_BUBBLE */ // prettier-ignore -export const CHART_BUBBLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }], - ["path", { d: "M10 16a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM21 6a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6zM24.5 21a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5m0-2a3.5 3.5 0 103.5 3.5 3.5 3.5 0 00-3.5-3.5z" }]]; +export const CHART_BUBBLE = svg( + ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }], + ["path", { d: "M10 16a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM21 6a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6zM24.5 21a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5m0-2a3.5 3.5 0 103.5 3.5 3.5 3.5 0 00-3.5-3.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-candlestick.ts b/packages/hiccup-carbon-icons/src/chart-candlestick.ts index fa9380f454..ed790f17db 100644 --- a/packages/hiccup-carbon-icons/src/chart-candlestick.ts +++ b/packages/hiccup-carbon-icons/src/chart-candlestick.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_CANDLESTICK */ // prettier-ignore -export const CHART_CANDLESTICK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 10h-2V6h-2v4h-2v12h2v4h2v-4h2zm-2 10h-2v-8h2zM14 8h-2V4h-2v4H8v10h2v4h2v-4h2zm-2 8h-2v-6h2z" }], - ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }]]; +export const CHART_CANDLESTICK = svg( + ["path", { d: "M26 10h-2V6h-2v4h-2v12h2v4h2v-4h2zm-2 10h-2v-8h2zM14 8h-2V4h-2v4H8v10h2v4h2v-4h2zm-2 8h-2v-6h2z" }], + ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-cluster-bar.ts b/packages/hiccup-carbon-icons/src/chart-cluster-bar.ts index 703f8bbf6f..7dc44d7dfc 100644 --- a/packages/hiccup-carbon-icons/src/chart-cluster-bar.ts +++ b/packages/hiccup-carbon-icons/src/chart-cluster-bar.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_CLUSTER_BAR */ // prettier-ignore -export const CHART_CLUSTER_BAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }], - ["path", { d: "M10 16h2v10h-2zM7 22h2v4H7zM26 8h2v18h-2zM23 14h2v12h-2zM17 26h-2V12h2zM20 26h-2v-8h2z" }]]; +export const CHART_CLUSTER_BAR = svg( + ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }], + ["path", { d: "M10 16h2v10h-2zM7 22h2v4H7zM26 8h2v18h-2zM23 14h2v12h-2zM17 26h-2V12h2zM20 26h-2v-8h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-custom.ts b/packages/hiccup-carbon-icons/src/chart-custom.ts index f9cd3f2f6b..86d312e3eb 100644 --- a/packages/hiccup-carbon-icons/src/chart-custom.ts +++ b/packages/hiccup-carbon-icons/src/chart-custom.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_CUSTOM */ // prettier-ignore -export const CHART_CUSTOM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.707 19.293l-3-3a1 1 0 00-1.414 0L16 25.586V30h4.414l9.293-9.293a1 1 0 000-1.414zM19.586 28H18v-1.586l5-5L24.586 23zM26 21.586L24.414 20 26 18.414 27.586 20zM18 18v-4h2v4zM14 18v-6h2v6zM10 18V8h2v10z" }], - ["path", { d: "M12 30H6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v10h-2V4H6v24h6z" }]]; +export const CHART_CUSTOM = svg( + ["path", { d: "M29.707 19.293l-3-3a1 1 0 00-1.414 0L16 25.586V30h4.414l9.293-9.293a1 1 0 000-1.414zM19.586 28H18v-1.586l5-5L24.586 23zM26 21.586L24.414 20 26 18.414 27.586 20zM18 18v-4h2v4zM14 18v-6h2v6zM10 18V8h2v10z" }], + ["path", { d: "M12 30H6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v10h-2V4H6v24h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-error-bar-alt.ts b/packages/hiccup-carbon-icons/src/chart-error-bar-alt.ts index d44b415829..616e7ccfb9 100644 --- a/packages/hiccup-carbon-icons/src/chart-error-bar-alt.ts +++ b/packages/hiccup-carbon-icons/src/chart-error-bar-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_ERROR_BAR_ALT */ // prettier-ignore -export const CHART_ERROR_BAR_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 10V8H8v2h2v4.184a2.983 2.983 0 000 5.632V24H8v2h6v-2h-2v-4.184a2.983 2.983 0 000-5.632V10zM26 6V4h-6v2h2v2.184a2.983 2.983 0 000 5.632V18h-2v2h6v-2h-2v-4.184a2.983 2.983 0 000-5.632V6z" }], - ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }]]; +export const CHART_ERROR_BAR_ALT = svg( + ["path", { d: "M14 10V8H8v2h2v4.184a2.983 2.983 0 000 5.632V24H8v2h6v-2h-2v-4.184a2.983 2.983 0 000-5.632V10zM26 6V4h-6v2h2v2.184a2.983 2.983 0 000 5.632V18h-2v2h6v-2h-2v-4.184a2.983 2.983 0 000-5.632V6z" }], + ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-error-bar.ts b/packages/hiccup-carbon-icons/src/chart-error-bar.ts index 6427100334..89a4947c57 100644 --- a/packages/hiccup-carbon-icons/src/chart-error-bar.ts +++ b/packages/hiccup-carbon-icons/src/chart-error-bar.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_ERROR_BAR */ // prettier-ignore -export const CHART_ERROR_BAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 28V12h-4V8h2V6h-6v2h2v4h-4v16H4V2H2v26a2 2 0 002 2h26v-2zm-8-14h2v4h-2zm6 14h-6v-8h6zm0-10h-2v-4h2z" }]]; +export const CHART_ERROR_BAR = svg( + ["path", { d: "M22 28V12h-4V8h2V6h-6v2h2v4h-4v16H4V2H2v26a2 2 0 002 2h26v-2zm-8-14h2v4h-2zm6 14h-6v-8h6zm0-10h-2v-4h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-evaluation.ts b/packages/hiccup-carbon-icons/src/chart-evaluation.ts index 7ff37fe48d..cdcd2f2255 100644 --- a/packages/hiccup-carbon-icons/src/chart-evaluation.ts +++ b/packages/hiccup-carbon-icons/src/chart-evaluation.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_EVALUATION */ // prettier-ignore -export const CHART_EVALUATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.587 8L28.586 5 30 6.412l-3 3.001zM16 20.5l-5-4.961 1.59-1.57 3.41 3.38L23.41 10 25 11.579 16 20.5z" }], - ["path", { d: "M4 28v-2.587L10.414 19 9 17.585l-5 5V2H2v26a2 2 0 002 2h26v-2z" }]]; +export const CHART_EVALUATION = svg( + ["path", { d: "M25.587 8L28.586 5 30 6.412l-3 3.001zM16 20.5l-5-4.961 1.59-1.57 3.41 3.38L23.41 10 25 11.579 16 20.5z" }], + ["path", { d: "M4 28v-2.587L10.414 19 9 17.585l-5 5V2H2v26a2 2 0 002 2h26v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-high-low.ts b/packages/hiccup-carbon-icons/src/chart-high-low.ts index 7e0dbf0202..66f8ce6a48 100644 --- a/packages/hiccup-carbon-icons/src/chart-high-low.ts +++ b/packages/hiccup-carbon-icons/src/chart-high-low.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_HIGH_LOW */ // prettier-ignore -export const CHART_HIGH_LOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 8h-3V6h-2v14H7v2h3v2h2V10h3V8zM27 10h-3V6h-2v12h-3v2h3v4h2V12h3v-2z" }], - ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }]]; +export const CHART_HIGH_LOW = svg( + ["path", { d: "M15 8h-3V6h-2v14H7v2h3v2h2V10h3V8zM27 10h-3V6h-2v12h-3v2h3v4h2V12h3v-2z" }], + ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-histogram.ts b/packages/hiccup-carbon-icons/src/chart-histogram.ts index c8070a3c7b..8b383ec816 100644 --- a/packages/hiccup-carbon-icons/src/chart-histogram.ts +++ b/packages/hiccup-carbon-icons/src/chart-histogram.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_HISTOGRAM */ // prettier-ignore -export const CHART_HISTOGRAM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 16c2.973 0 4.232-2.251 5.345-4.237C12.475 9.744 13.45 8 16 8s3.526 1.744 4.655 3.763C21.768 13.749 23.027 16 26 16h4v-2h-4c-1.713 0-2.483-1.22-3.6-3.214C21.209 8.654 19.724 6 16 6s-5.207 2.654-6.4 4.786C8.482 12.779 7.712 14 6 14H4V2H2v26a2 2 0 002 2h26v-2h-2v-6h-2v6h-4v-8h-2v8h-4V16h-2v12h-4v-8H8v8H4V16z" }]]; +export const CHART_HISTOGRAM = svg( + ["path", { d: "M6 16c2.973 0 4.232-2.251 5.345-4.237C12.475 9.744 13.45 8 16 8s3.526 1.744 4.655 3.763C21.768 13.749 23.027 16 26 16h4v-2h-4c-1.713 0-2.483-1.22-3.6-3.214C21.209 8.654 19.724 6 16 6s-5.207 2.654-6.4 4.786C8.482 12.779 7.712 14 6 14H4V2H2v26a2 2 0 002 2h26v-2h-2v-6h-2v6h-4v-8h-2v8h-4V16h-2v12h-4v-8H8v8H4V16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-line-data.ts b/packages/hiccup-carbon-icons/src/chart-line-data.ts index b40e8da514..db9953fc3a 100644 --- a/packages/hiccup-carbon-icons/src/chart-line-data.ts +++ b/packages/hiccup-carbon-icons/src/chart-line-data.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_LINE_DATA */ // prettier-ignore -export const CHART_LINE_DATA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10.06 17.88A4.25 4.25 0 0011 18a4 4 0 002.23-.68l3.22 2.87a3.88 3.88 0 00-.2 3.17A4 4 0 1022.62 19l2.54-5.09a3.78 3.78 0 002.91-.53 4 4 0 10-4.69-.38l-2.54 5.09A3.86 3.86 0 0020 18a4 4 0 00-2.23.68l-3.22-2.87a3.88 3.88 0 00.2-3.17 4 4 0 10-6.45 4.29L4 25V2H2v26a2 2 0 002 2h26v-2H4.67zM26 8a2 2 0 11-2 2 2 2 0 012-2zm-4 14a2 2 0 11-2-2 2 2 0 012 2zM11 12a2 2 0 11-2 2 2 2 0 012-2z" }]]; +export const CHART_LINE_DATA = svg( + ["path", { d: "M10.06 17.88A4.25 4.25 0 0011 18a4 4 0 002.23-.68l3.22 2.87a3.88 3.88 0 00-.2 3.17A4 4 0 1022.62 19l2.54-5.09a3.78 3.78 0 002.91-.53 4 4 0 10-4.69-.38l-2.54 5.09A3.86 3.86 0 0020 18a4 4 0 00-2.23.68l-3.22-2.87a3.88 3.88 0 00.2-3.17 4 4 0 10-6.45 4.29L4 25V2H2v26a2 2 0 002 2h26v-2H4.67zM26 8a2 2 0 11-2 2 2 2 0 012-2zm-4 14a2 2 0 11-2-2 2 2 0 012 2zM11 12a2 2 0 11-2 2 2 2 0 012-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-line.ts b/packages/hiccup-carbon-icons/src/chart-line.ts index a45320d6c7..5d77739e0b 100644 --- a/packages/hiccup-carbon-icons/src/chart-line.ts +++ b/packages/hiccup-carbon-icons/src/chart-line.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_LINE */ // prettier-ignore -export const CHART_LINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4.67 28l6.39-12 7.3 6.49a2 2 0 001.7.47 2 2 0 001.42-1.07L27 10.9l-1.82-.9-5.49 11-7.3-6.49a2 2 0 00-1.68-.51 2 2 0 00-1.42 1L4 25V2H2v26a2 2 0 002 2h26v-2z" }]]; +export const CHART_LINE = svg( + ["path", { d: "M4.67 28l6.39-12 7.3 6.49a2 2 0 001.7.47 2 2 0 001.42-1.07L27 10.9l-1.82-.9-5.49 11-7.3-6.49a2 2 0 00-1.68-.51 2 2 0 00-1.42 1L4 25V2H2v26a2 2 0 002 2h26v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-multi-line.ts b/packages/hiccup-carbon-icons/src/chart-multi-line.ts index fe6169d55a..e27130cdee 100644 --- a/packages/hiccup-carbon-icons/src/chart-multi-line.ts +++ b/packages/hiccup-carbon-icons/src/chart-multi-line.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_MULTI_LINE */ // prettier-ignore -export const CHART_MULTI_LINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4.586 28l7.178-5.998 7.994 1.938a2.021 2.021 0 001.314-.12L28 20.58l-.848-1.812-6.916 3.229-7.994-1.938a2.003 2.003 0 00-1.74.384L4 25.882V20.49l7.764-6.488 7.994 1.938a2.021 2.021 0 001.314-.12L28 12.58l-.847-1.812-6.918 3.229-7.994-1.938a2.005 2.005 0 00-1.74.384L4 17.882V12.49l7.764-6.488 7.994 1.938a2.021 2.021 0 001.314-.12L28 4.585l-.846-1.812-6.918 3.224-7.994-1.938a2.003 2.003 0 00-1.74.384L4 9.882V2H2v26a2 2 0 002 2h26v-2z" }]]; +export const CHART_MULTI_LINE = svg( + ["path", { d: "M4.586 28l7.178-5.998 7.994 1.938a2.021 2.021 0 001.314-.12L28 20.58l-.848-1.812-6.916 3.229-7.994-1.938a2.003 2.003 0 00-1.74.384L4 25.882V20.49l7.764-6.488 7.994 1.938a2.021 2.021 0 001.314-.12L28 12.58l-.847-1.812-6.918 3.229-7.994-1.938a2.005 2.005 0 00-1.74.384L4 17.882V12.49l7.764-6.488 7.994 1.938a2.021 2.021 0 001.314-.12L28 4.585l-.846-1.812-6.918 3.224-7.994-1.938a2.003 2.003 0 00-1.74.384L4 9.882V2H2v26a2 2 0 002 2h26v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-multitype.ts b/packages/hiccup-carbon-icons/src/chart-multitype.ts index ed399310ae..9ecb58e5db 100644 --- a/packages/hiccup-carbon-icons/src/chart-multitype.ts +++ b/packages/hiccup-carbon-icons/src/chart-multitype.ts @@ -1,37 +1,39 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_MULTITYPE */ // prettier-ignore -export const CHART_MULTITYPE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 22h2v8h-2zM24 18h2v12h-2zM20 26h2v4h-2zM9 16a7 7 0 107 7 7.008 7.008 0 00-7-7zm4.899 6H10v-3.899A5.014 5.014 0 0113.899 22zM9 28a5 5 0 01-1-9.899V22a2 2 0 002 2h3.899A5.008 5.008 0 019 28zM22.535 12l4-6H30V4h-4.535l-4 6H18V2h-2v12a2 2 0 002 2h12v-2H18v-2z" }], - ["circle", - { - r: 1, - cy: 7, - cx: 11, - }], - ["circle", - { - r: 1, - cy: 11, - cx: 9, - }], - ["circle", - { - r: 1, - cy: 5, - cx: 7, - }], - ["circle", - { - r: 1, - cy: 9, - cx: 5, - }], - ["circle", - { - r: 1, - cy: 13, - cx: 3, - }]]; +export const CHART_MULTITYPE = svg( + ["path", { d: "M28 22h2v8h-2zM24 18h2v12h-2zM20 26h2v4h-2zM9 16a7 7 0 107 7 7.008 7.008 0 00-7-7zm4.899 6H10v-3.899A5.014 5.014 0 0113.899 22zM9 28a5 5 0 01-1-9.899V22a2 2 0 002 2h3.899A5.008 5.008 0 019 28zM22.535 12l4-6H30V4h-4.535l-4 6H18V2h-2v12a2 2 0 002 2h12v-2H18v-2z" }], + ["circle", + { + r: 1, + cy: 7, + cx: 11, + }], + ["circle", + { + r: 1, + cy: 11, + cx: 9, + }], + ["circle", + { + r: 1, + cy: 5, + cx: 7, + }], + ["circle", + { + r: 1, + cy: 9, + cx: 5, + }], + ["circle", + { + r: 1, + cy: 13, + cx: 3, + }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-network.ts b/packages/hiccup-carbon-icons/src/chart-network.ts index faeea961d6..a80dff8e19 100644 --- a/packages/hiccup-carbon-icons/src/chart-network.ts +++ b/packages/hiccup-carbon-icons/src/chart-network.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_NETWORK */ // prettier-ignore -export const CHART_NETWORK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 14a2 2 0 002-2V6a2 2 0 00-2-2h-6a2 2 0 00-2 2v6a2 2 0 002 2h2v4.1a5 5 0 00-3.9 3.9H14v-2a2 2 0 00-2-2h-2v-4.1a5 5 0 10-2 0V18H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-2h4.1a5 5 0 105.9-5.9V14zM6 9a3 3 0 113 3 3 3 0 01-3-3zm6 17H6v-6h6zm14-3a3 3 0 11-3-3 3 3 0 013 3zM20 6h6v6h-6z" }]]; +export const CHART_NETWORK = svg( + ["path", { d: "M26 14a2 2 0 002-2V6a2 2 0 00-2-2h-6a2 2 0 00-2 2v6a2 2 0 002 2h2v4.1a5 5 0 00-3.9 3.9H14v-2a2 2 0 00-2-2h-2v-4.1a5 5 0 10-2 0V18H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-2h4.1a5 5 0 105.9-5.9V14zM6 9a3 3 0 113 3 3 3 0 01-3-3zm6 17H6v-6h6zm14-3a3 3 0 11-3-3 3 3 0 013 3zM20 6h6v6h-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-parallel.ts b/packages/hiccup-carbon-icons/src/chart-parallel.ts index 7450a9e046..951b08a3f7 100644 --- a/packages/hiccup-carbon-icons/src/chart-parallel.ts +++ b/packages/hiccup-carbon-icons/src/chart-parallel.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_PARALLEL */ // prettier-ignore -export const CHART_PARALLEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2v3.307l-6 2.25V2h-2v5.523l-8-3.2V2h-2v2.446l-6 3.75V2H2v28h2v-2.382l6-3V30h2v-5.656l8 2.4V30h2v-3.446l6-3.75V30h2V2zm0 5.443V12.5L22 17V9.693zm-8 2.234v7.557l-8-4.8V6.477zM10 6.804v5.742l-6 5.25v-7.242zM4 25.382v-4.928l6-5.25v7.178zm8-3.126v-7.49l8 4.8v5.09zm10 1.94V19.5l6-4.5v5.446z" }]]; +export const CHART_PARALLEL = svg( + ["path", { d: "M28 2v3.307l-6 2.25V2h-2v5.523l-8-3.2V2h-2v2.446l-6 3.75V2H2v28h2v-2.382l6-3V30h2v-5.656l8 2.4V30h2v-3.446l6-3.75V30h2V2zm0 5.443V12.5L22 17V9.693zm-8 2.234v7.557l-8-4.8V6.477zM10 6.804v5.742l-6 5.25v-7.242zM4 25.382v-4.928l6-5.25v7.178zm8-3.126v-7.49l8 4.8v5.09zm10 1.94V19.5l6-4.5v5.446z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-pie.ts b/packages/hiccup-carbon-icons/src/chart-pie.ts index 49540dfbf1..a2e216eb5a 100644 --- a/packages/hiccup-carbon-icons/src/chart-pie.ts +++ b/packages/hiccup-carbon-icons/src/chart-pie.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_PIE */ // prettier-ignore -export const CHART_PIE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4a12 12 0 1012 12A12 12 0 0016 4zm10 11h-9V6.05A10 10 0 0126 15zM15.42 26A10 10 0 0115 6.05v9a2 2 0 002 2h9A10 10 0 0115.42 26z" }]]; +export const CHART_PIE = svg( + ["path", { d: "M16 4a12 12 0 1012 12A12 12 0 0016 4zm10 11h-9V6.05A10 10 0 0126 15zM15.42 26A10 10 0 0115 6.05v9a2 2 0 002 2h9A10 10 0 0115.42 26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-population.ts b/packages/hiccup-carbon-icons/src/chart-population.ts index c0668f82fc..a5df0803d6 100644 --- a/packages/hiccup-carbon-icons/src/chart-population.ts +++ b/packages/hiccup-carbon-icons/src/chart-population.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_POPULATION */ // prettier-ignore -export const CHART_POPULATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 22H17v-2h9v-6h-9v-2h5V6h-5V2h-2v4h-5v6h5v2H6v6h9v2H2v6h13v2h2v-2h13zM20 8v2h-3V8zm-8 2V8h3v2zm12 6v2h-7v-2zM8 18v-2h7v2zm-4 8v-2h11v2zm24 0H17v-2h11z" }]]; +export const CHART_POPULATION = svg( + ["path", { d: "M30 22H17v-2h9v-6h-9v-2h5V6h-5V2h-2v4h-5v6h5v2H6v6h9v2H2v6h13v2h2v-2h13zM20 8v2h-3V8zm-8 2V8h3v2zm12 6v2h-7v-2zM8 18v-2h7v2zm-4 8v-2h11v2zm24 0H17v-2h11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-radar.ts b/packages/hiccup-carbon-icons/src/chart-radar.ts index 0a3a21731b..bdf868732d 100644 --- a/packages/hiccup-carbon-icons/src/chart-radar.ts +++ b/packages/hiccup-carbon-icons/src/chart-radar.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_RADAR */ // prettier-ignore -export const CHART_RADAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2L2 13l6 17h16l6-17zm2.582 19.265l-5.986 1.33-1.423-7.824 4.91-4.21 5.442 4.082zm.198 2.005L21.326 28H10.674l1.79-3.327zm-9.19-9.776l-3.85-.889L15 5.329v3.528zM17 8.75V5.33l9.26 7.275-3.15.727zM4.614 14.398l4.654 1.074 1.484 8.164-1.738 3.228zm18.372 12.466l-2.577-4.785 3.007-6.765 3.97-.916z" }]]; +export const CHART_RADAR = svg( + ["path", { d: "M16 2L2 13l6 17h16l6-17zm2.582 19.265l-5.986 1.33-1.423-7.824 4.91-4.21 5.442 4.082zm.198 2.005L21.326 28H10.674l1.79-3.327zm-9.19-9.776l-3.85-.889L15 5.329v3.528zM17 8.75V5.33l9.26 7.275-3.15.727zM4.614 14.398l4.654 1.074 1.484 8.164-1.738 3.228zm18.372 12.466l-2.577-4.785 3.007-6.765 3.97-.916z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-relationship.ts b/packages/hiccup-carbon-icons/src/chart-relationship.ts index c12bf888b1..7033ba6171 100644 --- a/packages/hiccup-carbon-icons/src/chart-relationship.ts +++ b/packages/hiccup-carbon-icons/src/chart-relationship.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_RELATIONSHIP */ // prettier-ignore -export const CHART_RELATIONSHIP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6a3.996 3.996 0 00-3.858 3H17.93A7.996 7.996 0 109 17.93v4.212a4 4 0 102 0v-4.211a7.951 7.951 0 003.898-1.62l3.669 3.67A3.953 3.953 0 0018 22a4 4 0 104-4 3.952 3.952 0 00-2.019.567l-3.67-3.67A7.95 7.95 0 0017.932 11h4.211A3.993 3.993 0 1026 6zM12 26a2 2 0 11-2-2 2.002 2.002 0 012 2zm-2-10a6 6 0 116-6 6.007 6.007 0 01-6 6zm14 6a2 2 0 11-2-2 2.002 2.002 0 012 2zm2-10a2 2 0 112-2 2.002 2.002 0 01-2 2z" }]]; +export const CHART_RELATIONSHIP = svg( + ["path", { d: "M26 6a3.996 3.996 0 00-3.858 3H17.93A7.996 7.996 0 109 17.93v4.212a4 4 0 102 0v-4.211a7.951 7.951 0 003.898-1.62l3.669 3.67A3.953 3.953 0 0018 22a4 4 0 104-4 3.952 3.952 0 00-2.019.567l-3.67-3.67A7.95 7.95 0 0017.932 11h4.211A3.993 3.993 0 1026 6zM12 26a2 2 0 11-2-2 2.002 2.002 0 012 2zm-2-10a6 6 0 116-6 6.007 6.007 0 01-6 6zm14 6a2 2 0 11-2-2 2.002 2.002 0 012 2zm2-10a2 2 0 112-2 2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-ring.ts b/packages/hiccup-carbon-icons/src/chart-ring.ts index d9795b1c83..fefec68a05 100644 --- a/packages/hiccup-carbon-icons/src/chart-ring.ts +++ b/packages/hiccup-carbon-icons/src/chart-ring.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_RING */ // prettier-ignore -export const CHART_RING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm11.95 13.001h-6.04a5.982 5.982 0 00-9.38-3.885l-4.27-4.27A11.978 11.978 0 0127.95 15zM16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zM4 16a11.937 11.937 0 012.846-7.74l4.27 4.27A5.984 5.984 0 0015 21.91v6.04A12.01 12.01 0 014 16zm13 11.95v-6.04A6.007 6.007 0 0021.91 17h6.04A12.008 12.008 0 0117 27.95z" }]]; +export const CHART_RING = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm11.95 13.001h-6.04a5.982 5.982 0 00-9.38-3.885l-4.27-4.27A11.978 11.978 0 0127.95 15zM16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zM4 16a11.937 11.937 0 012.846-7.74l4.27 4.27A5.984 5.984 0 0015 21.91v6.04A12.01 12.01 0 014 16zm13 11.95v-6.04A6.007 6.007 0 0021.91 17h6.04A12.008 12.008 0 0117 27.95z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-river.ts b/packages/hiccup-carbon-icons/src/chart-river.ts index 97a438ac61..74988dc0b9 100644 --- a/packages/hiccup-carbon-icons/src/chart-river.ts +++ b/packages/hiccup-carbon-icons/src/chart-river.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_RIVER */ // prettier-ignore -export const CHART_RIVER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12.433 20.017l8.037 4.68a1.958 1.958 0 001.051.301 2.241 2.241 0 00.489-.055l7.253-1.977A1 1 0 0030 22V7.996a1 1 0 00-1.26-.966l-7.237 1.953-8.037-4.68a1.992 1.992 0 00-1.865-.135L4 7.473V2H2v26a2 2 0 002 2h26v-2H4v-4.342zM28 21.234l-6.497 1.75-8.037-4.68a1.993 1.993 0 00-1.865-.135L4 21.475v-4.818l8.433-3.641 8.037 4.68a1.962 1.962 0 001.05.302 2.211 2.211 0 00.49-.056L28 16.31zM12.433 6.016l8.037 4.68a2.01 2.01 0 001.54.245L28 9.308v4.926l-6.497 1.75-8.037-4.68a1.992 1.992 0 00-1.865-.136L4 14.474V9.656z" }]]; +export const CHART_RIVER = svg( + ["path", { d: "M12.433 20.017l8.037 4.68a1.958 1.958 0 001.051.301 2.241 2.241 0 00.489-.055l7.253-1.977A1 1 0 0030 22V7.996a1 1 0 00-1.26-.966l-7.237 1.953-8.037-4.68a1.992 1.992 0 00-1.865-.135L4 7.473V2H2v26a2 2 0 002 2h26v-2H4v-4.342zM28 21.234l-6.497 1.75-8.037-4.68a1.993 1.993 0 00-1.865-.135L4 21.475v-4.818l8.433-3.641 8.037 4.68a1.962 1.962 0 001.05.302 2.211 2.211 0 00.49-.056L28 16.31zM12.433 6.016l8.037 4.68a2.01 2.01 0 001.54.245L28 9.308v4.926l-6.497 1.75-8.037-4.68a1.992 1.992 0 00-1.865-.136L4 14.474V9.656z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-rose.ts b/packages/hiccup-carbon-icons/src/chart-rose.ts index a84dc93f85..074439c2dc 100644 --- a/packages/hiccup-carbon-icons/src/chart-rose.ts +++ b/packages/hiccup-carbon-icons/src/chart-rose.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_ROSE */ // prettier-ignore -export const CHART_ROSE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 17A15.017 15.017 0 0015 2h-1v6.06A9.012 9.012 0 006.06 16H4v1a11.01 11.01 0 0010 10.95V30h1a13.008 13.008 0 0012.95-12H30zM16 4.038A13.022 13.022 0 0127.962 16H16zm-2 6.042V16H8.08A7.004 7.004 0 0114 10.08zM6.055 18H14v7.939A9.013 9.013 0 016.055 18zM16 27.955V18h9.955A11.02 11.02 0 0116 27.955z" }]]; +export const CHART_ROSE = svg( + ["path", { d: "M30 17A15.017 15.017 0 0015 2h-1v6.06A9.012 9.012 0 006.06 16H4v1a11.01 11.01 0 0010 10.95V30h1a13.008 13.008 0 0012.95-12H30zM16 4.038A13.022 13.022 0 0127.962 16H16zm-2 6.042V16H8.08A7.004 7.004 0 0114 10.08zM6.055 18H14v7.939A9.013 9.013 0 016.055 18zM16 27.955V18h9.955A11.02 11.02 0 0116 27.955z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-scatter.ts b/packages/hiccup-carbon-icons/src/chart-scatter.ts index 59f79b6c1e..30ee04f44b 100644 --- a/packages/hiccup-carbon-icons/src/chart-scatter.ts +++ b/packages/hiccup-carbon-icons/src/chart-scatter.ts @@ -1,37 +1,39 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_SCATTER */ // prettier-ignore -export const CHART_SCATTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }], - ["circle", - { - r: 2, - cy: 22, - cx: 10, - }], - ["circle", - { - r: 2, - cy: 15, - cx: 14, - }], - ["circle", - { - r: 2, - cy: 15, - cx: 22, - }], - ["circle", - { - r: 2, - cy: 6, - cx: 26, - }], - ["circle", - { - r: 2, - cy: 8, - cx: 14, - }]]; +export const CHART_SCATTER = svg( + ["path", { d: "M30 30H4a2 2 0 01-2-2V2h2v26h26z" }], + ["circle", + { + r: 2, + cy: 22, + cx: 10, + }], + ["circle", + { + r: 2, + cy: 15, + cx: 14, + }], + ["circle", + { + r: 2, + cy: 15, + cx: 22, + }], + ["circle", + { + r: 2, + cy: 6, + cx: 26, + }], + ["circle", + { + r: 2, + cy: 8, + cx: 14, + }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-stacked.ts b/packages/hiccup-carbon-icons/src/chart-stacked.ts index caa9d0f889..de9667a5be 100644 --- a/packages/hiccup-carbon-icons/src/chart-stacked.ts +++ b/packages/hiccup-carbon-icons/src/chart-stacked.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_STACKED */ // prettier-ignore -export const CHART_STACKED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 28V6h-8v22h-4V14H8v14H4V2H2v26a2 2 0 002 2h26v-2zM22 8h4v10h-4zm-12 8h4v6h-4z" }]]; +export const CHART_STACKED = svg( + ["path", { d: "M28 28V6h-8v22h-4V14H8v14H4V2H2v26a2 2 0 002 2h26v-2zM22 8h4v10h-4zm-12 8h4v6h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-stepper.ts b/packages/hiccup-carbon-icons/src/chart-stepper.ts index 307cf450b0..e26bc33b92 100644 --- a/packages/hiccup-carbon-icons/src/chart-stepper.ts +++ b/packages/hiccup-carbon-icons/src/chart-stepper.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_STEPPER */ // prettier-ignore -export const CHART_STEPPER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 22v-8h8V6h8V4H20v8h-8v8H4V2H2v26a2.002 2.002 0 002 2h26v-2H4v-6z" }]]; +export const CHART_STEPPER = svg( + ["path", { d: "M14 22v-8h8V6h8V4H20v8h-8v8H4V2H2v26a2.002 2.002 0 002 2h26v-2H4v-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-t-sne.ts b/packages/hiccup-carbon-icons/src/chart-t-sne.ts index 2806bdd260..d5b434c9fa 100644 --- a/packages/hiccup-carbon-icons/src/chart-t-sne.ts +++ b/packages/hiccup-carbon-icons/src/chart-t-sne.ts @@ -1,90 +1,92 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_T_SNE */ // prettier-ignore -export const CHART_T_SNE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 20, - cx: 10, - }], - ["circle", - { - r: 2, - cy: 28, - cx: 10, - }], - ["circle", - { - r: 2, - cy: 14, - cx: 10, - }], - ["circle", - { - r: 2, - cy: 4, - cx: 28, - }], - ["circle", - { - r: 2, - cy: 6, - cx: 22, - }], - ["circle", - { - r: 2, - cy: 10, - cx: 28, - }], - ["circle", - { - r: 2, - cy: 12, - cx: 20, - }], - ["circle", - { - r: 2, - cy: 22, - cx: 28, - }], - ["circle", - { - r: 2, - cy: 28, - cx: 26, - }], - ["circle", - { - r: 2, - cy: 26, - cx: 20, - }], - ["circle", - { - r: 2, - cy: 20, - cx: 22, - }], - ["circle", - { - r: 2, - cy: 4, - cx: 16, - }], - ["circle", - { - r: 2, - cy: 24, - cx: 4, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 4, - }]]; +export const CHART_T_SNE = svg( + ["circle", + { + r: 2, + cy: 20, + cx: 10, + }], + ["circle", + { + r: 2, + cy: 28, + cx: 10, + }], + ["circle", + { + r: 2, + cy: 14, + cx: 10, + }], + ["circle", + { + r: 2, + cy: 4, + cx: 28, + }], + ["circle", + { + r: 2, + cy: 6, + cx: 22, + }], + ["circle", + { + r: 2, + cy: 10, + cx: 28, + }], + ["circle", + { + r: 2, + cy: 12, + cx: 20, + }], + ["circle", + { + r: 2, + cy: 22, + cx: 28, + }], + ["circle", + { + r: 2, + cy: 28, + cx: 26, + }], + ["circle", + { + r: 2, + cy: 26, + cx: 20, + }], + ["circle", + { + r: 2, + cy: 20, + cx: 22, + }], + ["circle", + { + r: 2, + cy: 4, + cx: 16, + }], + ["circle", + { + r: 2, + cy: 24, + cx: 4, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 4, + }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-treemap.ts b/packages/hiccup-carbon-icons/src/chart-treemap.ts index 4683aa59fe..f9a18c8464 100644 --- a/packages/hiccup-carbon-icons/src/chart-treemap.ts +++ b/packages/hiccup-carbon-icons/src/chart-treemap.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_TREEMAP */ // prettier-ignore -export const CHART_TREEMAP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zm0 12h-5V4h5zM16 4h5v10h-5zm-2 0v16H4V4zM4 22h10v6H4zm12 6V16h12v12z" }]]; +export const CHART_TREEMAP = svg( + ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zm0 12h-5V4h5zM16 4h5v10h-5zm-2 0v16H4V4zM4 22h10v6H4zm12 6V16h12v12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chart-venn-diagram.ts b/packages/hiccup-carbon-icons/src/chart-venn-diagram.ts index 7260b1ffd8..e0b41f84ff 100644 --- a/packages/hiccup-carbon-icons/src/chart-venn-diagram.ts +++ b/packages/hiccup-carbon-icons/src/chart-venn-diagram.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHART_VENN_DIAGRAM */ // prettier-ignore -export const CHART_VENN_DIAGRAM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 6a9.92 9.92 0 00-4 .84A9.92 9.92 0 0012 6a10 10 0 000 20 9.92 9.92 0 004-.84 9.92 9.92 0 004 .84 10 10 0 000-20zm-8 18a8 8 0 010-16 7.91 7.91 0 011.76.2 10 10 0 000 15.6A7.91 7.91 0 0112 24zm8-8a8 8 0 01-4 6.92 8 8 0 010-13.84A8 8 0 0120 16zm0 8a7.91 7.91 0 01-1.76-.2 10 10 0 000-15.6A7.91 7.91 0 0120 8a8 8 0 010 16z" }]]; +export const CHART_VENN_DIAGRAM = svg( + ["path", { d: "M20 6a9.92 9.92 0 00-4 .84A9.92 9.92 0 0012 6a10 10 0 000 20 9.92 9.92 0 004-.84 9.92 9.92 0 004 .84 10 10 0 000-20zm-8 18a8 8 0 010-16 7.91 7.91 0 011.76.2 10 10 0 000 15.6A7.91 7.91 0 0112 24zm8-8a8 8 0 01-4 6.92 8 8 0 010-13.84A8 8 0 0120 16zm0 8a7.91 7.91 0 01-1.76-.2 10 10 0 000-15.6A7.91 7.91 0 0120 8a8 8 0 010 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chat-bot.ts b/packages/hiccup-carbon-icons/src/chat-bot.ts index 8b84b5d37d..71ec0a5ed3 100644 --- a/packages/hiccup-carbon-icons/src/chat-bot.ts +++ b/packages/hiccup-carbon-icons/src/chat-bot.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHAT_BOT */ // prettier-ignore -export const CHAT_BOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 19a6.99 6.99 0 01-5.833-3.129l1.666-1.107a5 5 0 008.334 0l1.666 1.107A6.99 6.99 0 0116 19zM20 8a2 2 0 102 2 1.98 1.98 0 00-2-2zM12 8a2 2 0 102 2 1.98 1.98 0 00-2-2z" }], - ["path", { d: "M17.736 30L16 29l4-7h6a1.997 1.997 0 002-2V6a1.997 1.997 0 00-2-2H6a1.997 1.997 0 00-2 2v14a1.997 1.997 0 002 2h9v2H6a4 4 0 01-4-4V6a3.999 3.999 0 014-4h20a3.999 3.999 0 014 4v14a4 4 0 01-4 4h-4.835z" }]]; +export const CHAT_BOT = svg( + ["path", { d: "M16 19a6.99 6.99 0 01-5.833-3.129l1.666-1.107a5 5 0 008.334 0l1.666 1.107A6.99 6.99 0 0116 19zM20 8a2 2 0 102 2 1.98 1.98 0 00-2-2zM12 8a2 2 0 102 2 1.98 1.98 0 00-2-2z" }], + ["path", { d: "M17.736 30L16 29l4-7h6a1.997 1.997 0 002-2V6a1.997 1.997 0 00-2-2H6a1.997 1.997 0 00-2 2v14a1.997 1.997 0 002 2h9v2H6a4 4 0 01-4-4V6a3.999 3.999 0 014-4h20a3.999 3.999 0 014 4v14a4 4 0 01-4 4h-4.835z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chat.ts b/packages/hiccup-carbon-icons/src/chat.ts index 262828b470..a1778b2e6a 100644 --- a/packages/hiccup-carbon-icons/src/chat.ts +++ b/packages/hiccup-carbon-icons/src/chat.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHAT */ // prettier-ignore -export const CHAT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17.74 30L16 29l4-7h6a2 2 0 002-2V8a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2h9v2H6a4 4 0 01-4-4V8a4 4 0 014-4h20a4 4 0 014 4v12a4 4 0 01-4 4h-4.84z" }], - ["path", { d: "M8 10h16v2H8zM8 16h10v2H8z" }]]; +export const CHAT = svg( + ["path", { d: "M17.74 30L16 29l4-7h6a2 2 0 002-2V8a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2h9v2H6a4 4 0 01-4-4V8a4 4 0 014-4h20a4 4 0 014 4v12a4 4 0 01-4 4h-4.84z" }], + ["path", { d: "M8 10h16v2H8zM8 16h10v2H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkbox-checked-filled.ts b/packages/hiccup-carbon-icons/src/checkbox-checked-filled.ts index de030a7543..62b426147d 100644 --- a/packages/hiccup-carbon-icons/src/checkbox-checked-filled.ts +++ b/packages/hiccup-carbon-icons/src/checkbox-checked-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKBOX_CHECKED_FILLED */ // prettier-ignore -export const CHECKBOX_CHECKED_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM14 21.5l-5-4.957L10.59 15 14 18.346 21.409 11 23 12.577z" }]]; +export const CHECKBOX_CHECKED_FILLED = svg( + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM14 21.5l-5-4.957L10.59 15 14 18.346 21.409 11 23 12.577z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkbox-checked.ts b/packages/hiccup-carbon-icons/src/checkbox-checked.ts index d6cd38ff5f..28b78c3873 100644 --- a/packages/hiccup-carbon-icons/src/checkbox-checked.ts +++ b/packages/hiccup-carbon-icons/src/checkbox-checked.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKBOX_CHECKED */ // prettier-ignore -export const CHECKBOX_CHECKED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }], - ["path", { d: "M14 21.5l-5-4.96L10.59 15 14 18.35 21.41 11 23 12.58l-9 8.92z" }]]; +export const CHECKBOX_CHECKED = svg( + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }], + ["path", { d: "M14 21.5l-5-4.96L10.59 15 14 18.35 21.41 11 23 12.58l-9 8.92z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkbox-indeterminate-filled.ts b/packages/hiccup-carbon-icons/src/checkbox-indeterminate-filled.ts index 09c899ccbf..2bb6e93896 100644 --- a/packages/hiccup-carbon-icons/src/checkbox-indeterminate-filled.ts +++ b/packages/hiccup-carbon-icons/src/checkbox-indeterminate-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKBOX_INDETERMINATE_FILLED */ // prettier-ignore -export const CHECKBOX_INDETERMINATE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm-4 14H10v-4h12z" }]]; +export const CHECKBOX_INDETERMINATE_FILLED = svg( + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm-4 14H10v-4h12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkbox-indeterminate.ts b/packages/hiccup-carbon-icons/src/checkbox-indeterminate.ts index e0e4079774..a6ed4d7af8 100644 --- a/packages/hiccup-carbon-icons/src/checkbox-indeterminate.ts +++ b/packages/hiccup-carbon-icons/src/checkbox-indeterminate.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKBOX_INDETERMINATE */ // prettier-ignore -export const CHECKBOX_INDETERMINATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 14h12v4H10z" }], - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }]]; +export const CHECKBOX_INDETERMINATE = svg( + ["path", { d: "M10 14h12v4H10z" }], + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkbox-undeterminate-filled.ts b/packages/hiccup-carbon-icons/src/checkbox-undeterminate-filled.ts index c1b431ab28..1f7fd4e4dc 100644 --- a/packages/hiccup-carbon-icons/src/checkbox-undeterminate-filled.ts +++ b/packages/hiccup-carbon-icons/src/checkbox-undeterminate-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKBOX_UNDETERMINATE_FILLED */ // prettier-ignore -export const CHECKBOX_UNDETERMINATE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm-4 14H10v-4h12z" }]]; +export const CHECKBOX_UNDETERMINATE_FILLED = svg( + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm-4 14H10v-4h12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkbox-undeterminate.ts b/packages/hiccup-carbon-icons/src/checkbox-undeterminate.ts index 046bf598e7..b4e2f32048 100644 --- a/packages/hiccup-carbon-icons/src/checkbox-undeterminate.ts +++ b/packages/hiccup-carbon-icons/src/checkbox-undeterminate.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKBOX_UNDETERMINATE */ // prettier-ignore -export const CHECKBOX_UNDETERMINATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 14h12v4H10z" }], - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }]]; +export const CHECKBOX_UNDETERMINATE = svg( + ["path", { d: "M10 14h12v4H10z" }], + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkbox.ts b/packages/hiccup-carbon-icons/src/checkbox.ts index cee37f23b2..0fd07be698 100644 --- a/packages/hiccup-carbon-icons/src/checkbox.ts +++ b/packages/hiccup-carbon-icons/src/checkbox.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKBOX */ // prettier-ignore -export const CHECKBOX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }]]; +export const CHECKBOX = svg( + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM6 26V6h20v20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkmark-filled-error.ts b/packages/hiccup-carbon-icons/src/checkmark-filled-error.ts index 0a4cc4a200..1924d6a2ab 100644 --- a/packages/hiccup-carbon-icons/src/checkmark-filled-error.ts +++ b/packages/hiccup-carbon-icons/src/checkmark-filled-error.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKMARK_FILLED_ERROR */ // prettier-ignore -export const CHECKMARK_FILLED_ERROR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }], - ["path", { d: "M14 2a12 12 0 102 23.82V24a8 8 0 018-8h1.82A11.935 11.935 0 0014 2zm-2 16.59l-4-4L9.59 13 12 15.41 17.41 10 19 11.59z" }]]; +export const CHECKMARK_FILLED_ERROR = svg( + ["path", { d: "M30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }], + ["path", { d: "M14 2a12 12 0 102 23.82V24a8 8 0 018-8h1.82A11.935 11.935 0 0014 2zm-2 16.59l-4-4L9.59 13 12 15.41 17.41 10 19 11.59z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkmark-filled-warning.ts b/packages/hiccup-carbon-icons/src/checkmark-filled-warning.ts index 5e9c9f01bf..5b9d2b4f8e 100644 --- a/packages/hiccup-carbon-icons/src/checkmark-filled-warning.ts +++ b/packages/hiccup-carbon-icons/src/checkmark-filled-warning.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKMARK_FILLED_WARNING */ // prettier-ignore -export const CHECKMARK_FILLED_WARNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 2a12 12 0 103.393 23.506l3.924-7.85A2.985 2.985 0 0124 16h1.82A11.935 11.935 0 0014 2zm-2 16.59l-4-4L9.59 13 12 15.41 17.41 10 19 11.59z" }], - ["path", { d: "M27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }]]; +export const CHECKMARK_FILLED_WARNING = svg( + ["path", { d: "M14 2a12 12 0 103.393 23.506l3.924-7.85A2.985 2.985 0 0124 16h1.82A11.935 11.935 0 0014 2zm-2 16.59l-4-4L9.59 13 12 15.41 17.41 10 19 11.59z" }], + ["path", { d: "M27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkmark-filled.ts b/packages/hiccup-carbon-icons/src/checkmark-filled.ts index 16596f7e3b..e3bb95df1f 100644 --- a/packages/hiccup-carbon-icons/src/checkmark-filled.ts +++ b/packages/hiccup-carbon-icons/src/checkmark-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKMARK_FILLED */ // prettier-ignore -export const CHECKMARK_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-2 19.59l-5-5L10.59 15 14 18.41 21.41 11l1.596 1.586z" }]]; +export const CHECKMARK_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-2 19.59l-5-5L10.59 15 14 18.41 21.41 11l1.596 1.586z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkmark-outline-error.ts b/packages/hiccup-carbon-icons/src/checkmark-outline-error.ts index 738f3de5ba..9c8f849b9b 100644 --- a/packages/hiccup-carbon-icons/src/checkmark-outline-error.ts +++ b/packages/hiccup-carbon-icons/src/checkmark-outline-error.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKMARK_OUTLINE_ERROR */ // prettier-ignore -export const CHECKMARK_OUTLINE_ERROR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 24a10 10 0 1110-10h2a12 12 0 10-12 12z" }], - ["path", { d: "M12 15.59L9.41 13 8 14.41l4 4 7-7L17.59 10 12 15.59zM30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }]]; +export const CHECKMARK_OUTLINE_ERROR = svg( + ["path", { d: "M14 24a10 10 0 1110-10h2a12 12 0 10-12 12z" }], + ["path", { d: "M12 15.59L9.41 13 8 14.41l4 4 7-7L17.59 10 12 15.59zM30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkmark-outline-warning.ts b/packages/hiccup-carbon-icons/src/checkmark-outline-warning.ts index 3db46f85ad..7a63e5d775 100644 --- a/packages/hiccup-carbon-icons/src/checkmark-outline-warning.ts +++ b/packages/hiccup-carbon-icons/src/checkmark-outline-warning.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKMARK_OUTLINE_WARNING */ // prettier-ignore -export const CHECKMARK_OUTLINE_WARNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 24a10 10 0 1110-10h2a12 12 0 10-12 12z" }], - ["path", { d: "M12 15.59L9.41 13 8 14.41l4 4 7-7L17.59 10 12 15.59zM27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }]]; +export const CHECKMARK_OUTLINE_WARNING = svg( + ["path", { d: "M14 24a10 10 0 1110-10h2a12 12 0 10-12 12z" }], + ["path", { d: "M12 15.59L9.41 13 8 14.41l4 4 7-7L17.59 10 12 15.59zM27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkmark-outline.ts b/packages/hiccup-carbon-icons/src/checkmark-outline.ts index 5b4f0770b0..6a3dc41670 100644 --- a/packages/hiccup-carbon-icons/src/checkmark-outline.ts +++ b/packages/hiccup-carbon-icons/src/checkmark-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKMARK_OUTLINE */ // prettier-ignore -export const CHECKMARK_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 21.414l-5-5.001L10.413 15 14 18.586 21.585 11 23 12.415l-9 8.999z" }], - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }]]; +export const CHECKMARK_OUTLINE = svg( + ["path", { d: "M14 21.414l-5-5.001L10.413 15 14 18.586 21.585 11 23 12.415l-9 8.999z" }], + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/checkmark.ts b/packages/hiccup-carbon-icons/src/checkmark.ts index 71b6acb190..60c0e95d86 100644 --- a/packages/hiccup-carbon-icons/src/checkmark.ts +++ b/packages/hiccup-carbon-icons/src/checkmark.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHECKMARK */ // prettier-ignore -export const CHECKMARK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 24l-9-9 1.414-1.414L13 21.171 26.586 7.586 28 9 13 24z" }]]; +export const CHECKMARK = svg( + ["path", { d: "M13 24l-9-9 1.414-1.414L13 21.171 26.586 7.586 28 9 13 24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chemistry-reference.ts b/packages/hiccup-carbon-icons/src/chemistry-reference.ts index 39b9b2dfb4..b3419cb2b9 100644 --- a/packages/hiccup-carbon-icons/src/chemistry-reference.ts +++ b/packages/hiccup-carbon-icons/src/chemistry-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEMISTRY_REFERENCE */ // prettier-ignore -export const CHEMISTRY_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], - ["path", { d: "M20 13.67V4h2V2H10v2h2v9.67L9.58 17h2.477L14 14.33V4h4v10.33l7.61 10.46a2.013 2.013 0 01-.44 2.82 2.04 2.04 0 01-1.19.39H15v2h8.98a4.015 4.015 0 003.25-6.38z" }]]; +export const CHEMISTRY_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], + ["path", { d: "M20 13.67V4h2V2H10v2h2v9.67L9.58 17h2.477L14 14.33V4h4v10.33l7.61 10.46a2.013 2.013 0 01-.44 2.82 2.04 2.04 0 01-1.19.39H15v2h8.98a4.015 4.015 0 003.25-6.38z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chemistry.ts b/packages/hiccup-carbon-icons/src/chemistry.ts index 5a2c6643eb..29a7b1efe3 100644 --- a/packages/hiccup-carbon-icons/src/chemistry.ts +++ b/packages/hiccup-carbon-icons/src/chemistry.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEMISTRY */ // prettier-ignore -export const CHEMISTRY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.231 23.618L20 13.675V4h2V2H10v2h2v9.675l-7.231 9.943A4.018 4.018 0 008.019 30H23.98a4.018 4.018 0 003.25-6.382zM14 14.325V4h4v10.325L20.673 18h-9.346zM23.981 28H8.02a2.02 2.02 0 01-1.633-3.206L9.873 20h12.254l3.487 4.794A2.02 2.02 0 0123.981 28z" }]]; +export const CHEMISTRY = svg( + ["path", { d: "M27.231 23.618L20 13.675V4h2V2H10v2h2v9.675l-7.231 9.943A4.018 4.018 0 008.019 30H23.98a4.018 4.018 0 003.25-6.382zM14 14.325V4h4v10.325L20.673 18h-9.346zM23.981 28H8.02a2.02 2.02 0 01-1.633-3.206L9.873 20h12.254l3.487 4.794A2.02 2.02 0 0123.981 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-down.ts b/packages/hiccup-carbon-icons/src/chevron-down.ts index ed93d6d234..9221a0611a 100644 --- a/packages/hiccup-carbon-icons/src/chevron-down.ts +++ b/packages/hiccup-carbon-icons/src/chevron-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_DOWN */ // prettier-ignore -export const CHEVRON_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 22L6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z" }]]; +export const CHEVRON_DOWN = svg( + ["path", { d: "M16 22L6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-left.ts b/packages/hiccup-carbon-icons/src/chevron-left.ts index e55d2ed84a..f6f52bc861 100644 --- a/packages/hiccup-carbon-icons/src/chevron-left.ts +++ b/packages/hiccup-carbon-icons/src/chevron-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_LEFT */ // prettier-ignore -export const CHEVRON_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 16L20 6l1.4 1.4-8.6 8.6 8.6 8.6L20 26z" }]]; +export const CHEVRON_LEFT = svg( + ["path", { d: "M10 16L20 6l1.4 1.4-8.6 8.6 8.6 8.6L20 26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-mini.ts b/packages/hiccup-carbon-icons/src/chevron-mini.ts index 284db3e7ac..9ad76f1827 100644 --- a/packages/hiccup-carbon-icons/src/chevron-mini.ts +++ b/packages/hiccup-carbon-icons/src/chevron-mini.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_MINI */ // prettier-ignore -export const CHEVRON_MINI: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M31 19v12H19z" }]]; +export const CHEVRON_MINI = svg( + ["path", { d: "M31 19v12H19z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-right.ts b/packages/hiccup-carbon-icons/src/chevron-right.ts index ea16d4b76f..7c06391e0b 100644 --- a/packages/hiccup-carbon-icons/src/chevron-right.ts +++ b/packages/hiccup-carbon-icons/src/chevron-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_RIGHT */ // prettier-ignore -export const CHEVRON_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z" }]]; +export const CHEVRON_RIGHT = svg( + ["path", { d: "M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-sort-down.ts b/packages/hiccup-carbon-icons/src/chevron-sort-down.ts index 75ea30f07b..3ae0715009 100644 --- a/packages/hiccup-carbon-icons/src/chevron-sort-down.ts +++ b/packages/hiccup-carbon-icons/src/chevron-sort-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_SORT_DOWN */ // prettier-ignore -export const CHEVRON_SORT_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 28l-7-7 1.4-1.4 5.6 5.6 5.6-5.6L23 21z" }]]; +export const CHEVRON_SORT_DOWN = svg( + ["path", { d: "M16 28l-7-7 1.4-1.4 5.6 5.6 5.6-5.6L23 21z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-sort-up.ts b/packages/hiccup-carbon-icons/src/chevron-sort-up.ts index 91c74e213d..425cf05246 100644 --- a/packages/hiccup-carbon-icons/src/chevron-sort-up.ts +++ b/packages/hiccup-carbon-icons/src/chevron-sort-up.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_SORT_UP */ // prettier-ignore -export const CHEVRON_SORT_UP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4l7 7-1.4 1.4L16 6.8l-5.6 5.6L9 11z" }]]; +export const CHEVRON_SORT_UP = svg( + ["path", { d: "M16 4l7 7-1.4 1.4L16 6.8l-5.6 5.6L9 11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-sort.ts b/packages/hiccup-carbon-icons/src/chevron-sort.ts index 88cd9fad97..e219693c79 100644 --- a/packages/hiccup-carbon-icons/src/chevron-sort.ts +++ b/packages/hiccup-carbon-icons/src/chevron-sort.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_SORT */ // prettier-ignore -export const CHEVRON_SORT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 28l-7-7 1.41-1.41L16 25.17l5.59-5.58L23 21l-7 7zM16 4l7 7-1.41 1.41L16 6.83l-5.59 5.58L9 11l7-7z" }]]; +export const CHEVRON_SORT = svg( + ["path", { d: "M16 28l-7-7 1.41-1.41L16 25.17l5.59-5.58L23 21l-7 7zM16 4l7 7-1.41 1.41L16 6.83l-5.59 5.58L9 11l7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chevron-up.ts b/packages/hiccup-carbon-icons/src/chevron-up.ts index b102a2d8d5..48ae4fee30 100644 --- a/packages/hiccup-carbon-icons/src/chevron-up.ts +++ b/packages/hiccup-carbon-icons/src/chevron-up.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHEVRON_UP */ // prettier-ignore -export const CHEVRON_UP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 10l10 10-1.4 1.4-8.6-8.6-8.6 8.6L6 20z" }]]; +export const CHEVRON_UP = svg( + ["path", { d: "M16 10l10 10-1.4 1.4-8.6-8.6-8.6 8.6L6 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/chip.ts b/packages/hiccup-carbon-icons/src/chip.ts index c74c26ccda..38604c2484 100644 --- a/packages/hiccup-carbon-icons/src/chip.ts +++ b/packages/hiccup-carbon-icons/src/chip.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHIP */ // prettier-ignore -export const CHIP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11 11v10h10V11zm8 8h-6v-6h6z" }], - ["path", { d: "M30 13v-2h-4V8a2 2 0 00-2-2h-3V2h-2v4h-6V2h-2v4H8a2 2 0 00-2 2v3H2v2h4v6H2v2h4v3a2 2 0 002 2h3v4h2v-4h6v4h2v-4h3a2 2 0 002-2v-3h4v-2h-4v-6zm-6 11H8V8h16z" }]]; +export const CHIP = svg( + ["path", { d: "M11 11v10h10V11zm8 8h-6v-6h6z" }], + ["path", { d: "M30 13v-2h-4V8a2 2 0 00-2-2h-3V2h-2v4h-6V2h-2v4H8a2 2 0 00-2 2v3H2v2h4v6H2v2h4v3a2 2 0 002 2h3v4h2v-4h6v4h2v-4h3a2 2 0 002-2v-3h4v-2h-4v-6zm-6 11H8V8h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/choices.ts b/packages/hiccup-carbon-icons/src/choices.ts index 6c22e93ebb..27a8b2fb4b 100644 --- a/packages/hiccup-carbon-icons/src/choices.ts +++ b/packages/hiccup-carbon-icons/src/choices.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CHOICES */ // prettier-ignore -export const CHOICES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 4v2h3.586L16 14.586 7.414 6H11V4H4v7h2V7.414l9 9V28h2V16.414l9-9V11h2V4h-7z" }]]; +export const CHOICES = svg( + ["path", { d: "M21 4v2h3.586L16 14.586 7.414 6H11V4H4v7h2V7.414l9 9V28h2V16.414l9-9V11h2V4h-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/circle-dash.ts b/packages/hiccup-carbon-icons/src/circle-dash.ts index f487d5ef66..6c45c51235 100644 --- a/packages/hiccup-carbon-icons/src/circle-dash.ts +++ b/packages/hiccup-carbon-icons/src/circle-dash.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CIRCLE_DASH */ // prettier-ignore -export const CIRCLE_DASH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7.7 4.7a14.7 14.7 0 00-3 3.1L6.3 9a13.26 13.26 0 012.6-2.7zM4.6 12.3l-1.9-.6A12.51 12.51 0 002 16h2a11.48 11.48 0 01.6-3.7zM2.7 20.4a14.4 14.4 0 002 3.9l1.6-1.2a12.89 12.89 0 01-1.7-3.3zM7.8 27.3a14.4 14.4 0 003.9 2l.6-1.9A12.89 12.89 0 019 25.7zM11.7 2.7l.6 1.9A11.48 11.48 0 0116 4V2a12.51 12.51 0 00-4.3.7zM24.2 27.3a15.18 15.18 0 003.1-3.1L25.7 23a11.53 11.53 0 01-2.7 2.7zM27.4 19.7l1.9.6A15.47 15.47 0 0030 16h-2a11.48 11.48 0 01-.6 3.7zM29.2 11.6a14.4 14.4 0 00-2-3.9l-1.6 1.2a12.89 12.89 0 011.7 3.3zM24.1 4.6a14.4 14.4 0 00-3.9-2l-.6 1.9a12.89 12.89 0 013.3 1.7zM20.3 29.3l-.6-1.9a11.48 11.48 0 01-3.7.6v2a21.42 21.42 0 004.3-.7z" }]]; +export const CIRCLE_DASH = svg( + ["path", { d: "M7.7 4.7a14.7 14.7 0 00-3 3.1L6.3 9a13.26 13.26 0 012.6-2.7zM4.6 12.3l-1.9-.6A12.51 12.51 0 002 16h2a11.48 11.48 0 01.6-3.7zM2.7 20.4a14.4 14.4 0 002 3.9l1.6-1.2a12.89 12.89 0 01-1.7-3.3zM7.8 27.3a14.4 14.4 0 003.9 2l.6-1.9A12.89 12.89 0 019 25.7zM11.7 2.7l.6 1.9A11.48 11.48 0 0116 4V2a12.51 12.51 0 00-4.3.7zM24.2 27.3a15.18 15.18 0 003.1-3.1L25.7 23a11.53 11.53 0 01-2.7 2.7zM27.4 19.7l1.9.6A15.47 15.47 0 0030 16h-2a11.48 11.48 0 01-.6 3.7zM29.2 11.6a14.4 14.4 0 00-2-3.9l-1.6 1.2a12.89 12.89 0 011.7 3.3zM24.1 4.6a14.4 14.4 0 00-3.9-2l-.6 1.9a12.89 12.89 0 013.3 1.7zM20.3 29.3l-.6-1.9a11.48 11.48 0 01-3.7.6v2a21.42 21.42 0 004.3-.7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/circle-filled.ts b/packages/hiccup-carbon-icons/src/circle-filled.ts index a0ab56e814..415d4bba03 100644 --- a/packages/hiccup-carbon-icons/src/circle-filled.ts +++ b/packages/hiccup-carbon-icons/src/circle-filled.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CIRCLE_FILLED */ // prettier-ignore -export const CIRCLE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 10, - cy: 16, - cx: 16, - }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const CIRCLE_FILLED = svg( + ["circle", + { + r: 10, + cy: 16, + cx: 16, + }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/circle-packing.ts b/packages/hiccup-carbon-icons/src/circle-packing.ts index 3dbd82e1ca..9abc8939d1 100644 --- a/packages/hiccup-carbon-icons/src/circle-packing.ts +++ b/packages/hiccup-carbon-icons/src/circle-packing.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CIRCLE_PACKING */ // prettier-ignore -export const CIRCLE_PACKING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm7.5 7a3.5 3.5 0 11-3.5 3.5A3.504 3.504 0 0123.5 9zm.435-1.978A5.528 5.528 0 0023.5 7a5.483 5.483 0 00-4.132 1.878A8.01 8.01 0 0013.8 4.211a11.855 11.855 0 0110.134 2.811zM16 28a4 4 0 114-4 4.005 4.005 0 01-4 4zm-4-10a6 6 0 116-6 6.007 6.007 0 01-6 6zm-8-2a11.97 11.97 0 01.211-2.199 7.992 7.992 0 007.346 6.176 5.958 5.958 0 00-.89 6.757A12.002 12.002 0 014 16zm17.332 10.734a5.983 5.983 0 00-4.178-8.62 8.02 8.02 0 001.913-2.368 5.488 5.488 0 008.917-.068c.003.108.016.214.016.322a12.002 12.002 0 01-6.668 10.734z" }]]; +export const CIRCLE_PACKING = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm7.5 7a3.5 3.5 0 11-3.5 3.5A3.504 3.504 0 0123.5 9zm.435-1.978A5.528 5.528 0 0023.5 7a5.483 5.483 0 00-4.132 1.878A8.01 8.01 0 0013.8 4.211a11.855 11.855 0 0110.134 2.811zM16 28a4 4 0 114-4 4.005 4.005 0 01-4 4zm-4-10a6 6 0 116-6 6.007 6.007 0 01-6 6zm-8-2a11.97 11.97 0 01.211-2.199 7.992 7.992 0 007.346 6.176 5.958 5.958 0 00-.89 6.757A12.002 12.002 0 014 16zm17.332 10.734a5.983 5.983 0 00-4.178-8.62 8.02 8.02 0 001.913-2.368 5.488 5.488 0 008.917-.068c.003.108.016.214.016.322a12.002 12.002 0 01-6.668 10.734z" }] +); diff --git a/packages/hiccup-carbon-icons/src/classification.ts b/packages/hiccup-carbon-icons/src/classification.ts index 0dc2fcd41d..c2d07550dc 100644 --- a/packages/hiccup-carbon-icons/src/classification.ts +++ b/packages/hiccup-carbon-icons/src/classification.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLASSIFICATION */ // prettier-ignore -export const CLASSIFICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1, - cy: 19, - cx: 15, - }], - ["path", { d: "M27.7 9.3l-7-7A.909.909 0 0020 2H10a2.006 2.006 0 00-2 2v10H6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v4a2.006 2.006 0 002 2h16a2.006 2.006 0 002-2V10a.91.91 0 00-.3-.7zM20 4.4l5.6 5.6H20zM6 16h9.597L19 19l-3.393 3H6zm20 12H10v-4h5.609a2.008 2.008 0 001.313-.493l3.384-2.991a2.002 2.002 0 00.01-3.023l-3.404-3.009A1.996 1.996 0 0015.61 14H10V4h8v6a2.006 2.006 0 002 2h6z" }]]; +export const CLASSIFICATION = svg( + ["circle", + { + r: 1, + cy: 19, + cx: 15, + }], + ["path", { d: "M27.7 9.3l-7-7A.909.909 0 0020 2H10a2.006 2.006 0 00-2 2v10H6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v4a2.006 2.006 0 002 2h16a2.006 2.006 0 002-2V10a.91.91 0 00-.3-.7zM20 4.4l5.6 5.6H20zM6 16h9.597L19 19l-3.393 3H6zm20 12H10v-4h5.609a2.008 2.008 0 001.313-.493l3.384-2.991a2.002 2.002 0 00.01-3.023l-3.404-3.009A1.996 1.996 0 0015.61 14H10V4h8v6a2.006 2.006 0 002 2h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/classifier-language.ts b/packages/hiccup-carbon-icons/src/classifier-language.ts index bca118441b..6cd4f78967 100644 --- a/packages/hiccup-carbon-icons/src/classifier-language.ts +++ b/packages/hiccup-carbon-icons/src/classifier-language.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLASSIFIER_LANGUAGE */ // prettier-ignore -export const CLASSIFIER_LANGUAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 10V2h-8v8h3v4h-2v2h7v-2h-3v-4zm-6-6h4v4h-4zM20 23.41L18.59 22 16 24.59 13.41 22 12 23.41 14.59 26 12 28.59 13.41 30 16 27.41 18.59 30 20 28.59 17.41 26 20 23.41zM20 14h-8v2h3v5h2v-5h3v-2zM7 9.86a4 4 0 10-2 0V14H2v2h7v-2H7zM4 6a2 2 0 112 2 2 2 0 01-2-2z" }]]; +export const CLASSIFIER_LANGUAGE = svg( + ["path", { d: "M30 10V2h-8v8h3v4h-2v2h7v-2h-3v-4zm-6-6h4v4h-4zM20 23.41L18.59 22 16 24.59 13.41 22 12 23.41 14.59 26 12 28.59 13.41 30 16 27.41 18.59 30 20 28.59 17.41 26 20 23.41zM20 14h-8v2h3v5h2v-5h3v-2zM7 9.86a4 4 0 10-2 0V14H2v2h7v-2H7zM4 6a2 2 0 112 2 2 2 0 01-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/clean.ts b/packages/hiccup-carbon-icons/src/clean.ts index d8cfa4acbf..fc3e5d9c5e 100644 --- a/packages/hiccup-carbon-icons/src/clean.ts +++ b/packages/hiccup-carbon-icons/src/clean.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLEAN */ // prettier-ignore -export const CLEAN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 20h-6v-2h6zM30 28h-6v-2h6zM28 24h-6v-2h6z" }], - ["path", { d: "M17.003 20a4.895 4.895 0 00-2.404-4.173L22 3l-1.73-1-7.577 13.126a5.699 5.699 0 00-5.243 1.503C3.706 20.24 3.996 28.682 4.01 29.04a1 1 0 001 .96h14.991a1 1 0 00.6-1.8c-3.54-2.656-3.598-8.146-3.598-8.2zm-5.073-3.003A3.11 3.11 0 0115.004 20c0 .038.002.208.017.469l-5.9-2.624a3.8 3.8 0 012.809-.848zM15.45 28A5.2 5.2 0 0114 25h-2a6.5 6.5 0 00.968 3h-2.223A16.617 16.617 0 0110 24H8a17.342 17.342 0 00.665 4H6c.031-1.836.29-5.892 1.803-8.553l7.533 3.35A13.025 13.025 0 0017.596 28z" }]]; +export const CLEAN = svg( + ["path", { d: "M26 20h-6v-2h6zM30 28h-6v-2h6zM28 24h-6v-2h6z" }], + ["path", { d: "M17.003 20a4.895 4.895 0 00-2.404-4.173L22 3l-1.73-1-7.577 13.126a5.699 5.699 0 00-5.243 1.503C3.706 20.24 3.996 28.682 4.01 29.04a1 1 0 001 .96h14.991a1 1 0 00.6-1.8c-3.54-2.656-3.598-8.146-3.598-8.2zm-5.073-3.003A3.11 3.11 0 0115.004 20c0 .038.002.208.017.469l-5.9-2.624a3.8 3.8 0 012.809-.848zM15.45 28A5.2 5.2 0 0114 25h-2a6.5 6.5 0 00.968 3h-2.223A16.617 16.617 0 0110 24H8a17.342 17.342 0 00.665 4H6c.031-1.836.29-5.892 1.803-8.553l7.533 3.35A13.025 13.025 0 0017.596 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/close-filled.ts b/packages/hiccup-carbon-icons/src/close-filled.ts index dfa9e4c5a4..6aea642c0d 100644 --- a/packages/hiccup-carbon-icons/src/close-filled.ts +++ b/packages/hiccup-carbon-icons/src/close-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOSE_FILLED */ // prettier-ignore -export const CLOSE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm5.4 21L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4-1.6 1.6z" }]]; +export const CLOSE_FILLED = svg( + ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm5.4 21L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4-1.6 1.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/close-outline.ts b/packages/hiccup-carbon-icons/src/close-outline.ts index d1f15d18f9..7d3be7631c 100644 --- a/packages/hiccup-carbon-icons/src/close-outline.ts +++ b/packages/hiccup-carbon-icons/src/close-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOSE_OUTLINE */ // prettier-ignore -export const CLOSE_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12-5.4 12-12 12z" }], - ["path", { d: "M21.4 23L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4z" }]]; +export const CLOSE_OUTLINE = svg( + ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12-5.4 12-12 12z" }], + ["path", { d: "M21.4 23L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/close.ts b/packages/hiccup-carbon-icons/src/close.ts index d61d2043e3..2da42c7e89 100644 --- a/packages/hiccup-carbon-icons/src/close.ts +++ b/packages/hiccup-carbon-icons/src/close.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOSE */ // prettier-ignore -export const CLOSE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z" }]]; +export const CLOSE = svg( + ["path", { d: "M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/closed-caption-alt.ts b/packages/hiccup-carbon-icons/src/closed-caption-alt.ts index 43d5d5b136..551c61e583 100644 --- a/packages/hiccup-carbon-icons/src/closed-caption-alt.ts +++ b/packages/hiccup-carbon-icons/src/closed-caption-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOSED_CAPTION_ALT */ // prettier-ignore -export const CLOSED_CAPTION_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 17h6v2h-6zM11 17h6v2h-6zM6 17h3v2H6zM22 13h4v2h-4zM13 13h7v2h-7zM6 13h5v2H6z" }], - ["path", { d: "M17.736 30L16 29l4-7h6a1.997 1.997 0 002-2V8a1.997 1.997 0 00-2-2H6a1.997 1.997 0 00-2 2v12a1.997 1.997 0 002 2h9v2H6a4 4 0 01-4-4V8a3.999 3.999 0 014-4h20a3.999 3.999 0 014 4v12a4 4 0 01-4 4h-4.835z" }]]; +export const CLOSED_CAPTION_ALT = svg( + ["path", { d: "M19 17h6v2h-6zM11 17h6v2h-6zM6 17h3v2H6zM22 13h4v2h-4zM13 13h7v2h-7zM6 13h5v2H6z" }], + ["path", { d: "M17.736 30L16 29l4-7h6a1.997 1.997 0 002-2V8a1.997 1.997 0 00-2-2H6a1.997 1.997 0 00-2 2v12a1.997 1.997 0 002 2h9v2H6a4 4 0 01-4-4V8a3.999 3.999 0 014-4h20a3.999 3.999 0 014 4v12a4 4 0 01-4 4h-4.835z" }] +); diff --git a/packages/hiccup-carbon-icons/src/closed-caption-filled.ts b/packages/hiccup-carbon-icons/src/closed-caption-filled.ts index 1b00d892cd..e260564850 100644 --- a/packages/hiccup-carbon-icons/src/closed-caption-filled.ts +++ b/packages/hiccup-carbon-icons/src/closed-caption-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOSED_CAPTION_FILLED */ // prettier-ignore -export const CLOSED_CAPTION_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zm-13 7h-5v6h5v2h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5zm10 0h-5v6h5v2h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5z" }]]; +export const CLOSED_CAPTION_FILLED = svg( + ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zm-13 7h-5v6h5v2h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5zm10 0h-5v6h5v2h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/closed-caption.ts b/packages/hiccup-carbon-icons/src/closed-caption.ts index 8ac2ba7568..2835661573 100644 --- a/packages/hiccup-carbon-icons/src/closed-caption.ts +++ b/packages/hiccup-carbon-icons/src/closed-caption.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOSED_CAPTION */ // prettier-ignore -export const CLOSED_CAPTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 21h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5v2h-5v6h5zM25 21h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5v2h-5v6h5z" }], - ["path", { d: "M28 26H4a2 2 0 01-2-2V8a2 2 0 012-2h24a2 2 0 012 2v16a2 2 0 01-2 2zM4 8v16h24V8z" }]]; +export const CLOSED_CAPTION = svg( + ["path", { d: "M15 21h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5v2h-5v6h5zM25 21h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5v2h-5v6h5z" }], + ["path", { d: "M28 26H4a2 2 0 01-2-2V8a2 2 0 012-2h24a2 2 0 012 2v16a2 2 0 01-2 2zM4 8v16h24V8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-app.ts b/packages/hiccup-carbon-icons/src/cloud-app.ts index bcd3a66a28..e83de01c09 100644 --- a/packages/hiccup-carbon-icons/src/cloud-app.ts +++ b/packages/hiccup-carbon-icons/src/cloud-app.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_APP */ // prettier-ignore -export const CLOUD_APP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.829 13.116A10.02 10.02 0 0016 5v2a8.023 8.023 0 017.865 6.493l.259 1.346 1.349.245A5.502 5.502 0 0124.508 26H16v2h8.508a7.502 7.502 0 001.32-14.884zM8 24h6v2H8zM4 24h2v2H4zM6 20h8v2H6zM2 20h2v2H2zM8 16h6v2H8zM4 16h2v2H4zM10 12h4v2h-4zM6 12h2v2H6zM12 8h2v2h-2z" }]]; +export const CLOUD_APP = svg( + ["path", { d: "M25.829 13.116A10.02 10.02 0 0016 5v2a8.023 8.023 0 017.865 6.493l.259 1.346 1.349.245A5.502 5.502 0 0124.508 26H16v2h8.508a7.502 7.502 0 001.32-14.884zM8 24h6v2H8zM4 24h2v2H4zM6 20h8v2H6zM2 20h2v2H2zM8 16h6v2H8zM4 16h2v2H4zM10 12h4v2h-4zM6 12h2v2H6zM12 8h2v2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-data-ops.ts b/packages/hiccup-carbon-icons/src/cloud-data-ops.ts index d348b578dc..228b6fe2e4 100644 --- a/packages/hiccup-carbon-icons/src/cloud-data-ops.ts +++ b/packages/hiccup-carbon-icons/src/cloud-data-ops.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_DATA_OPS */ // prettier-ignore -export const CLOUD_DATA_OPS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 18h2v10h-2zM24 14h2v14h-2zM20 22h2v6h-2zM22.175 10l1.585-1.266a9.952 9.952 0 00-5.87-3.552 10.002 10.002 0 00-11.72 7.933A7.505 7.505 0 00.054 21.41 7.684 7.684 0 007.77 28H16v-2H7.694a5.632 5.632 0 01-5.602-4.486 5.506 5.506 0 014.434-6.43l1.349-.245.214-1.11a8.206 8.206 0 016.742-6.642 7.967 7.967 0 013.014.13A7.804 7.804 0 0122.175 10z" }]]; +export const CLOUD_DATA_OPS = svg( + ["path", { d: "M28 18h2v10h-2zM24 14h2v14h-2zM20 22h2v6h-2zM22.175 10l1.585-1.266a9.952 9.952 0 00-5.87-3.552 10.002 10.002 0 00-11.72 7.933A7.505 7.505 0 00.054 21.41 7.684 7.684 0 007.77 28H16v-2H7.694a5.632 5.632 0 01-5.602-4.486 5.506 5.506 0 014.434-6.43l1.349-.245.214-1.11a8.206 8.206 0 016.742-6.642 7.967 7.967 0 013.014.13A7.804 7.804 0 0122.175 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-download.ts b/packages/hiccup-carbon-icons/src/cloud-download.ts index 2bafa95fb1..b1cf26e465 100644 --- a/packages/hiccup-carbon-icons/src/cloud-download.ts +++ b/packages/hiccup-carbon-icons/src/cloud-download.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_DOWNLOAD */ // prettier-ignore -export const CLOUD_DOWNLOAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.5 22H23v-2h.5a4.5 4.5 0 00.36-9H23l-.1-.82a7 7 0 00-13.88 0L9 11h-.86a4.5 4.5 0 00.36 9H9v2h-.5A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22z" }], - ["path", { d: "M17 26.17V14h-2v12.17l-2.59-2.58L11 25l5 5 5-5-1.41-1.41L17 26.17z" }]]; +export const CLOUD_DOWNLOAD = svg( + ["path", { d: "M23.5 22H23v-2h.5a4.5 4.5 0 00.36-9H23l-.1-.82a7 7 0 00-13.88 0L9 11h-.86a4.5 4.5 0 00.36 9H9v2h-.5A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22z" }], + ["path", { d: "M17 26.17V14h-2v12.17l-2.59-2.58L11 25l5 5 5-5-1.41-1.41L17 26.17z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-foundry-1.ts b/packages/hiccup-carbon-icons/src/cloud-foundry-1.ts index 5e682be77f..333c24668b 100644 --- a/packages/hiccup-carbon-icons/src/cloud-foundry-1.ts +++ b/packages/hiccup-carbon-icons/src/cloud-foundry-1.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_FOUNDRY_1 */ // prettier-ignore -export const CLOUD_FOUNDRY_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 7a7.66 7.66 0 011.51.15 8 8 0 016.35 6.34l.26 1.35 1.35.24a5.5 5.5 0 01-1 10.92H7.5a5.5 5.5 0 01-1-10.92l1.34-.24.26-1.35A8 8 0 0116 7m0-2a10 10 0 00-9.83 8.12A7.5 7.5 0 007.49 28h17a7.5 7.5 0 001.32-14.88 10 10 0 00-7.94-7.94A10.27 10.27 0 0016 5z" }], - ["path", { d: "M14 24h-3a2 2 0 01-2-2v-3a2 2 0 012-2h3v2h-3v3h3zM21 15v-2h-2a2 2 0 00-2 2v2h-1v2h1v5h2v-5h2v-2h-2v-2z" }]]; +export const CLOUD_FOUNDRY_1 = svg( + ["path", { d: "M16 7a7.66 7.66 0 011.51.15 8 8 0 016.35 6.34l.26 1.35 1.35.24a5.5 5.5 0 01-1 10.92H7.5a5.5 5.5 0 01-1-10.92l1.34-.24.26-1.35A8 8 0 0116 7m0-2a10 10 0 00-9.83 8.12A7.5 7.5 0 007.49 28h17a7.5 7.5 0 001.32-14.88 10 10 0 00-7.94-7.94A10.27 10.27 0 0016 5z" }], + ["path", { d: "M14 24h-3a2 2 0 01-2-2v-3a2 2 0 012-2h3v2h-3v3h3zM21 15v-2h-2a2 2 0 00-2 2v2h-1v2h1v5h2v-5h2v-2h-2v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-foundry-2.ts b/packages/hiccup-carbon-icons/src/cloud-foundry-2.ts index ea17fe7db9..e28a0f58f6 100644 --- a/packages/hiccup-carbon-icons/src/cloud-foundry-2.ts +++ b/packages/hiccup-carbon-icons/src/cloud-foundry-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_FOUNDRY_2 */ // prettier-ignore -export const CLOUD_FOUNDRY_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 11V9h-8v14h2v-6h5v-2h-5v-4h6zM15 23H9a2 2 0 01-2-2V11a2 2 0 012-2h6v2H9v10h6z" }]]; +export const CLOUD_FOUNDRY_2 = svg( + ["path", { d: "M25 11V9h-8v14h2v-6h5v-2h-5v-4h6zM15 23H9a2 2 0 01-2-2V11a2 2 0 012-2h6v2H9v10h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-lightning.ts b/packages/hiccup-carbon-icons/src/cloud-lightning.ts index d3d87d4772..1b46657527 100644 --- a/packages/hiccup-carbon-icons/src/cloud-lightning.ts +++ b/packages/hiccup-carbon-icons/src/cloud-lightning.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_LIGHTNING */ // prettier-ignore -export const CLOUD_LIGHTNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08zM17.75 13l2-9H11.8L9.26 15h5.91l-1.59 10.28L23 13z" }]]; +export const CLOUD_LIGHTNING = svg( + ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08zM17.75 13l2-9H11.8L9.26 15h5.91l-1.59 10.28L23 13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-rain.ts b/packages/hiccup-carbon-icons/src/cloud-rain.ts index 16b94b6c17..479d519773 100644 --- a/packages/hiccup-carbon-icons/src/cloud-rain.ts +++ b/packages/hiccup-carbon-icons/src/cloud-rain.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_RAIN */ // prettier-ignore -export const CLOUD_RAIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM14 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0114 30zM20 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0120 30zM8 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 018 30z" }]]; +export const CLOUD_RAIN = svg( + ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM14 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0114 30zM20 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0120 30zM8 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 018 30z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-satellite.ts b/packages/hiccup-carbon-icons/src/cloud-satellite.ts index 9e584d52ce..7fc01210c5 100644 --- a/packages/hiccup-carbon-icons/src/cloud-satellite.ts +++ b/packages/hiccup-carbon-icons/src/cloud-satellite.ts @@ -1,20 +1,22 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_SATELLITE */ // prettier-ignore -export const CLOUD_SATELLITE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 20, - cx: 9, - }], - ["path", { d: "M16 20a4 4 0 114-4 4.012 4.012 0 01-4 4zm0-6a2 2 0 102 2 2.006 2.006 0 00-2-2z" }], - ["circle", - { - r: 2, - cy: 12, - cx: 23, - }], - ["path", { d: "M23 24.759l-7 4.083-11-6.416V9.574l11-6.416 11 6.416V22h2V9a1 1 0 00-.496-.864l-12-7a1 1 0 00-1.008 0l-12 7A1 1 0 003 9v14a1 1 0 00.496.864l12 7a1 1 0 001.008 0L24 26.49z" }]]; +export const CLOUD_SATELLITE = svg( + ["circle", + { + r: 2, + cy: 20, + cx: 9, + }], + ["path", { d: "M16 20a4 4 0 114-4 4.012 4.012 0 01-4 4zm0-6a2 2 0 102 2 2.006 2.006 0 00-2-2z" }], + ["circle", + { + r: 2, + cy: 12, + cx: 23, + }], + ["path", { d: "M23 24.759l-7 4.083-11-6.416V9.574l11-6.416 11 6.416V22h2V9a1 1 0 00-.496-.864l-12-7a1 1 0 00-1.008 0l-12 7A1 1 0 003 9v14a1 1 0 00.496.864l12 7a1 1 0 001.008 0L24 26.49z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-snow.ts b/packages/hiccup-carbon-icons/src/cloud-snow.ts index c4d7ccc80c..7a14d6dd6d 100644 --- a/packages/hiccup-carbon-icons/src/cloud-snow.ts +++ b/packages/hiccup-carbon-icons/src/cloud-snow.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_SNOW */ // prettier-ignore -export const CLOUD_SNOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM12 25.05L10.95 24 9.5 25.45 8.05 24 7 25.05l1.45 1.45L7 27.95 8.05 29l1.45-1.45L10.95 29 12 27.95l-1.45-1.45L12 25.05zM26 25.05L24.95 24l-1.45 1.45L22.05 24 21 25.05l1.45 1.45L21 27.95 22.05 29l1.45-1.45L24.95 29 26 27.95l-1.45-1.45L26 25.05zM19 27.05L17.95 26l-1.45 1.45L15.05 26 14 27.05l1.45 1.45L14 29.95 15.05 31l1.45-1.45L17.95 31 19 29.95l-1.45-1.45L19 27.05z" }]]; +export const CLOUD_SNOW = svg( + ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM12 25.05L10.95 24 9.5 25.45 8.05 24 7 25.05l1.45 1.45L7 27.95 8.05 29l1.45-1.45L10.95 29 12 27.95l-1.45-1.45L12 25.05zM26 25.05L24.95 24l-1.45 1.45L22.05 24 21 25.05l1.45 1.45L21 27.95 22.05 29l1.45-1.45L24.95 29 26 27.95l-1.45-1.45L26 25.05zM19 27.05L17.95 26l-1.45 1.45L15.05 26 14 27.05l1.45 1.45L14 29.95 15.05 31l1.45-1.45L17.95 31 19 29.95l-1.45-1.45L19 27.05z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud-upload.ts b/packages/hiccup-carbon-icons/src/cloud-upload.ts index 473d679dd1..fd7be7f909 100644 --- a/packages/hiccup-carbon-icons/src/cloud-upload.ts +++ b/packages/hiccup-carbon-icons/src/cloud-upload.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD_UPLOAD */ // prettier-ignore -export const CLOUD_UPLOAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11 18l1.41 1.41L15 16.83V29h2V16.83l2.59 2.58L21 18l-5-5-5 5z" }], - ["path", { d: "M23.5 22H23v-2h.5a4.5 4.5 0 00.36-9H23l-.1-.82a7 7 0 00-13.88 0L9 11h-.86a4.5 4.5 0 00.36 9H9v2h-.5A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22z" }]]; +export const CLOUD_UPLOAD = svg( + ["path", { d: "M11 18l1.41 1.41L15 16.83V29h2V16.83l2.59 2.58L21 18l-5-5-5 5z" }], + ["path", { d: "M23.5 22H23v-2h.5a4.5 4.5 0 00.36-9H23l-.1-.82a7 7 0 00-13.88 0L9 11h-.86a4.5 4.5 0 00.36 9H9v2h-.5A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloud.ts b/packages/hiccup-carbon-icons/src/cloud.ts index 8a889cd302..506bc41575 100644 --- a/packages/hiccup-carbon-icons/src/cloud.ts +++ b/packages/hiccup-carbon-icons/src/cloud.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUD */ // prettier-ignore -export const CLOUD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 7a7.66 7.66 0 011.51.15 8 8 0 016.35 6.34l.26 1.35 1.35.24a5.5 5.5 0 01-1 10.92H7.5a5.5 5.5 0 01-1-10.92l1.34-.24.26-1.35A8 8 0 0116 7m0-2a10 10 0 00-9.83 8.12A7.5 7.5 0 007.49 28h17a7.5 7.5 0 001.32-14.88 10 10 0 00-7.94-7.94A10.27 10.27 0 0016 5z" }]]; +export const CLOUD = svg( + ["path", { d: "M16 7a7.66 7.66 0 011.51.15 8 8 0 016.35 6.34l.26 1.35 1.35.24a5.5 5.5 0 01-1 10.92H7.5a5.5 5.5 0 01-1-10.92l1.34-.24.26-1.35A8 8 0 0116 7m0-2a10 10 0 00-9.83 8.12A7.5 7.5 0 007.49 28h17a7.5 7.5 0 001.32-14.88 10 10 0 00-7.94-7.94A10.27 10.27 0 0016 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cloudy.ts b/packages/hiccup-carbon-icons/src/cloudy.ts index f3cf19e055..626f32da60 100644 --- a/packages/hiccup-carbon-icons/src/cloudy.ts +++ b/packages/hiccup-carbon-icons/src/cloudy.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CLOUDY */ // prettier-ignore -export const CLOUDY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 15.5a6.532 6.532 0 00-5.199-6.363 8.994 8.994 0 00-17.6 0A6.532 6.532 0 002 15.5a6.454 6.454 0 001.688 4.35A5.983 5.983 0 008 30h11a5.976 5.976 0 005.61-8.102A6.505 6.505 0 0030 15.501zM19 28H8a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 28zm4.5-8h-.055a5.956 5.956 0 00-2.796-1.756 7.495 7.495 0 00-14.299 0 5.988 5.988 0 00-1.031.407A4.445 4.445 0 014 15.5a4.517 4.517 0 014.144-4.481l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }]]; +export const CLOUDY = svg( + ["path", { d: "M30 15.5a6.532 6.532 0 00-5.199-6.363 8.994 8.994 0 00-17.6 0A6.532 6.532 0 002 15.5a6.454 6.454 0 001.688 4.35A5.983 5.983 0 008 30h11a5.976 5.976 0 005.61-8.102A6.505 6.505 0 0030 15.501zM19 28H8a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 28zm4.5-8h-.055a5.956 5.956 0 00-2.796-1.756 7.495 7.495 0 00-14.299 0 5.988 5.988 0 00-1.031.407A4.445 4.445 0 014 15.5a4.517 4.517 0 014.144-4.481l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/code-reference.ts b/packages/hiccup-carbon-icons/src/code-reference.ts index 598d92e1e0..ae0a0c5071 100644 --- a/packages/hiccup-carbon-icons/src/code-reference.ts +++ b/packages/hiccup-carbon-icons/src/code-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CODE_REFERENCE */ // prettier-ignore -export const CODE_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM30 10l-6-6-1.414 1.414L27.172 10l-4.586 4.586L24 16l6-6zM13.919 17.484L18.069 2 20 2.518 15.85 18zM4 10l6-6 1.414 1.414L6.828 10l4.586 4.586L10 16l-6-6z" }]]; +export const CODE_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM30 10l-6-6-1.414 1.414L27.172 10l-4.586 4.586L24 16l6-6zM13.919 17.484L18.069 2 20 2.518 15.85 18zM4 10l6-6 1.414 1.414L6.828 10l4.586 4.586L10 16l-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/code.ts b/packages/hiccup-carbon-icons/src/code.ts index be5c83de6a..c89865eb41 100644 --- a/packages/hiccup-carbon-icons/src/code.ts +++ b/packages/hiccup-carbon-icons/src/code.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CODE */ // prettier-ignore -export const CODE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M31 16l-7 7-1.41-1.41L28.17 16l-5.58-5.59L24 9l7 7zM1 16l7-7 1.41 1.41L3.83 16l5.58 5.59L8 23l-7-7zM12.419 25.484L17.639 6l1.932.518L14.35 26z" }]]; +export const CODE = svg( + ["path", { d: "M31 16l-7 7-1.41-1.41L28.17 16l-5.58-5.59L24 9l7 7zM1 16l7-7 1.41 1.41L3.83 16l5.58 5.59L8 23l-7-7zM12.419 25.484L17.639 6l1.932.518L14.35 26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cognitive.ts b/packages/hiccup-carbon-icons/src/cognitive.ts index 30c239c710..95b1b8b518 100644 --- a/packages/hiccup-carbon-icons/src/cognitive.ts +++ b/packages/hiccup-carbon-icons/src/cognitive.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COGNITIVE */ // prettier-ignore -export const COGNITIVE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 13A11 11 0 0019 2h-8a9 9 0 00-9 9v3a5 5 0 005 5h1.1a5 5 0 004.9 4h1.38l4 7 1.73-1-4-6.89A2 2 0 0014.38 21H13a3 3 0 010-6h1v-2h-1a5 5 0 00-4.9 4H7a3 3 0 01-3-3v-2h2a3 3 0 003-3V8H7v1a1 1 0 01-1 1H4.08A7 7 0 0111 4h6v2a1 1 0 01-1 1h-2v2h2a3 3 0 003-3V4a9 9 0 018.05 5H26a3 3 0 00-3 3v1h2v-1a1 1 0 011-1h1.77a8.76 8.76 0 01.23 2v1a5 5 0 01-5 5h-3v2h3a7 7 0 003-.68V21a3 3 0 01-3 3h-1v2h1a5 5 0 005-5v-2.11A7 7 0 0030 14z" }]]; +export const COGNITIVE = svg( + ["path", { d: "M30 13A11 11 0 0019 2h-8a9 9 0 00-9 9v3a5 5 0 005 5h1.1a5 5 0 004.9 4h1.38l4 7 1.73-1-4-6.89A2 2 0 0014.38 21H13a3 3 0 010-6h1v-2h-1a5 5 0 00-4.9 4H7a3 3 0 01-3-3v-2h2a3 3 0 003-3V8H7v1a1 1 0 01-1 1H4.08A7 7 0 0111 4h6v2a1 1 0 01-1 1h-2v2h2a3 3 0 003-3V4a9 9 0 018.05 5H26a3 3 0 00-3 3v1h2v-1a1 1 0 011-1h1.77a8.76 8.76 0 01.23 2v1a5 5 0 01-5 5h-3v2h3a7 7 0 003-.68V21a3 3 0 01-3 3h-1v2h1a5 5 0 005-5v-2.11A7 7 0 0030 14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/collaborate.ts b/packages/hiccup-carbon-icons/src/collaborate.ts index 00c6d50cf5..8eab393574 100644 --- a/packages/hiccup-carbon-icons/src/collaborate.ts +++ b/packages/hiccup-carbon-icons/src/collaborate.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COLLABORATE */ // prettier-ignore -export const COLLABORATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 21v-1H4v1a7 7 0 007 7h3v-2h-3a5 5 0 01-5-5zM24 11v1h2v-1a7 7 0 00-7-7h-3v2h3a5 5 0 015 5zM11 11H5a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM8 10a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2zM27 25h-6a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM20 20a4 4 0 104-4 4 4 0 00-4 4zm6 0a2 2 0 11-2-2 2 2 0 012 2z" }]]; +export const COLLABORATE = svg( + ["path", { d: "M6 21v-1H4v1a7 7 0 007 7h3v-2h-3a5 5 0 01-5-5zM24 11v1h2v-1a7 7 0 00-7-7h-3v2h3a5 5 0 015 5zM11 11H5a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM8 10a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2zM27 25h-6a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM20 20a4 4 0 104-4 4 4 0 00-4 4zm6 0a2 2 0 11-2-2 2 2 0 012 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/collapse-all.ts b/packages/hiccup-carbon-icons/src/collapse-all.ts index 0f9feb13b7..8310b02ac5 100644 --- a/packages/hiccup-carbon-icons/src/collapse-all.ts +++ b/packages/hiccup-carbon-icons/src/collapse-all.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COLLAPSE_ALL */ // prettier-ignore -export const COLLAPSE_ALL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 15h-2V7H13V5h15a2.002 2.002 0 012 2z" }], - ["path", { d: "M25 20h-2v-8H8v-2h15a2.002 2.002 0 012 2z" }], - ["path", { d: "M18 27H4a2.002 2.002 0 01-2-2v-8a2.002 2.002 0 012-2h14a2.002 2.002 0 012 2v8a2.002 2.002 0 01-2 2zM4 17v8h14.001L18 17z" }]]; +export const COLLAPSE_ALL = svg( + ["path", { d: "M30 15h-2V7H13V5h15a2.002 2.002 0 012 2z" }], + ["path", { d: "M25 20h-2v-8H8v-2h15a2.002 2.002 0 012 2z" }], + ["path", { d: "M18 27H4a2.002 2.002 0 01-2-2v-8a2.002 2.002 0 012-2h14a2.002 2.002 0 012 2v8a2.002 2.002 0 01-2 2zM4 17v8h14.001L18 17z" }] +); diff --git a/packages/hiccup-carbon-icons/src/collapse-categories.ts b/packages/hiccup-carbon-icons/src/collapse-categories.ts index 632a489b9d..501d30f2f4 100644 --- a/packages/hiccup-carbon-icons/src/collapse-categories.ts +++ b/packages/hiccup-carbon-icons/src/collapse-categories.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COLLAPSE_CATEGORIES */ // prettier-ignore -export const COLLAPSE_CATEGORIES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 25h14v2H14zM7.17 26l-2.58 2.58L6 30l4-4-4-4-1.42 1.41L7.17 26zM14 15h14v2H14zM7.17 16l-2.58 2.58L6 20l4-4-4-4-1.42 1.41L7.17 16zM14 5h14v2H14zM7.17 6L4.59 8.58 6 10l4-4-4-4-1.42 1.41L7.17 6z" }]]; +export const COLLAPSE_CATEGORIES = svg( + ["path", { d: "M14 25h14v2H14zM7.17 26l-2.58 2.58L6 30l4-4-4-4-1.42 1.41L7.17 26zM14 15h14v2H14zM7.17 16l-2.58 2.58L6 20l4-4-4-4-1.42 1.41L7.17 16zM14 5h14v2H14zM7.17 6L4.59 8.58 6 10l4-4-4-4-1.42 1.41L7.17 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/color-palette.ts b/packages/hiccup-carbon-icons/src/color-palette.ts index 650db5fe13..1c54d13e1b 100644 --- a/packages/hiccup-carbon-icons/src/color-palette.ts +++ b/packages/hiccup-carbon-icons/src/color-palette.ts @@ -1,37 +1,39 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COLOR_PALETTE */ // prettier-ignore -export const COLOR_PALETTE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 12, - cx: 10, - }], - ["circle", - { - r: 2, - cy: 9, - cx: 16, - }], - ["circle", - { - r: 2, - cy: 12, - cx: 22, - }], - ["circle", - { - r: 2, - cy: 18, - cx: 23, - }], - ["circle", - { - r: 2, - cy: 23, - cx: 19, - }], - ["path", { d: "M16.54 2A14 14 0 002 16a4.82 4.82 0 006.09 4.65l1.12-.31a3 3 0 013.79 2.9V27a3 3 0 003 3 14 14 0 0014-14.54A14.05 14.05 0 0016.54 2zm8.11 22.31A11.93 11.93 0 0116 28a1 1 0 01-1-1v-3.76a5 5 0 00-5-5 5.07 5.07 0 00-1.33.18l-1.12.31A2.82 2.82 0 014 16 12 12 0 0116.47 4 12.18 12.18 0 0128 15.53a11.89 11.89 0 01-3.35 8.79z" }]]; +export const COLOR_PALETTE = svg( + ["circle", + { + r: 2, + cy: 12, + cx: 10, + }], + ["circle", + { + r: 2, + cy: 9, + cx: 16, + }], + ["circle", + { + r: 2, + cy: 12, + cx: 22, + }], + ["circle", + { + r: 2, + cy: 18, + cx: 23, + }], + ["circle", + { + r: 2, + cy: 23, + cx: 19, + }], + ["path", { d: "M16.54 2A14 14 0 002 16a4.82 4.82 0 006.09 4.65l1.12-.31a3 3 0 013.79 2.9V27a3 3 0 003 3 14 14 0 0014-14.54A14.05 14.05 0 0016.54 2zm8.11 22.31A11.93 11.93 0 0116 28a1 1 0 01-1-1v-3.76a5 5 0 00-5-5 5.07 5.07 0 00-1.33.18l-1.12.31A2.82 2.82 0 014 16 12 12 0 0116.47 4 12.18 12.18 0 0128 15.53a11.89 11.89 0 01-3.35 8.79z" }] +); diff --git a/packages/hiccup-carbon-icons/src/color-switch.ts b/packages/hiccup-carbon-icons/src/color-switch.ts index 02343577e1..6c13687ce3 100644 --- a/packages/hiccup-carbon-icons/src/color-switch.ts +++ b/packages/hiccup-carbon-icons/src/color-switch.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COLOR_SWITCH */ // prettier-ignore -export const COLOR_SWITCH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h20a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zM6 26L26 6v20z" }]]; +export const COLOR_SWITCH = svg( + ["path", { d: "M26 4H6a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h20a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zM6 26L26 6v20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/column.ts b/packages/hiccup-carbon-icons/src/column.ts index d4c8768543..d2b7b0e212 100644 --- a/packages/hiccup-carbon-icons/src/column.ts +++ b/packages/hiccup-carbon-icons/src/column.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COLUMN */ // prettier-ignore -export const COLUMN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 4h2v24h-2zM18 6v20h-4V6h4m0-2h-4a2 2 0 00-2 2v20a2 2 0 002 2h4a2 2 0 002-2V6a2 2 0 00-2-2zM6 4h2v24H6z" }]]; +export const COLUMN = svg( + ["path", { d: "M24 4h2v24h-2zM18 6v20h-4V6h4m0-2h-4a2 2 0 00-2 2v20a2 2 0 002 2h4a2 2 0 002-2V6a2 2 0 00-2-2zM6 4h2v24H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/compare.ts b/packages/hiccup-carbon-icons/src/compare.ts index 2567a2ed2e..52c3303ff9 100644 --- a/packages/hiccup-carbon-icons/src/compare.ts +++ b/packages/hiccup-carbon-icons/src/compare.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COMPARE */ // prettier-ignore -export const COMPARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6H18V4a2 2 0 00-2-2H4a2 2 0 00-2 2v20a2 2 0 002 2h10v2a2 2 0 002 2h12a2 2 0 002-2V8a2 2 0 00-2-2zM4 15h6.17l-2.58 2.59L9 19l5-5-5-5-1.41 1.41L10.17 13H4V4h12v20H4zm12 13v-2a2 2 0 002-2V8h10v9h-6.17l2.58-2.59L23 13l-5 5 5 5 1.41-1.41L21.83 19H28v9z" }]]; +export const COMPARE = svg( + ["path", { d: "M28 6H18V4a2 2 0 00-2-2H4a2 2 0 00-2 2v20a2 2 0 002 2h10v2a2 2 0 002 2h12a2 2 0 002-2V8a2 2 0 00-2-2zM4 15h6.17l-2.58 2.59L9 19l5-5-5-5-1.41 1.41L10.17 13H4V4h12v20H4zm12 13v-2a2 2 0 002-2V8h10v9h-6.17l2.58-2.59L23 13l-5 5 5 5 1.41-1.41L21.83 19H28v9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/compass.ts b/packages/hiccup-carbon-icons/src/compass.ts index a6963e410d..302cc37719 100644 --- a/packages/hiccup-carbon-icons/src/compass.ts +++ b/packages/hiccup-carbon-icons/src/compass.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COMPASS */ // prettier-ignore -export const COMPASS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], - ["path", { d: "M23 10.41L21.59 9l-4.3 4.3a3 3 0 00-4 4L9 21.59 10.41 23l4.3-4.3a3 3 0 004-4zM17 16a1 1 0 11-1-1 1 1 0 011 1z" }], - ["circle", - { - r: 1.5, - cy: 7.5, - cx: 16, - }]]; +export const COMPASS = svg( + ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], + ["path", { d: "M23 10.41L21.59 9l-4.3 4.3a3 3 0 00-4 4L9 21.59 10.41 23l4.3-4.3a3 3 0 004-4zM17 16a1 1 0 11-1-1 1 1 0 011 1z" }], + ["circle", + { + r: 1.5, + cy: 7.5, + cx: 16, + }] +); diff --git a/packages/hiccup-carbon-icons/src/concept.ts b/packages/hiccup-carbon-icons/src/concept.ts index 98728490d2..ae4b2c448b 100644 --- a/packages/hiccup-carbon-icons/src/concept.ts +++ b/packages/hiccup-carbon-icons/src/concept.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CONCEPT */ // prettier-ignore -export const CONCEPT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20.885 19.471a5.96 5.96 0 000-6.942L23 10.414l1.293 1.293a1 1 0 001.414 0l4-4a1 1 0 000-1.414l-4-4a1 1 0 00-1.414 0l-4 4a1 1 0 000 1.414L21.586 9l-2.115 2.115a5.96 5.96 0 00-6.942 0L10 8.585V2H2v8h6.586l2.529 2.529a5.96 5.96 0 000 6.942L9 21.586l-1.293-1.293a1 1 0 00-1.414 0l-4 4a1 1 0 000 1.414l4 4a1 1 0 001.414 0l4-4a1 1 0 000-1.414L10.414 23l2.115-2.115a5.96 5.96 0 006.942 0L22 23.415V30h8v-8h-6.586zM25 4.414L27.586 7 25 9.586 22.414 7zM7 27.586L4.414 25 7 22.414 9.586 25zM8 8H4V4h4zm4 8a4 4 0 114 4 4.005 4.005 0 01-4-4zm12 8h4v4h-4z" }]]; +export const CONCEPT = svg( + ["path", { d: "M20.885 19.471a5.96 5.96 0 000-6.942L23 10.414l1.293 1.293a1 1 0 001.414 0l4-4a1 1 0 000-1.414l-4-4a1 1 0 00-1.414 0l-4 4a1 1 0 000 1.414L21.586 9l-2.115 2.115a5.96 5.96 0 00-6.942 0L10 8.585V2H2v8h6.586l2.529 2.529a5.96 5.96 0 000 6.942L9 21.586l-1.293-1.293a1 1 0 00-1.414 0l-4 4a1 1 0 000 1.414l4 4a1 1 0 001.414 0l4-4a1 1 0 000-1.414L10.414 23l2.115-2.115a5.96 5.96 0 006.942 0L22 23.415V30h8v-8h-6.586zM25 4.414L27.586 7 25 9.586 22.414 7zM7 27.586L4.414 25 7 22.414 9.586 25zM8 8H4V4h4zm4 8a4 4 0 114 4 4.005 4.005 0 01-4-4zm12 8h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/connect.ts b/packages/hiccup-carbon-icons/src/connect.ts index b6688dc64a..6fb352d53f 100644 --- a/packages/hiccup-carbon-icons/src/connect.ts +++ b/packages/hiccup-carbon-icons/src/connect.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CONNECT */ // prettier-ignore -export const CONNECT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 16.01a7 7 0 00-4.18 1.39l-4.22-4.22A6.86 6.86 0 0016 9.01a7 7 0 10-2.81 5.59l4.21 4.22a7 7 0 105.6-2.81zm-19-7a5 5 0 115 5 5 5 0 01-5-5z" }]]; +export const CONNECT = svg( + ["path", { d: "M23 16.01a7 7 0 00-4.18 1.39l-4.22-4.22A6.86 6.86 0 0016 9.01a7 7 0 10-2.81 5.59l4.21 4.22a7 7 0 105.6-2.81zm-19-7a5 5 0 115 5 5 5 0 01-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/connection-signal.ts b/packages/hiccup-carbon-icons/src/connection-signal.ts index 73cefc5db9..8d5a344c71 100644 --- a/packages/hiccup-carbon-icons/src/connection-signal.ts +++ b/packages/hiccup-carbon-icons/src/connection-signal.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CONNECTION_SIGNAL */ // prettier-ignore -export const CONNECTION_SIGNAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 12h2v18h-2zM11.33 18.22a7 7 0 010-10.44l1.34 1.49a5 5 0 000 7.46zM20.67 18.22l-1.34-1.49a5 5 0 000-7.46l1.34-1.49a7 7 0 010 10.44z" }], - ["path", { d: "M8.4 21.8a11 11 0 010-17.6l1.2 1.6a9 9 0 000 14.4zM23.6 21.8l-1.2-1.6a9 9 0 000-14.4l1.2-1.6a11 11 0 010 17.6z" }]]; +export const CONNECTION_SIGNAL = svg( + ["path", { d: "M15 12h2v18h-2zM11.33 18.22a7 7 0 010-10.44l1.34 1.49a5 5 0 000 7.46zM20.67 18.22l-1.34-1.49a5 5 0 000-7.46l1.34-1.49a7 7 0 010 10.44z" }], + ["path", { d: "M8.4 21.8a11 11 0 010-17.6l1.2 1.6a9 9 0 000 14.4zM23.6 21.8l-1.2-1.6a9 9 0 000-14.4l1.2-1.6a11 11 0 010 17.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/container-software.ts b/packages/hiccup-carbon-icons/src/container-software.ts index abe8fcab9a..8201a52643 100644 --- a/packages/hiccup-carbon-icons/src/container-software.ts +++ b/packages/hiccup-carbon-icons/src/container-software.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CONTAINER_SOFTWARE */ // prettier-ignore -export const CONTAINER_SOFTWARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 12h-8V4h8zm-6-2h4V6h-4z" }], - ["path", { d: "M17 15V9H9v14h14v-8zm-6-4h4v4h-4zm4 10h-4v-4h4zm6 0h-4v-4h4z" }], - ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h10v2H6v20h20V16h2v10a2.002 2.002 0 01-2 2z" }]]; +export const CONTAINER_SOFTWARE = svg( + ["path", { d: "M28 12h-8V4h8zm-6-2h4V6h-4z" }], + ["path", { d: "M17 15V9H9v14h14v-8zm-6-4h4v4h-4zm4 10h-4v-4h4zm6 0h-4v-4h4z" }], + ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h10v2H6v20h20V16h2v10a2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/contrast.ts b/packages/hiccup-carbon-icons/src/contrast.ts index dfc24fea5d..8125ee561f 100644 --- a/packages/hiccup-carbon-icons/src/contrast.ts +++ b/packages/hiccup-carbon-icons/src/contrast.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CONTRAST */ // prettier-ignore -export const CONTRAST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.37 11.84a13.6 13.6 0 00-1.06-2.51A14.17 14.17 0 0025.9 6.1a14 14 0 100 19.8 14.17 14.17 0 002.41-3.23 13.6 13.6 0 001.06-2.51 14 14 0 000-8.32zM4 16A12 12 0 0116 4v24A12 12 0 014 16z" }]]; +export const CONTRAST = svg( + ["path", { d: "M29.37 11.84a13.6 13.6 0 00-1.06-2.51A14.17 14.17 0 0025.9 6.1a14 14 0 100 19.8 14.17 14.17 0 002.41-3.23 13.6 13.6 0 001.06-2.51 14 14 0 000-8.32zM4 16A12 12 0 0116 4v24A12 12 0 014 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/copy-file.ts b/packages/hiccup-carbon-icons/src/copy-file.ts index 563b466bff..2344f7febd 100644 --- a/packages/hiccup-carbon-icons/src/copy-file.ts +++ b/packages/hiccup-carbon-icons/src/copy-file.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COPY_FILE */ // prettier-ignore -export const COPY_FILE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.4 14.7l-6.1-6.1C21 8.2 20.5 8 20 8h-8c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V16.1c0-.5-.2-1-.6-1.4zM20 10l5.9 6H20v-6zm-8 18V10h6v6c0 1.1.9 2 2 2h6v10H12z" }], - ["path", { d: "M6 18H4V4c0-1.1.9-2 2-2h14v2H6v14z" }]]; +export const COPY_FILE = svg( + ["path", { d: "M27.4 14.7l-6.1-6.1C21 8.2 20.5 8 20 8h-8c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V16.1c0-.5-.2-1-.6-1.4zM20 10l5.9 6H20v-6zm-8 18V10h6v6c0 1.1.9 2 2 2h6v10H12z" }], + ["path", { d: "M6 18H4V4c0-1.1.9-2 2-2h14v2H6v14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/copy.ts b/packages/hiccup-carbon-icons/src/copy.ts index fd55de0b18..081dae81b7 100644 --- a/packages/hiccup-carbon-icons/src/copy.ts +++ b/packages/hiccup-carbon-icons/src/copy.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COPY */ // prettier-ignore -export const COPY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 10v18H10V10h18m0-2H10a2 2 0 00-2 2v18a2 2 0 002 2h18a2 2 0 002-2V10a2 2 0 00-2-2z" }], - ["path", { d: "M4 18H2V4a2 2 0 012-2h14v2H4z" }]]; +export const COPY = svg( + ["path", { d: "M28 10v18H10V10h18m0-2H10a2 2 0 00-2 2v18a2 2 0 002 2h18a2 2 0 002-2V10a2 2 0 00-2-2z" }], + ["path", { d: "M4 18H2V4a2 2 0 012-2h14v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/corn.ts b/packages/hiccup-carbon-icons/src/corn.ts index 6b820df98f..a8da8a8e88 100644 --- a/packages/hiccup-carbon-icons/src/corn.ts +++ b/packages/hiccup-carbon-icons/src/corn.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CORN */ // prettier-ignore -export const CORN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 16c-.337 0-.67.02-1 .05V16c0-7.885-2.956-14-5.5-14S11 8.115 11 16v5H6v3a6.007 6.007 0 006 6h3a11.012 11.012 0 0011-11v-3zm-10 0h2v-2h-1.927a25.894 25.894 0 01.565-4H16V8h-1.8c.81-2.406 1.815-3.772 2.3-3.986.66.292 2.284 2.703 3.065 6.986H18v2h1.844A29.163 29.163 0 0120 16v.426A11.055 11.055 0 0013.79 21H13zm-1 12a4.005 4.005 0 01-4-4v-1h4.764A10.903 10.903 0 0012 27zm12-9a9.01 9.01 0 01-9 9h-1v-1a9.01 9.01 0 019-9h1z" }]]; +export const CORN = svg( + ["path", { d: "M23 16c-.337 0-.67.02-1 .05V16c0-7.885-2.956-14-5.5-14S11 8.115 11 16v5H6v3a6.007 6.007 0 006 6h3a11.012 11.012 0 0011-11v-3zm-10 0h2v-2h-1.927a25.894 25.894 0 01.565-4H16V8h-1.8c.81-2.406 1.815-3.772 2.3-3.986.66.292 2.284 2.703 3.065 6.986H18v2h1.844A29.163 29.163 0 0120 16v.426A11.055 11.055 0 0013.79 21H13zm-1 12a4.005 4.005 0 01-4-4v-1h4.764A10.903 10.903 0 0012 27zm12-9a9.01 9.01 0 01-9 9h-1v-1a9.01 9.01 0 019-9h1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/corner.ts b/packages/hiccup-carbon-icons/src/corner.ts index cf0d1eb607..da81648dde 100644 --- a/packages/hiccup-carbon-icons/src/corner.ts +++ b/packages/hiccup-carbon-icons/src/corner.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CORNER */ // prettier-ignore -export const CORNER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9H14V6H6v8h3v14h2V14h3v-3h14zm-16 3H8V8h4z" }]]; +export const CORNER = svg( + ["path", { d: "M28 9H14V6H6v8h3v14h2V14h3v-3h14zm-16 3H8V8h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/coronavirus.ts b/packages/hiccup-carbon-icons/src/coronavirus.ts index ee22777c11..782a4de568 100644 --- a/packages/hiccup-carbon-icons/src/coronavirus.ts +++ b/packages/hiccup-carbon-icons/src/coronavirus.ts @@ -1,37 +1,39 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CORONAVIRUS */ // prettier-ignore -export const CORONAVIRUS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.5, - cy: 11.5, - cx: 15.5, - }], - ["circle", - { - r: 1.5, - cy: 15.5, - cx: 20.5, - }], - ["circle", - { - r: 1, - cy: 16, - cx: 16, - }], - ["circle", - { - r: 1.5, - cy: 20.5, - cx: 16.5, - }], - ["circle", - { - r: 1.5, - cy: 16.5, - cx: 11.5, - }], - ["path", { d: "M28 13v2h-2.05a9.948 9.948 0 00-2.215-5.321l1.437-1.437 1.414 1.415L28 8.243 23.758 4l-1.414 1.414 1.414 1.414-1.437 1.437A9.946 9.946 0 0017 6.05V4h2V2h-6v2h2v2.05a9.946 9.946 0 00-5.32 2.215L8.241 6.828l1.414-1.414L8.242 4 4 8.243l1.414 1.414 1.414-1.415L8.265 9.68A9.948 9.948 0 006.051 15H4v-2H2v6h2v-2h2.05a9.948 9.948 0 002.215 5.321l-1.437 1.437-1.414-1.415L4 23.757 8.242 28l1.414-1.414-1.414-1.414 1.437-1.437A9.946 9.946 0 0015 25.95V28h-2v2h6v-2h-2v-2.05a9.946 9.946 0 005.32-2.215l1.438 1.437-1.414 1.414L23.758 28 28 23.757l-1.414-1.414-1.414 1.415-1.437-1.437A9.948 9.948 0 0025.949 17H28v2h2v-6zM16 24a8 8 0 118-8 8.01 8.01 0 01-8 8z" }]]; +export const CORONAVIRUS = svg( + ["circle", + { + r: 1.5, + cy: 11.5, + cx: 15.5, + }], + ["circle", + { + r: 1.5, + cy: 15.5, + cx: 20.5, + }], + ["circle", + { + r: 1, + cy: 16, + cx: 16, + }], + ["circle", + { + r: 1.5, + cy: 20.5, + cx: 16.5, + }], + ["circle", + { + r: 1.5, + cy: 16.5, + cx: 11.5, + }], + ["path", { d: "M28 13v2h-2.05a9.948 9.948 0 00-2.215-5.321l1.437-1.437 1.414 1.415L28 8.243 23.758 4l-1.414 1.414 1.414 1.414-1.437 1.437A9.946 9.946 0 0017 6.05V4h2V2h-6v2h2v2.05a9.946 9.946 0 00-5.32 2.215L8.241 6.828l1.414-1.414L8.242 4 4 8.243l1.414 1.414 1.414-1.415L8.265 9.68A9.948 9.948 0 006.051 15H4v-2H2v6h2v-2h2.05a9.948 9.948 0 002.215 5.321l-1.437 1.437-1.414-1.415L4 23.757 8.242 28l1.414-1.414-1.414-1.414 1.437-1.437A9.946 9.946 0 0015 25.95V28h-2v2h6v-2h-2v-2.05a9.946 9.946 0 005.32-2.215l1.438 1.437-1.414 1.414L23.758 28 28 23.757l-1.414-1.414-1.414 1.415-1.437-1.437A9.948 9.948 0 0025.949 17H28v2h2v-6zM16 24a8 8 0 118-8 8.01 8.01 0 01-8 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/course.ts b/packages/hiccup-carbon-icons/src/course.ts index a77013c120..45d34831aa 100644 --- a/packages/hiccup-carbon-icons/src/course.ts +++ b/packages/hiccup-carbon-icons/src/course.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COURSE */ // prettier-ignore -export const COURSE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 30H8a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v16.618l-5-2.5-5 2.5V4H8v24h16v-4h2v4a2.003 2.003 0 01-2 2zm-3-14.118l3 1.5V4h-6v13.382z" }]]; +export const COURSE = svg( + ["path", { d: "M24 30H8a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v16.618l-5-2.5-5 2.5V4H8v24h16v-4h2v4a2.003 2.003 0 01-2 2zm-3-14.118l3 1.5V4h-6v13.382z" }] +); diff --git a/packages/hiccup-carbon-icons/src/covariate.ts b/packages/hiccup-carbon-icons/src/covariate.ts index dd33a723f2..d58f0d012e 100644 --- a/packages/hiccup-carbon-icons/src/covariate.ts +++ b/packages/hiccup-carbon-icons/src/covariate.ts @@ -1,31 +1,33 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#COVARIATE */ // prettier-ignore -export const COVARIATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 16, - cx: 8, - }], - ["circle", - { - r: 2, - cy: 8, - cx: 14, - }], - ["circle", - { - r: 2, - cy: 12, - cx: 28, - }], - ["circle", - { - r: 2, - cy: 18, - cx: 21, - }], - ["path", { d: "M30 3.414L28.586 2 4 26.586V2H2v26a2 2 0 002 2h26v-2H5.414zM4 28z" }]]; +export const COVARIATE = svg( + ["circle", + { + r: 2, + cy: 16, + cx: 8, + }], + ["circle", + { + r: 2, + cy: 8, + cx: 14, + }], + ["circle", + { + r: 2, + cy: 12, + cx: 28, + }], + ["circle", + { + r: 2, + cy: 18, + cx: 21, + }], + ["path", { d: "M30 3.414L28.586 2 4 26.586V2H2v26a2 2 0 002 2h26v-2H5.414zM4 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/credentials.ts b/packages/hiccup-carbon-icons/src/credentials.ts index f68a51c7e4..90bd35f912 100644 --- a/packages/hiccup-carbon-icons/src/credentials.ts +++ b/packages/hiccup-carbon-icons/src/credentials.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CREDENTIALS */ // prettier-ignore -export const CREDENTIALS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 22a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2zM14 6h4v2h-4z" }], - ["path", { d: "M24 2H8a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h16a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm-4 26h-8v-2a1 1 0 011-1h6a1 1 0 011 1zm2 0v-2a3 3 0 00-3-3h-6a3 3 0 00-3 3v2H8V4h16v24z" }]]; +export const CREDENTIALS = svg( + ["path", { d: "M16 22a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2zM14 6h4v2h-4z" }], + ["path", { d: "M24 2H8a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h16a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm-4 26h-8v-2a1 1 0 011-1h6a1 1 0 011 1zm2 0v-2a3 3 0 00-3-3h-6a3 3 0 00-3 3v2H8V4h16v24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/crop.ts b/packages/hiccup-carbon-icons/src/crop.ts index f218bb3b60..edfa7f11fc 100644 --- a/packages/hiccup-carbon-icons/src/crop.ts +++ b/packages/hiccup-carbon-icons/src/crop.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CROP */ // prettier-ignore -export const CROP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 20h-2V9H12V7h11a2 2 0 012 2z" }], - ["path", { d: "M9 23V2H7v5H2v2h5v14a2 2 0 002 2h14v5h2v-5h5v-2z" }]]; +export const CROP = svg( + ["path", { d: "M25 20h-2V9H12V7h11a2 2 0 012 2z" }], + ["path", { d: "M9 23V2H7v5H2v2h5v14a2 2 0 002 2h14v5h2v-5h5v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/csv.ts b/packages/hiccup-carbon-icons/src/csv.ts index b658e37ad5..5f73a9ed46 100644 --- a/packages/hiccup-carbon-icons/src/csv.ts +++ b/packages/hiccup-carbon-icons/src/csv.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CSV */ // prettier-ignore -export const CSV: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9l-2 13-2-13h-2l2.516 14h2.968L30 9h-2zM18 23h-6v-2h6v-4h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h6v2h-6v4h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM10 23H4a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h6v2H4v10h6z" }]]; +export const CSV = svg( + ["path", { d: "M28 9l-2 13-2-13h-2l2.516 14h2.968L30 9h-2zM18 23h-6v-2h6v-4h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h6v2h-6v4h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM10 23H4a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h6v2H4v10h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cursor-1.ts b/packages/hiccup-carbon-icons/src/cursor-1.ts index 61d8f86e51..72c610e82b 100644 --- a/packages/hiccup-carbon-icons/src/cursor-1.ts +++ b/packages/hiccup-carbon-icons/src/cursor-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CURSOR_1 */ // prettier-ignore -export const CURSOR_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 28a1 1 0 01-.71-.29l-6.13-6.14-3.33 5a1 1 0 01-1 .44 1 1 0 01-.81-.7l-6-20A1 1 0 016.29 5l20 6a1 1 0 01.7.81 1 1 0 01-.44 1l-5 3.33 6.14 6.13a1 1 0 010 1.42l-4 4A1 1 0 0123 28zm0-2.41L25.59 23l-7.16-7.15 5.25-3.5L7.49 7.49l4.86 16.19 3.5-5.25z" }]]; +export const CURSOR_1 = svg( + ["path", { d: "M23 28a1 1 0 01-.71-.29l-6.13-6.14-3.33 5a1 1 0 01-1 .44 1 1 0 01-.81-.7l-6-20A1 1 0 016.29 5l20 6a1 1 0 01.7.81 1 1 0 01-.44 1l-5 3.33 6.14 6.13a1 1 0 010 1.42l-4 4A1 1 0 0123 28zm0-2.41L25.59 23l-7.16-7.15 5.25-3.5L7.49 7.49l4.86 16.19 3.5-5.25z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cursor-2.ts b/packages/hiccup-carbon-icons/src/cursor-2.ts index 62bd6fdc44..e35dad5e25 100644 --- a/packages/hiccup-carbon-icons/src/cursor-2.ts +++ b/packages/hiccup-carbon-icons/src/cursor-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CURSOR_2 */ // prettier-ignore -export const CURSOR_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.34 12.06l-22-8a1 1 0 00-1.28 1.28l8 22A1 1 0 0013 28a1 1 0 00.93-.63l3.84-9.6 9.6-3.84a1 1 0 000-1.87zm-10.71 4l-.4.16-.16.4L13 24.2 6.67 6.67 24.2 13z" }]]; +export const CURSOR_2 = svg( + ["path", { d: "M27.34 12.06l-22-8a1 1 0 00-1.28 1.28l8 22A1 1 0 0013 28a1 1 0 00.93-.63l3.84-9.6 9.6-3.84a1 1 0 000-1.87zm-10.71 4l-.4.16-.16.4L13 24.2 6.67 6.67 24.2 13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cut.ts b/packages/hiccup-carbon-icons/src/cut.ts index d0c9920346..d221bfbd38 100644 --- a/packages/hiccup-carbon-icons/src/cut.ts +++ b/packages/hiccup-carbon-icons/src/cut.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CUT */ // prettier-ignore -export const CUT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.5 19.63L20.24 16l6.26-3.63a5 5 0 00-1.21-9.2A5.19 5.19 0 0024 3a5 5 0 00-4.33 7.53 5 5 0 002.39 2.1l-3.82 2.21L4 6.6 3 8.34 16.24 16 3 23.68l1 1.74 14.24-8.26 3.82 2.21a5 5 0 00-2.39 2.1A5 5 0 0024 29a5.19 5.19 0 001.29-.17 5 5 0 001.21-9.2zm-5.1-10.1a3 3 0 011.1-4.12 3 3 0 014.1 1.11 3 3 0 01-1.1 4.11 3 3 0 01-4.1-1.1zm5.2 16a3 3 0 01-4.1 1.11 3 3 0 01-1.1-4.12 3 3 0 014.1-1.1 3 3 0 011.1 4.06z" }]]; +export const CUT = svg( + ["path", { d: "M26.5 19.63L20.24 16l6.26-3.63a5 5 0 00-1.21-9.2A5.19 5.19 0 0024 3a5 5 0 00-4.33 7.53 5 5 0 002.39 2.1l-3.82 2.21L4 6.6 3 8.34 16.24 16 3 23.68l1 1.74 14.24-8.26 3.82 2.21a5 5 0 00-2.39 2.1A5 5 0 0024 29a5.19 5.19 0 001.29-.17 5 5 0 001.21-9.2zm-5.1-10.1a3 3 0 011.1-4.12 3 3 0 014.1 1.11 3 3 0 01-1.1 4.11 3 3 0 01-4.1-1.1zm5.2 16a3 3 0 01-4.1 1.11 3 3 0 01-1.1-4.12 3 3 0 014.1-1.1 3 3 0 011.1 4.06z" }] +); diff --git a/packages/hiccup-carbon-icons/src/cyclist.ts b/packages/hiccup-carbon-icons/src/cyclist.ts index 040dd42986..29f69cbb9a 100644 --- a/packages/hiccup-carbon-icons/src/cyclist.ts +++ b/packages/hiccup-carbon-icons/src/cyclist.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#CYCLIST */ // prettier-ignore -export const CYCLIST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 30a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4zM7 30a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }], - ["path", { d: "M17 27h-2v-6.586L9.585 15a2.003 2.003 0 010-2.83l4.586-4.585a2.002 2.002 0 012.828 0L21.414 12H27v2h-6.415l-5-5L11 13.585l6 6zM21.5 8A3.5 3.5 0 1125 4.5 3.504 3.504 0 0121.5 8zm0-5A1.5 1.5 0 1023 4.5 1.502 1.502 0 0021.5 3z" }]]; +export const CYCLIST = svg( + ["path", { d: "M25 30a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4zM7 30a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }], + ["path", { d: "M17 27h-2v-6.586L9.585 15a2.003 2.003 0 010-2.83l4.586-4.585a2.002 2.002 0 012.828 0L21.414 12H27v2h-6.415l-5-5L11 13.585l6 6zM21.5 8A3.5 3.5 0 1125 4.5 3.504 3.504 0 0121.5 8zm0-5A1.5 1.5 0 1023 4.5 1.502 1.502 0 0021.5 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/dashboard-reference.ts b/packages/hiccup-carbon-icons/src/dashboard-reference.ts index 82f947695e..c4ec8a9f5e 100644 --- a/packages/hiccup-carbon-icons/src/dashboard-reference.ts +++ b/packages/hiccup-carbon-icons/src/dashboard-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DASHBOARD_REFERENCE */ // prettier-ignore -export const DASHBOARD_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM24 21h2v5h-2zM20 16h2v10h-2zM16 18h2v8h-2z" }], - ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v12h2v-3h24.001l.001 15H16v2h12a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm-16 9H4V4h8zm2 0V4h14v7z" }]]; +export const DASHBOARD_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM24 21h2v5h-2zM20 16h2v10h-2zM16 18h2v8h-2z" }], + ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v12h2v-3h24.001l.001 15H16v2h12a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm-16 9H4V4h8zm2 0V4h14v7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/dashboard.ts b/packages/hiccup-carbon-icons/src/dashboard.ts index 308db2146b..1fe1c62499 100644 --- a/packages/hiccup-carbon-icons/src/dashboard.ts +++ b/packages/hiccup-carbon-icons/src/dashboard.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DASHBOARD */ // prettier-ignore -export const DASHBOARD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 21h2v5h-2zM20 16h2v10h-2zM11 26a5.006 5.006 0 01-5-5h2a3 3 0 103-3v-2a5 5 0 010 10z" }], - ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h24a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm0 9H14V4h14zM12 4v7H4V4zM4 28V13h24l.002 15z" }]]; +export const DASHBOARD = svg( + ["path", { d: "M24 21h2v5h-2zM20 16h2v10h-2zM11 26a5.006 5.006 0 01-5-5h2a3 3 0 103-3v-2a5 5 0 010 10z" }], + ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h24a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm0 9H14V4h14zM12 4v7H4V4zM4 28V13h24l.002 15z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-1.ts b/packages/hiccup-carbon-icons/src/data-1.ts index df201fea1d..c5e1c40e84 100644 --- a/packages/hiccup-carbon-icons/src/data-1.ts +++ b/packages/hiccup-carbon-icons/src/data-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_1 */ // prettier-ignore -export const DATA_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 6h13v2H15zM15 24h13v2H15zM4 15h13v2H4zM7 11a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM7 29a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM25 20a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2z" }]]; +export const DATA_1 = svg( + ["path", { d: "M15 6h13v2H15zM15 24h13v2H15zM4 15h13v2H4zM7 11a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM7 29a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM25 20a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-2.ts b/packages/hiccup-carbon-icons/src/data-2.ts index 3f8835ca0c..d93f73c673 100644 --- a/packages/hiccup-carbon-icons/src/data-2.ts +++ b/packages/hiccup-carbon-icons/src/data-2.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_2 */ // prettier-ignore -export const DATA_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 6h11v2H4zM18 6h10v2H18zM21 12h7v2h-7zM11 12h7v2h-7zM4 12h4v2H4zM4 18h24v2H4zM4 24h17v2H4z" }], - ["path", { d: "M24 24h4v2h-4z" }]]; +export const DATA_2 = svg( + ["path", { d: "M4 6h11v2H4zM18 6h10v2H18zM21 12h7v2h-7zM11 12h7v2h-7zM4 12h4v2H4zM4 18h24v2H4zM4 24h17v2H4z" }], + ["path", { d: "M24 24h4v2h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-base-alt.ts b/packages/hiccup-carbon-icons/src/data-base-alt.ts index bc98575c5e..7714cca7a9 100644 --- a/packages/hiccup-carbon-icons/src/data-base-alt.ts +++ b/packages/hiccup-carbon-icons/src/data-base-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_BASE_ALT */ // prettier-ignore -export const DATA_BASE_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 24h7v2h-7zM19 20h7v2h-7zM19 16h7v2h-7zM6 24h7v2H6zM6 20h7v2H6z" }], - ["path", { d: "M28 4H17a2.002 2.002 0 00-2 2v6H4a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zM15 28H4V14h11zm2 0V6h11v22z" }]]; +export const DATA_BASE_ALT = svg( + ["path", { d: "M19 24h7v2h-7zM19 20h7v2h-7zM19 16h7v2h-7zM6 24h7v2H6zM6 20h7v2H6z" }], + ["path", { d: "M28 4H17a2.002 2.002 0 00-2 2v6H4a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zM15 28H4V14h11zm2 0V6h11v22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-base.ts b/packages/hiccup-carbon-icons/src/data-base.ts index e209aec9c0..a2d4c2330e 100644 --- a/packages/hiccup-carbon-icons/src/data-base.ts +++ b/packages/hiccup-carbon-icons/src/data-base.ts @@ -1,25 +1,27 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_BASE */ // prettier-ignore -export const DATA_BASE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 3H8a2 2 0 00-2 2v22a2 2 0 002 2h16a2 2 0 002-2V5a2 2 0 00-2-2zm0 2v6H8V5zM8 19v-6h16v6zm0 8v-6h16v6z" }], - ["circle", - { - r: 1, - cy: 8, - cx: 11, - }], - ["circle", - { - r: 1, - cy: 16, - cx: 11, - }], - ["circle", - { - r: 1, - cy: 24, - cx: 11, - }]]; +export const DATA_BASE = svg( + ["path", { d: "M24 3H8a2 2 0 00-2 2v22a2 2 0 002 2h16a2 2 0 002-2V5a2 2 0 00-2-2zm0 2v6H8V5zM8 19v-6h16v6zm0 8v-6h16v6z" }], + ["circle", + { + r: 1, + cy: 8, + cx: 11, + }], + ["circle", + { + r: 1, + cy: 16, + cx: 11, + }], + ["circle", + { + r: 1, + cy: 24, + cx: 11, + }] +); diff --git a/packages/hiccup-carbon-icons/src/data-check.ts b/packages/hiccup-carbon-icons/src/data-check.ts index b8e95f7d51..1c1df8360f 100644 --- a/packages/hiccup-carbon-icons/src/data-check.ts +++ b/packages/hiccup-carbon-icons/src/data-check.ts @@ -1,26 +1,28 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_CHECK */ // prettier-ignore -export const DATA_CHECK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 27.18l-2.59-2.59L19 26l4 4 7-7-1.41-1.41L23 27.18z" }], - ["circle", - { - r: 1, - cy: 8, - cx: 11, - }], - ["circle", - { - r: 1, - cy: 16, - cx: 11, - }], - ["circle", - { - r: 1, - cy: 24, - cx: 11, - }], - ["path", { d: "M24 3H8a2 2 0 00-2 2v22a2 2 0 002 2h8v-2H8v-6h18V5a2 2 0 00-2-2zm0 16H8v-6h16zm0-8H8V5h16z" }]]; +export const DATA_CHECK = svg( + ["path", { d: "M23 27.18l-2.59-2.59L19 26l4 4 7-7-1.41-1.41L23 27.18z" }], + ["circle", + { + r: 1, + cy: 8, + cx: 11, + }], + ["circle", + { + r: 1, + cy: 16, + cx: 11, + }], + ["circle", + { + r: 1, + cy: 24, + cx: 11, + }], + ["path", { d: "M24 3H8a2 2 0 00-2 2v22a2 2 0 002 2h8v-2H8v-6h18V5a2 2 0 00-2-2zm0 16H8v-6h16zm0-8H8V5h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-class.ts b/packages/hiccup-carbon-icons/src/data-class.ts index 3eb272fc36..6d8c1467af 100644 --- a/packages/hiccup-carbon-icons/src/data-class.ts +++ b/packages/hiccup-carbon-icons/src/data-class.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_CLASS */ // prettier-ignore -export const DATA_CLASS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 16a3.961 3.961 0 00-2.02.566l-2.859-2.859 2.293-2.293a2 2 0 000-2.828l-6-6a2 2 0 00-2.828 0l-6 6a2 2 0 000 2.828l2.293 2.293-2.859 2.859a4.043 4.043 0 101.414 1.414l2.859-2.859 2.293 2.293a1.977 1.977 0 00.414.31V22h-3v8h8v-8h-3v-4.277a1.977 1.977 0 00.414-.309l2.293-2.293 2.859 2.859A3.989 3.989 0 1026 16zM8 20a2 2 0 11-2-2 2.002 2.002 0 012 2zm10 4v4h-4v-4h4zm-2-8l-6-6 6-6 6 6zm10 6a2 2 0 112-2 2.002 2.002 0 01-2 2z" }]]; +export const DATA_CLASS = svg( + ["path", { d: "M26 16a3.961 3.961 0 00-2.02.566l-2.859-2.859 2.293-2.293a2 2 0 000-2.828l-6-6a2 2 0 00-2.828 0l-6 6a2 2 0 000 2.828l2.293 2.293-2.859 2.859a4.043 4.043 0 101.414 1.414l2.859-2.859 2.293 2.293a1.977 1.977 0 00.414.31V22h-3v8h8v-8h-3v-4.277a1.977 1.977 0 00.414-.309l2.293-2.293 2.859 2.859A3.989 3.989 0 1026 16zM8 20a2 2 0 11-2-2 2.002 2.002 0 012 2zm10 4v4h-4v-4h4zm-2-8l-6-6 6-6 6 6zm10 6a2 2 0 112-2 2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-connected.ts b/packages/hiccup-carbon-icons/src/data-connected.ts index 23477ec361..3b63e3c8ac 100644 --- a/packages/hiccup-carbon-icons/src/data-connected.ts +++ b/packages/hiccup-carbon-icons/src/data-connected.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_CONNECTED */ // prettier-ignore -export const DATA_CONNECTED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30h-6v-2h4V4h-4V2h6v28z" }], - ["path", { d: "M24.91 19.59a4.51 4.51 0 00-2.66-3.24 4.55 4.55 0 00-3.5 0 4.94 4.94 0 00-.64.35l-2.81-2.81a4.53 4.53 0 10-1.41 1.41l2.81 2.81a4.48 4.48 0 00-.61 3.3 4.51 4.51 0 002.66 3.24 4.55 4.55 0 003.5 0 4.51 4.51 0 002.66-3.24 4.65 4.65 0 000-1.82zM11.5 14a2.5 2.5 0 112.5-2.5 2.5 2.5 0 01-2.5 2.5z" }], - ["path", { d: "M8 30H2V2h6v2H4v24h4v2z" }]]; +export const DATA_CONNECTED = svg( + ["path", { d: "M30 30h-6v-2h4V4h-4V2h6v28z" }], + ["path", { d: "M24.91 19.59a4.51 4.51 0 00-2.66-3.24 4.55 4.55 0 00-3.5 0 4.94 4.94 0 00-.64.35l-2.81-2.81a4.53 4.53 0 10-1.41 1.41l2.81 2.81a4.48 4.48 0 00-.61 3.3 4.51 4.51 0 002.66 3.24 4.55 4.55 0 003.5 0 4.51 4.51 0 002.66-3.24 4.65 4.65 0 000-1.82zM11.5 14a2.5 2.5 0 112.5-2.5 2.5 2.5 0 01-2.5 2.5z" }], + ["path", { d: "M8 30H2V2h6v2H4v24h4v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-error.ts b/packages/hiccup-carbon-icons/src/data-error.ts index 92630ad6d8..0150363571 100644 --- a/packages/hiccup-carbon-icons/src/data-error.ts +++ b/packages/hiccup-carbon-icons/src/data-error.ts @@ -1,26 +1,28 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_ERROR */ // prettier-ignore -export const DATA_ERROR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1, - cy: 8, - cx: 11, - }], - ["circle", - { - r: 1, - cy: 16, - cx: 11, - }], - ["circle", - { - r: 1, - cy: 24, - cx: 11, - }], - ["path", { d: "M24 3H8a2 2 0 00-2 2v22a2 2 0 002 2h8v-2H8v-6h18V5a2 2 0 00-2-2zm0 16H8v-6h16zm0-8H8V5h16z" }], - ["path", { d: "M29.24 29.58l-2.83-2.83 2.83-2.83-1.41-1.41L25 25.33l-2.83-2.82-1.41 1.41 2.83 2.83-2.83 2.83 1.41 1.41L25 28.16l2.83 2.83 1.41-1.41z" }]]; +export const DATA_ERROR = svg( + ["circle", + { + r: 1, + cy: 8, + cx: 11, + }], + ["circle", + { + r: 1, + cy: 16, + cx: 11, + }], + ["circle", + { + r: 1, + cy: 24, + cx: 11, + }], + ["path", { d: "M24 3H8a2 2 0 00-2 2v22a2 2 0 002 2h8v-2H8v-6h18V5a2 2 0 00-2-2zm0 16H8v-6h16zm0-8H8V5h16z" }], + ["path", { d: "M29.24 29.58l-2.83-2.83 2.83-2.83-1.41-1.41L25 25.33l-2.83-2.82-1.41 1.41 2.83 2.83-2.83 2.83 1.41 1.41L25 28.16l2.83 2.83 1.41-1.41z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-reference.ts b/packages/hiccup-carbon-icons/src/data-reference.ts index 007e723622..69d03ee034 100644 --- a/packages/hiccup-carbon-icons/src/data-reference.ts +++ b/packages/hiccup-carbon-icons/src/data-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_REFERENCE */ // prettier-ignore -export const DATA_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 13V4h-2v2h-3v2h3v5h-3v2h8v-2h-3zM8.5 6A3.5 3.5 0 115 9.5 3.504 3.504 0 018.5 6m0-2A5.5 5.5 0 1014 9.5 5.5 5.5 0 008.5 4zM23.5 20a3.5 3.5 0 11-3.5 3.5 3.504 3.504 0 013.5-3.5m0-2a5.5 5.5 0 105.5 5.5 5.5 5.5 0 00-5.5-5.5zM6 19v2h3.586L4 26.586 5.414 28 11 22.414V26h2v-7H6z" }]]; +export const DATA_REFERENCE = svg( + ["path", { d: "M25 13V4h-2v2h-3v2h3v5h-3v2h8v-2h-3zM8.5 6A3.5 3.5 0 115 9.5 3.504 3.504 0 018.5 6m0-2A5.5 5.5 0 1014 9.5 5.5 5.5 0 008.5 4zM23.5 20a3.5 3.5 0 11-3.5 3.5 3.504 3.504 0 013.5-3.5m0-2a5.5 5.5 0 105.5 5.5 5.5 5.5 0 00-5.5-5.5zM6 19v2h3.586L4 26.586 5.414 28 11 22.414V26h2v-7H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-refinery-reference.ts b/packages/hiccup-carbon-icons/src/data-refinery-reference.ts index 00bef8e3a6..3893e1140a 100644 --- a/packages/hiccup-carbon-icons/src/data-refinery-reference.ts +++ b/packages/hiccup-carbon-icons/src/data-refinery-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_REFINERY_REFERENCE */ // prettier-ignore -export const DATA_REFINERY_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 12h-6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6V4z" }], - ["path", { d: "M24 26h-8v-2h8v-7H8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h10v2H8v7h16a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2z" }]]; +export const DATA_REFINERY_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 12h-6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6V4z" }], + ["path", { d: "M24 26h-8v-2h8v-7H8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h10v2H8v7h16a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-refinery.ts b/packages/hiccup-carbon-icons/src/data-refinery.ts index 9b555a5ba3..e78418c68d 100644 --- a/packages/hiccup-carbon-icons/src/data-refinery.ts +++ b/packages/hiccup-carbon-icons/src/data-refinery.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_REFINERY */ // prettier-ignore -export const DATA_REFINERY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7 30a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }], - ["path", { d: "M24 26H14v-2h10v-7H8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h10v2H8v7h16a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2z" }], - ["path", { d: "M28 12h-6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6V4z" }]]; +export const DATA_REFINERY = svg( + ["path", { d: "M7 30a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }], + ["path", { d: "M24 26H14v-2h10v-7H8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h10v2H8v7h16a2.002 2.002 0 012 2v7a2.002 2.002 0 01-2 2z" }], + ["path", { d: "M28 12h-6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-set.ts b/packages/hiccup-carbon-icons/src/data-set.ts index f4c805e249..a491c2a3ff 100644 --- a/packages/hiccup-carbon-icons/src/data-set.ts +++ b/packages/hiccup-carbon-icons/src/data-set.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_SET */ // prettier-ignore -export const DATA_SET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 13V4h-2v2h-3v2h3v5h-3v2h8v-2h-3zM8.5 6A3.5 3.5 0 115 9.5 3.5 3.5 0 018.5 6m0-2A5.5 5.5 0 1014 9.5 5.5 5.5 0 008.5 4zM8.5 20A3.5 3.5 0 115 23.5 3.5 3.5 0 018.5 20m0-2a5.5 5.5 0 105.5 5.5A5.5 5.5 0 008.5 18zM23.5 20a3.5 3.5 0 11-3.5 3.5 3.5 3.5 0 013.5-3.5m0-2a5.5 5.5 0 105.5 5.5 5.5 5.5 0 00-5.5-5.5z" }]]; +export const DATA_SET = svg( + ["path", { d: "M25 13V4h-2v2h-3v2h3v5h-3v2h8v-2h-3zM8.5 6A3.5 3.5 0 115 9.5 3.5 3.5 0 018.5 6m0-2A5.5 5.5 0 1014 9.5 5.5 5.5 0 008.5 4zM8.5 20A3.5 3.5 0 115 23.5 3.5 3.5 0 018.5 20m0-2a5.5 5.5 0 105.5 5.5A5.5 5.5 0 008.5 18zM23.5 20a3.5 3.5 0 11-3.5 3.5 3.5 3.5 0 013.5-3.5m0-2a5.5 5.5 0 105.5 5.5 5.5 5.5 0 00-5.5-5.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-share.ts b/packages/hiccup-carbon-icons/src/data-share.ts index fa26b2700f..24cefd4440 100644 --- a/packages/hiccup-carbon-icons/src/data-share.ts +++ b/packages/hiccup-carbon-icons/src/data-share.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_SHARE */ // prettier-ignore -export const DATA_SHARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M5 25v-9.172l-3.586 3.586L0 18l6-6 6 6-1.414 1.414L7 15.828V25h12v2H7a2.002 2.002 0 01-2-2zM24 22h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2zm4 6v-4h-4.002L24 28zM27 6v9.172l3.586-3.586L32 13l-6 6-6-6 1.414-1.414L25 15.172V6H13V4h12a2.002 2.002 0 012 2zM2 6h6v2H2zM2 2h8v2H2z" }]]; +export const DATA_SHARE = svg( + ["path", { d: "M5 25v-9.172l-3.586 3.586L0 18l6-6 6 6-1.414 1.414L7 15.828V25h12v2H7a2.002 2.002 0 01-2-2zM24 22h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2zm4 6v-4h-4.002L24 28zM27 6v9.172l3.586-3.586L32 13l-6 6-6-6 1.414-1.414L25 15.172V6H13V4h12a2.002 2.002 0 012 2zM2 6h6v2H2zM2 2h8v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-structured.ts b/packages/hiccup-carbon-icons/src/data-structured.ts index e4f6d771c3..b8638b4b6b 100644 --- a/packages/hiccup-carbon-icons/src/data-structured.ts +++ b/packages/hiccup-carbon-icons/src/data-structured.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_STRUCTURED */ // prettier-ignore -export const DATA_STRUCTURED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1, - cy: 7, - cx: 9, - }], - ["path", { d: "M27 22.14V18a2 2 0 00-2-2h-8v-4h9a2 2 0 002-2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2h9v4H7a2 2 0 00-2 2v4.14a4 4 0 102 0V18h8v4h-3v8h8v-8h-3v-4h8v4.14a4 4 0 102 0zM8 26a2 2 0 11-2-2 2 2 0 012 2zm10-2v4h-4v-4zM6 10V4h20v6zm20 18a2 2 0 112-2 2 2 0 01-2 2z" }]]; +export const DATA_STRUCTURED = svg( + ["circle", + { + r: 1, + cy: 7, + cx: 9, + }], + ["path", { d: "M27 22.14V18a2 2 0 00-2-2h-8v-4h9a2 2 0 002-2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2h9v4H7a2 2 0 00-2 2v4.14a4 4 0 102 0V18h8v4h-3v8h8v-8h-3v-4h8v4.14a4 4 0 102 0zM8 26a2 2 0 11-2-2 2 2 0 012 2zm10-2v4h-4v-4zM6 10V4h20v6zm20 18a2 2 0 112-2 2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-table-reference.ts b/packages/hiccup-carbon-icons/src/data-table-reference.ts index 7ea5e03698..c459768d89 100644 --- a/packages/hiccup-carbon-icons/src/data-table-reference.ts +++ b/packages/hiccup-carbon-icons/src/data-table-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_TABLE_REFERENCE */ // prettier-ignore -export const DATA_TABLE_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM20 22h4v2h-4zM16 18h4v2h-4zM20 14h4v2h-4zM8 14h4v2H8z" }], - ["path", { d: "M27 3H5a2.003 2.003 0 00-2 2v11h2v-5h22v16H16v2h11a2.003 2.003 0 002-2V5a2.003 2.003 0 00-2-2zm0 6H5V5h22z" }]]; +export const DATA_TABLE_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM20 22h4v2h-4zM16 18h4v2h-4zM20 14h4v2h-4zM8 14h4v2H8z" }], + ["path", { d: "M27 3H5a2.003 2.003 0 00-2 2v11h2v-5h22v16H16v2h11a2.003 2.003 0 002-2V5a2.003 2.003 0 00-2-2zm0 6H5V5h22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-table.ts b/packages/hiccup-carbon-icons/src/data-table.ts index 75ff56f589..2337387717 100644 --- a/packages/hiccup-carbon-icons/src/data-table.ts +++ b/packages/hiccup-carbon-icons/src/data-table.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_TABLE */ // prettier-ignore -export const DATA_TABLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 18h4v2H8zM14 18h4v2h-4zM8 14h4v2H8zM14 22h4v2h-4zM20 14h4v2h-4zM20 22h4v2h-4z" }], - ["path", { d: "M27 3H5a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h22a2.002 2.002 0 002-2V5a2.002 2.002 0 00-2-2zm0 2v4H5V5zM5 27V11h22v16z" }]]; +export const DATA_TABLE = svg( + ["path", { d: "M8 18h4v2H8zM14 18h4v2h-4zM8 14h4v2H8zM14 22h4v2h-4zM20 14h4v2h-4zM20 22h4v2h-4z" }], + ["path", { d: "M27 3H5a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h22a2.002 2.002 0 002-2V5a2.002 2.002 0 00-2-2zm0 2v4H5V5zM5 27V11h22v16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-unstructured.ts b/packages/hiccup-carbon-icons/src/data-unstructured.ts index caca753697..e25439969e 100644 --- a/packages/hiccup-carbon-icons/src/data-unstructured.ts +++ b/packages/hiccup-carbon-icons/src/data-unstructured.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_UNSTRUCTURED */ // prettier-ignore -export const DATA_UNSTRUCTURED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 24a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM16 4a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM26 4a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM18 24v4h-4v-4h4m2-2h-8v8h8z" }], - ["path", { d: "M27 22.14V17a2 2 0 00-2-2H7v-5h3V2H2v8h3v5a2 2 0 002 2h18v5.14a4 4 0 102 0zM4 4h4v4H4zm22 24a2 2 0 112-2 2 2 0 01-2 2z" }]]; +export const DATA_UNSTRUCTURED = svg( + ["path", { d: "M6 24a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM16 4a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM26 4a2 2 0 11-2 2 2 2 0 012-2m0-2a4 4 0 104 4 4 4 0 00-4-4zM18 24v4h-4v-4h4m2-2h-8v8h8z" }], + ["path", { d: "M27 22.14V17a2 2 0 00-2-2H7v-5h3V2H2v8h3v5a2 2 0 002 2h18v5.14a4 4 0 102 0zM4 4h4v4H4zm22 24a2 2 0 112-2 2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-vis-1.ts b/packages/hiccup-carbon-icons/src/data-vis-1.ts index 2f8c301c79..e04ca074eb 100644 --- a/packages/hiccup-carbon-icons/src/data-vis-1.ts +++ b/packages/hiccup-carbon-icons/src/data-vis-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_VIS_1 */ // prettier-ignore -export const DATA_VIS_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 22a3.955 3.955 0 00-2.02.567l-3.813-3.814a4.965 4.965 0 000-5.506l2.547-2.547A3.028 3.028 0 1021.3 9.286l-2.547 2.547a4.965 4.965 0 00-5.506 0L9.433 8.019A3.955 3.955 0 0010 6a4 4 0 10-4 4 3.955 3.955 0 002.02-.567l3.813 3.814a4.965 4.965 0 000 5.506l-3.814 3.814A3.956 3.956 0 006 22a4 4 0 104 4 3.955 3.955 0 00-.567-2.02l3.814-3.813a4.969 4.969 0 001.753.732v3.285a3 3 0 102 0v-3.285a4.969 4.969 0 001.753-.732l3.814 3.814A3.955 3.955 0 0022 26a4 4 0 104-4zm-10-9a3 3 0 11-3 3 3.003 3.003 0 013-3zM4 6a2 2 0 112 2 2.002 2.002 0 01-2-2zm2 22a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 0a2 2 0 112-2 2.003 2.003 0 01-2 2z" }]]; +export const DATA_VIS_1 = svg( + ["path", { d: "M26 22a3.955 3.955 0 00-2.02.567l-3.813-3.814a4.965 4.965 0 000-5.506l2.547-2.547A3.028 3.028 0 1021.3 9.286l-2.547 2.547a4.965 4.965 0 00-5.506 0L9.433 8.019A3.955 3.955 0 0010 6a4 4 0 10-4 4 3.955 3.955 0 002.02-.567l3.813 3.814a4.965 4.965 0 000 5.506l-3.814 3.814A3.956 3.956 0 006 22a4 4 0 104 4 3.955 3.955 0 00-.567-2.02l3.814-3.813a4.969 4.969 0 001.753.732v3.285a3 3 0 102 0v-3.285a4.969 4.969 0 001.753-.732l3.814 3.814A3.955 3.955 0 0022 26a4 4 0 104-4zm-10-9a3 3 0 11-3 3 3.003 3.003 0 013-3zM4 6a2 2 0 112 2 2.002 2.002 0 01-2-2zm2 22a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 0a2 2 0 112-2 2.003 2.003 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-vis-2.ts b/packages/hiccup-carbon-icons/src/data-vis-2.ts index d2d005c80d..b23bf0a94c 100644 --- a/packages/hiccup-carbon-icons/src/data-vis-2.ts +++ b/packages/hiccup-carbon-icons/src/data-vis-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_VIS_2 */ // prettier-ignore -export const DATA_VIS_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H17a2.002 2.002 0 00-2 2v6H4a2.002 2.002 0 00-2 2v16a2.002 2.002 0 002 2h11a2.002 2.002 0 002-2v-6h11a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm0 2v4H17V4zM15 22H4v-4h11zm2-12h11l.001 4H17zm-2 2v4H4v-4zM4 28v-4h11.001v4zm13-8v-4h11.002v4z" }]]; +export const DATA_VIS_2 = svg( + ["path", { d: "M28 2H17a2.002 2.002 0 00-2 2v6H4a2.002 2.002 0 00-2 2v16a2.002 2.002 0 002 2h11a2.002 2.002 0 002-2v-6h11a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zm0 2v4H17V4zM15 22H4v-4h11zm2-12h11l.001 4H17zm-2 2v4H4v-4zM4 28v-4h11.001v4zm13-8v-4h11.002v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-vis-3.ts b/packages/hiccup-carbon-icons/src/data-vis-3.ts index ab1eb6d94f..838225d7a8 100644 --- a/packages/hiccup-carbon-icons/src/data-vis-3.ts +++ b/packages/hiccup-carbon-icons/src/data-vis-3.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_VIS_3 */ // prettier-ignore -export const DATA_VIS_3: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 3a2.991 2.991 0 00-2.816 2h-3.326a3.98 3.98 0 00-7.716 0H9.858A3.992 3.992 0 105 9.858v4.284a3.98 3.98 0 000 7.716v3.326a3 3 0 102 0v-3.326a3.978 3.978 0 001.673-.903l3.364 1.682A2.963 2.963 0 0012 23a3.012 3.012 0 10.922-2.157l-3.148-1.574A3.95 3.95 0 0010 18a3.996 3.996 0 00-3-3.858V9.858A3.995 3.995 0 009.858 7h4.284a3.937 3.937 0 004.782 2.882l1.811 3.17a3.045 3.045 0 101.733-.998L20.689 8.94A3.984 3.984 0 0021.858 7h3.326A2.995 2.995 0 1028 3zM8 18a2 2 0 11-2-2 2.002 2.002 0 012 2zM6 8a2 2 0 112-2 2.002 2.002 0 01-2 2zm10-2a2 2 0 112 2 2.002 2.002 0 01-2-2z" }]]; +export const DATA_VIS_3 = svg( + ["path", { d: "M28 3a2.991 2.991 0 00-2.816 2h-3.326a3.98 3.98 0 00-7.716 0H9.858A3.992 3.992 0 105 9.858v4.284a3.98 3.98 0 000 7.716v3.326a3 3 0 102 0v-3.326a3.978 3.978 0 001.673-.903l3.364 1.682A2.963 2.963 0 0012 23a3.012 3.012 0 10.922-2.157l-3.148-1.574A3.95 3.95 0 0010 18a3.996 3.996 0 00-3-3.858V9.858A3.995 3.995 0 009.858 7h4.284a3.937 3.937 0 004.782 2.882l1.811 3.17a3.045 3.045 0 101.733-.998L20.689 8.94A3.984 3.984 0 0021.858 7h3.326A2.995 2.995 0 1028 3zM8 18a2 2 0 11-2-2 2.002 2.002 0 012 2zM6 8a2 2 0 112-2 2.002 2.002 0 01-2 2zm10-2a2 2 0 112 2 2.002 2.002 0 01-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/data-vis-4.ts b/packages/hiccup-carbon-icons/src/data-vis-4.ts index 2be7c4cd11..6e8dcd55e3 100644 --- a/packages/hiccup-carbon-icons/src/data-vis-4.ts +++ b/packages/hiccup-carbon-icons/src/data-vis-4.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATA_VIS_4 */ // prettier-ignore -export const DATA_VIS_4: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 3H5a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h22a2.003 2.003 0 002-2V5a2.002 2.002 0 00-2-2zm0 6H17V5h10zM15 27h-4v-4h4zm0-6h-4v-4h4zm-6 0H5v-4h4zm2-6v-4h10v4zm0-6V5h4v4zm12 2h4v4h-4zM9 5v10H5V5zM5 23h4v4H5zm12 4V17h10.001l.001 10z" }]]; +export const DATA_VIS_4 = svg( + ["path", { d: "M27 3H5a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h22a2.003 2.003 0 002-2V5a2.002 2.002 0 00-2-2zm0 6H17V5h10zM15 27h-4v-4h4zm0-6h-4v-4h4zm-6 0H5v-4h4zm2-6v-4h10v4zm0-6V5h4v4zm12 2h4v4h-4zM9 5v10H5V5zM5 23h4v4H5zm12 4V17h10.001l.001 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/datastore.ts b/packages/hiccup-carbon-icons/src/datastore.ts index bdb52c26dd..66d663ef72 100644 --- a/packages/hiccup-carbon-icons/src/datastore.ts +++ b/packages/hiccup-carbon-icons/src/datastore.ts @@ -1,21 +1,23 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DATASTORE */ // prettier-ignore -export const DATASTORE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1, - cy: 23, - cx: 23, - }], - ["path", { d: "M8 22h12v2H8z" }], - ["circle", - { - r: 1, - cy: 9, - cx: 23, - }], - ["path", { d: "M8 8h12v2H8z" }], - ["path", { d: "M26 14a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2h2v4H6a2 2 0 00-2 2v6a2 2 0 002 2h20a2 2 0 002-2v-6a2 2 0 00-2-2h-2v-4zM6 6h20v6H6zm20 20H6v-6h20zm-4-8H10v-4h12z" }]]; +export const DATASTORE = svg( + ["circle", + { + r: 1, + cy: 23, + cx: 23, + }], + ["path", { d: "M8 22h12v2H8z" }], + ["circle", + { + r: 1, + cy: 9, + cx: 23, + }], + ["path", { d: "M8 8h12v2H8z" }], + ["path", { d: "M26 14a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2h2v4H6a2 2 0 00-2 2v6a2 2 0 002 2h20a2 2 0 002-2v-6a2 2 0 00-2-2h-2v-4zM6 6h20v6H6zm20 20H6v-6h20zm-4-8H10v-4h12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/debug.ts b/packages/hiccup-carbon-icons/src/debug.ts index 76ae137403..63091c42e8 100644 --- a/packages/hiccup-carbon-icons/src/debug.ts +++ b/packages/hiccup-carbon-icons/src/debug.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEBUG */ // prettier-ignore -export const DEBUG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.83 20l.34-2-5.17-.85V13v-.23l5.06-1.36-.51-1.93-4.83 1.29A9 9 0 0020 5V2h-2v2.23a8.81 8.81 0 00-4 0V2h-2v3a9 9 0 00-4.71 5.82L2.46 9.48 2 11.41l5 1.36V17.15L1.84 18l.32 2L7 19.18a8.9 8.9 0 00.82 3.57l-4.53 4.54 1.42 1.42 4.19-4.2a9 9 0 0014.2 0l4.19 4.2 1.42-1.42-4.54-4.54a8.9 8.9 0 00.83-3.57zM15 25.92A7 7 0 019 19v-6h6zM9.29 11a7 7 0 0113.42 0zM23 19a7 7 0 01-6 6.92V13h6z" }]]; +export const DEBUG = svg( + ["path", { d: "M29.83 20l.34-2-5.17-.85V13v-.23l5.06-1.36-.51-1.93-4.83 1.29A9 9 0 0020 5V2h-2v2.23a8.81 8.81 0 00-4 0V2h-2v3a9 9 0 00-4.71 5.82L2.46 9.48 2 11.41l5 1.36V17.15L1.84 18l.32 2L7 19.18a8.9 8.9 0 00.82 3.57l-4.53 4.54 1.42 1.42 4.19-4.2a9 9 0 0014.2 0l4.19 4.2 1.42-1.42-4.54-4.54a8.9 8.9 0 00.83-3.57zM15 25.92A7 7 0 019 19v-6h6zM9.29 11a7 7 0 0113.42 0zM23 19a7 7 0 01-6 6.92V13h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/delete.ts b/packages/hiccup-carbon-icons/src/delete.ts index 4a5ba22c6d..c028abf957 100644 --- a/packages/hiccup-carbon-icons/src/delete.ts +++ b/packages/hiccup-carbon-icons/src/delete.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DELETE */ // prettier-ignore -export const DELETE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 12h2v12h-2zM18 12h2v12h-2z" }], - ["path", { d: "M4 6v2h2v20a2 2 0 002 2h16a2 2 0 002-2V8h2V6zm4 22V8h16v20zM12 2h8v2h-8z" }]]; +export const DELETE = svg( + ["path", { d: "M12 12h2v12h-2zM18 12h2v12h-2z" }], + ["path", { d: "M4 6v2h2v20a2 2 0 002 2h16a2 2 0 002-2V8h2V6zm4 22V8h16v20zM12 2h8v2h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/delivery-truck.ts b/packages/hiccup-carbon-icons/src/delivery-truck.ts index f50408aedc..d1e676da49 100644 --- a/packages/hiccup-carbon-icons/src/delivery-truck.ts +++ b/packages/hiccup-carbon-icons/src/delivery-truck.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DELIVERY_TRUCK */ // prettier-ignore -export const DELIVERY_TRUCK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.92 16.61l-3-7A1 1 0 0026 9h-3V7a1 1 0 00-1-1H3a1 1 0 00-1 1v17a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7a1 1 0 00-.08-.39zM23 11h2.34l2.14 5H23zM9 26a2 2 0 112-2 2 2 0 01-2 2zm10.14-3h-6.28a4 4 0 00-7.72 0H4V8h17v12.56A4 4 0 0019.14 23zM23 26a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14A4 4 0 0023 20v-2h5z" }]]; +export const DELIVERY_TRUCK = svg( + ["path", { d: "M29.92 16.61l-3-7A1 1 0 0026 9h-3V7a1 1 0 00-1-1H3a1 1 0 00-1 1v17a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7a1 1 0 00-.08-.39zM23 11h2.34l2.14 5H23zM9 26a2 2 0 112-2 2 2 0 01-2 2zm10.14-3h-6.28a4 4 0 00-7.72 0H4V8h17v12.56A4 4 0 0019.14 23zM23 26a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14A4 4 0 0023 20v-2h5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/departure.ts b/packages/hiccup-carbon-icons/src/departure.ts index 2c7490b386..feac404799 100644 --- a/packages/hiccup-carbon-icons/src/departure.ts +++ b/packages/hiccup-carbon-icons/src/departure.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEPARTURE */ // prettier-ignore -export const DEPARTURE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 28h28v2H2zM13.48 5.15l5.69 8.14.8 1.15 1.35-.36 4.52-1.21a2.13 2.13 0 011.12 0A1.84 1.84 0 0128.23 14 1.87 1.87 0 0127 16.45l-18.71 5a1.78 1.78 0 01-1 0A1.87 1.87 0 016 20.12l-.25-.93L5 16.38l-.74-2.74 1.44-.39 2.3 3.1.81 1.08 1.31-.35 2.8-.75 1.94-.52-.52-1.93-2.26-8.36 1.4-.37M14.16 3a1.06 1.06 0 00-.5 0l-3.09.83A1 1 0 009.89 5l2.5 9.36-2.81.75-2.73-3.61a1 1 0 00-.52-.36 1.06 1.06 0 00-.5 0L2.72 12A1 1 0 002 13.16l1 3.74.75 2.8.25.94a3.87 3.87 0 002.74 2.74 3.91 3.91 0 002 0l18.7-5a3.84 3.84 0 000-7.44 4.27 4.27 0 00-2.16 0l-4.51 1.21-6.07-8.74a1 1 0 00-.54-.41z" }]]; +export const DEPARTURE = svg( + ["path", { d: "M2 28h28v2H2zM13.48 5.15l5.69 8.14.8 1.15 1.35-.36 4.52-1.21a2.13 2.13 0 011.12 0A1.84 1.84 0 0128.23 14 1.87 1.87 0 0127 16.45l-18.71 5a1.78 1.78 0 01-1 0A1.87 1.87 0 016 20.12l-.25-.93L5 16.38l-.74-2.74 1.44-.39 2.3 3.1.81 1.08 1.31-.35 2.8-.75 1.94-.52-.52-1.93-2.26-8.36 1.4-.37M14.16 3a1.06 1.06 0 00-.5 0l-3.09.83A1 1 0 009.89 5l2.5 9.36-2.81.75-2.73-3.61a1 1 0 00-.52-.36 1.06 1.06 0 00-.5 0L2.72 12A1 1 0 002 13.16l1 3.74.75 2.8.25.94a3.87 3.87 0 002.74 2.74 3.91 3.91 0 002 0l18.7-5a3.84 3.84 0 000-7.44 4.27 4.27 0 00-2.16 0l-4.51 1.21-6.07-8.74a1 1 0 00-.54-.41z" }] +); diff --git a/packages/hiccup-carbon-icons/src/deploy-rules.ts b/packages/hiccup-carbon-icons/src/deploy-rules.ts index 1405797318..b4f7ec174f 100644 --- a/packages/hiccup-carbon-icons/src/deploy-rules.ts +++ b/packages/hiccup-carbon-icons/src/deploy-rules.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEPLOY_RULES */ // prettier-ignore -export const DEPLOY_RULES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 4l-6 6 1.41 1.41L17 7.83V20h2V7.83l3.59 3.58L24 10l-6-6zM8 18h7v2H8zM8 22h16v2H8zM8 26h16v2H8z" }]]; +export const DEPLOY_RULES = svg( + ["path", { d: "M18 4l-6 6 1.41 1.41L17 7.83V20h2V7.83l3.59 3.58L24 10l-6-6zM8 18h7v2H8zM8 22h16v2H8zM8 26h16v2H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/deploy.ts b/packages/hiccup-carbon-icons/src/deploy.ts index e9c63bfb55..834489cc4f 100644 --- a/packages/hiccup-carbon-icons/src/deploy.ts +++ b/packages/hiccup-carbon-icons/src/deploy.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEPLOY */ // prettier-ignore -export const DEPLOY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 3, - cy: 19, - cx: 13, - }], - ["path", { d: "M23 2l-6 6 1.415 1.402L22 5.818V19a9 9 0 11-15.996-5.663l-1.553-1.26A11 11 0 1024 19V5.815l3.586 3.587L29 8z" }]]; +export const DEPLOY = svg( + ["circle", + { + r: 3, + cy: 19, + cx: 13, + }], + ["path", { d: "M23 2l-6 6 1.415 1.402L22 5.818V19a9 9 0 11-15.996-5.663l-1.553-1.26A11 11 0 1024 19V5.815l3.586 3.587L29 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/development.ts b/packages/hiccup-carbon-icons/src/development.ts index 580eb3fccb..092c43698a 100644 --- a/packages/hiccup-carbon-icons/src/development.ts +++ b/packages/hiccup-carbon-icons/src/development.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEVELOPMENT */ // prettier-ignore -export const DEVELOPMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 4v4H4V4h4M2 2v8h8V2zM18 7v4h-4V7h4m-6-2v8h8V5zM8 16v4H4v-4h4m-6-2v8h8v-8z" }], - ["path", { d: "M22 10v6h-6v6h-6v8h20V10zm-4 8h4v4h-4zm-2 10h-4v-4h4zm6 0h-4v-4h4zm6 0h-4v-4h4zm0-6h-4v-4h4zm-4-6v-4h4v4z" }]]; +export const DEVELOPMENT = svg( + ["path", { d: "M8 4v4H4V4h4M2 2v8h8V2zM18 7v4h-4V7h4m-6-2v8h8V5zM8 16v4H4v-4h4m-6-2v8h8v-8z" }], + ["path", { d: "M22 10v6h-6v6h-6v8h20V10zm-4 8h4v4h-4zm-2 10h-4v-4h4zm6 0h-4v-4h4zm6 0h-4v-4h4zm0-6h-4v-4h4zm-4-6v-4h4v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/devices.ts b/packages/hiccup-carbon-icons/src/devices.ts index 66af41b506..990d3877b8 100644 --- a/packages/hiccup-carbon-icons/src/devices.ts +++ b/packages/hiccup-carbon-icons/src/devices.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEVICES */ // prettier-ignore -export const DEVICES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 30H4a2 2 0 01-2-2V16a2 2 0 012-2h6a2 2 0 012 2v12a2 2 0 01-2 2zM4 16v12h6V16z" }], - ["path", { d: "M28 4H6a2 2 0 00-2 2v6h2V6h22v14H14v2h2v4h-2v2h9v-2h-5v-4h10a2 2 0 002-2V6a2 2 0 00-2-2z" }]]; +export const DEVICES = svg( + ["path", { d: "M10 30H4a2 2 0 01-2-2V16a2 2 0 012-2h6a2 2 0 012 2v12a2 2 0 01-2 2zM4 16v12h6V16z" }], + ["path", { d: "M28 4H6a2 2 0 00-2 2v6h2V6h22v14H14v2h2v4h-2v2h9v-2h-5v-4h10a2 2 0 002-2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/dew-point-filled.ts b/packages/hiccup-carbon-icons/src/dew-point-filled.ts index f71a2ea860..c25bedf13e 100644 --- a/packages/hiccup-carbon-icons/src/dew-point-filled.ts +++ b/packages/hiccup-carbon-icons/src/dew-point-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEW_POINT_FILLED */ // prettier-ignore -export const DEW_POINT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM14.5 30A5.496 5.496 0 019 24.52c0-3.443 4.344-21.014 4.53-21.76a1 1 0 011.94 0c.186.746 4.53 18.317 4.53 21.76A5.496 5.496 0 0114.5 30z" }]]; +export const DEW_POINT_FILLED = svg( + ["path", { d: "M24 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM14.5 30A5.496 5.496 0 019 24.52c0-3.443 4.344-21.014 4.53-21.76a1 1 0 011.94 0c.186.746 4.53 18.317 4.53 21.76A5.496 5.496 0 0114.5 30z" }] +); diff --git a/packages/hiccup-carbon-icons/src/dew-point.ts b/packages/hiccup-carbon-icons/src/dew-point.ts index 724ad0d2eb..666dad14bb 100644 --- a/packages/hiccup-carbon-icons/src/dew-point.ts +++ b/packages/hiccup-carbon-icons/src/dew-point.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DEW_POINT */ // prettier-ignore -export const DEW_POINT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM14.5 30A5.496 5.496 0 019 24.52c0-3.443 4.344-21.014 4.53-21.76a1 1 0 011.94 0c.186.746 4.53 18.317 4.53 21.76A5.496 5.496 0 0114.5 30zm0-22.756C13.04 13.38 11 22.409 11 24.52a3.5 3.5 0 007 0c0-2.111-2.04-11.14-3.5-17.276z" }]]; +export const DEW_POINT = svg( + ["path", { d: "M24 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM14.5 30A5.496 5.496 0 019 24.52c0-3.443 4.344-21.014 4.53-21.76a1 1 0 011.94 0c.186.746 4.53 18.317 4.53 21.76A5.496 5.496 0 0114.5 30zm0-22.756C13.04 13.38 11 22.409 11 24.52a3.5 3.5 0 007 0c0-2.111-2.04-11.14-3.5-17.276z" }] +); diff --git a/packages/hiccup-carbon-icons/src/diagram-reference.ts b/packages/hiccup-carbon-icons/src/diagram-reference.ts index 078897cba9..a2c4a3fcf6 100644 --- a/packages/hiccup-carbon-icons/src/diagram-reference.ts +++ b/packages/hiccup-carbon-icons/src/diagram-reference.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIAGRAM_REFERENCE */ // prettier-ignore -export const DIAGRAM_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], - ["path", { d: "M15 28v-2a9.013 9.013 0 008.945-8H16a2.002 2.002 0 01-2-2V8.055A9.013 9.013 0 006 17H4A11.012 11.012 0 0115 6a1 1 0 011 1v9h9a1 1 0 011 1 11.012 11.012 0 01-11 11z" }], - ["path", { d: "M29.006 14h-9.011A1.996 1.996 0 0118 12V3a1.008 1.008 0 011.02-1A11.012 11.012 0 0130 12.98a1.004 1.004 0 01-.994 1.02zM20 12h7.945A9.018 9.018 0 0020 4.055z" }]]; +export const DIAGRAM_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], + ["path", { d: "M15 28v-2a9.013 9.013 0 008.945-8H16a2.002 2.002 0 01-2-2V8.055A9.013 9.013 0 006 17H4A11.012 11.012 0 0115 6a1 1 0 011 1v9h9a1 1 0 011 1 11.012 11.012 0 01-11 11z" }], + ["path", { d: "M29.006 14h-9.011A1.996 1.996 0 0118 12V3a1.008 1.008 0 011.02-1A11.012 11.012 0 0130 12.98a1.004 1.004 0 01-.994 1.02zM20 12h7.945A9.018 9.018 0 0020 4.055z" }] +); diff --git a/packages/hiccup-carbon-icons/src/diagram.ts b/packages/hiccup-carbon-icons/src/diagram.ts index 4cfcdabb6f..a25802337e 100644 --- a/packages/hiccup-carbon-icons/src/diagram.ts +++ b/packages/hiccup-carbon-icons/src/diagram.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIAGRAM */ // prettier-ignore -export const DIAGRAM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 30a11 11 0 010-22 1 1 0 011 1v9h9a1 1 0 011 1 11 11 0 01-11 11zm-1-19.94A9 9 0 1021.94 20H14a2 2 0 01-2-2z" }], - ["path", { d: "M28 14h-9a2 2 0 01-2-2V3a1 1 0 011-1 11 11 0 0111 11 1 1 0 01-1 1zm-9-2h7.94A9 9 0 0019 4.06z" }]]; +export const DIAGRAM = svg( + ["path", { d: "M13 30a11 11 0 010-22 1 1 0 011 1v9h9a1 1 0 011 1 11 11 0 01-11 11zm-1-19.94A9 9 0 1021.94 20H14a2 2 0 01-2-2z" }], + ["path", { d: "M28 14h-9a2 2 0 01-2-2V3a1 1 0 011-1 11 11 0 0111 11 1 1 0 01-1 1zm-9-2h7.94A9 9 0 0019 4.06z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-bear-right-01-filled.ts b/packages/hiccup-carbon-icons/src/direction-bear-right-01-filled.ts index dcc033425a..ff10bb375d 100644 --- a/packages/hiccup-carbon-icons/src/direction-bear-right-01-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-bear-right-01-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_BEAR_RIGHT_01_FILLED */ // prettier-ignore -export const DIRECTION_BEAR_RIGHT_01_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-6 14h-2V9.414l-6.536 6.536A4.968 4.968 0 0012 19.485V26h-2v-6.515a6.954 6.954 0 012.05-4.95L18.586 8H12V6h10z" }]]; +export const DIRECTION_BEAR_RIGHT_01_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-6 14h-2V9.414l-6.536 6.536A4.968 4.968 0 0012 19.485V26h-2v-6.515a6.954 6.954 0 012.05-4.95L18.586 8H12V6h10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-bear-right-01.ts b/packages/hiccup-carbon-icons/src/direction-bear-right-01.ts index b2217b5a5d..fa873b254c 100644 --- a/packages/hiccup-carbon-icons/src/direction-bear-right-01.ts +++ b/packages/hiccup-carbon-icons/src/direction-bear-right-01.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_BEAR_RIGHT_01 */ // prettier-ignore -export const DIRECTION_BEAR_RIGHT_01: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 4v2h6.586l-6.536 6.536a6.954 6.954 0 00-2.05 4.95V28h2V17.485a4.968 4.968 0 011.464-3.535L20 7.414V14h2V4z" }]]; +export const DIRECTION_BEAR_RIGHT_01 = svg( + ["path", { d: "M12 4v2h6.586l-6.536 6.536a6.954 6.954 0 00-2.05 4.95V28h2V17.485a4.968 4.968 0 011.464-3.535L20 7.414V14h2V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-bear-right-02-filled.ts b/packages/hiccup-carbon-icons/src/direction-bear-right-02-filled.ts index a8705ad1ac..9e3571bef0 100644 --- a/packages/hiccup-carbon-icons/src/direction-bear-right-02-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-bear-right-02-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_BEAR_RIGHT_02_FILLED */ // prettier-ignore -export const DIRECTION_BEAR_RIGHT_02_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zM6 7.414L7.414 6 14 12.586 12.586 14zM26 16h-2V9.414l-6.536 6.536A4.968 4.968 0 0016 19.485V26h-2v-6.515a6.954 6.954 0 012.05-4.95L22.586 8H16V6h10z" }]]; +export const DIRECTION_BEAR_RIGHT_02_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zM6 7.414L7.414 6 14 12.586 12.586 14zM26 16h-2V9.414l-6.536 6.536A4.968 4.968 0 0016 19.485V26h-2v-6.515a6.954 6.954 0 012.05-4.95L22.586 8H16V6h10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-bear-right-02.ts b/packages/hiccup-carbon-icons/src/direction-bear-right-02.ts index c6cf06f3e7..88d58d9b1b 100644 --- a/packages/hiccup-carbon-icons/src/direction-bear-right-02.ts +++ b/packages/hiccup-carbon-icons/src/direction-bear-right-02.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_BEAR_RIGHT_02 */ // prettier-ignore -export const DIRECTION_BEAR_RIGHT_02: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4v2h6.586l-6.536 6.536a6.954 6.954 0 00-2.05 4.95V28h2V17.485a4.968 4.968 0 011.464-3.535L24 7.414V14h2V4zM6 7.414L7.414 6 13 11.586 11.586 13z" }]]; +export const DIRECTION_BEAR_RIGHT_02 = svg( + ["path", { d: "M16 4v2h6.586l-6.536 6.536a6.954 6.954 0 00-2.05 4.95V28h2V17.485a4.968 4.968 0 011.464-3.535L24 7.414V14h2V4zM6 7.414L7.414 6 13 11.586 11.586 13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-curve-filled.ts b/packages/hiccup-carbon-icons/src/direction-curve-filled.ts index ba16924b7c..2a96d48c58 100644 --- a/packages/hiccup-carbon-icons/src/direction-curve-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-curve-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_CURVE_FILLED */ // prettier-ignore -export const DIRECTION_CURVE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-5.414 11.414L18 8.828v5.769a5.02 5.02 0 01-1.096 3.124l-2.247 2.808A3.01 3.01 0 0014 22.403V27h-2v-4.597a5.02 5.02 0 011.096-3.124l2.247-2.808A3.01 3.01 0 0016 14.597V8.828l-4.586 4.586L10 12l7-7 7 7z" }]]; +export const DIRECTION_CURVE_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-5.414 11.414L18 8.828v5.769a5.02 5.02 0 01-1.096 3.124l-2.247 2.808A3.01 3.01 0 0014 22.403V27h-2v-4.597a5.02 5.02 0 011.096-3.124l2.247-2.808A3.01 3.01 0 0016 14.597V8.828l-4.586 4.586L10 12l7-7 7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-curve.ts b/packages/hiccup-carbon-icons/src/direction-curve.ts index 4cd40a7170..26ca3baeda 100644 --- a/packages/hiccup-carbon-icons/src/direction-curve.ts +++ b/packages/hiccup-carbon-icons/src/direction-curve.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_CURVE */ // prettier-ignore -export const DIRECTION_CURVE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 4l-7 7 1.414 1.414L16 7.828v6.769a3.01 3.01 0 01-.657 1.874l-2.247 2.808A5.02 5.02 0 0012 22.403V28h2v-5.597a3.01 3.01 0 01.657-1.874l2.247-2.808A5.02 5.02 0 0018 14.597V7.828l4.586 4.586L24 11z" }]]; +export const DIRECTION_CURVE = svg( + ["path", { d: "M17 4l-7 7 1.414 1.414L16 7.828v6.769a3.01 3.01 0 01-.657 1.874l-2.247 2.808A5.02 5.02 0 0012 22.403V28h2v-5.597a3.01 3.01 0 01.657-1.874l2.247-2.808A5.02 5.02 0 0018 14.597V7.828l4.586 4.586L24 11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-merge-filled.ts b/packages/hiccup-carbon-icons/src/direction-merge-filled.ts index db5af329a5..49451f9343 100644 --- a/packages/hiccup-carbon-icons/src/direction-merge-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-merge-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_MERGE_FILLED */ // prettier-ignore -export const DIRECTION_MERGE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zM17.878 15.465l2.658 2.656A4.968 4.968 0 0122 21.657V26h-2v-4.343a2.982 2.982 0 00-.878-2.122l-2.658-2.656a5.002 5.002 0 01-.464-.566 5.002 5.002 0 01-.464.566l-2.658 2.657a2.98 2.98 0 00-.878 2.12V26h-2v-4.343a4.968 4.968 0 011.464-3.536l2.658-2.657a2.98 2.98 0 00.878-2.12V8.827l-4.586 4.586L9 12l7-7 7 7-1.414 1.414L17 8.828v4.515a2.982 2.982 0 00.878 2.122z" }]]; +export const DIRECTION_MERGE_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zM17.878 15.465l2.658 2.656A4.968 4.968 0 0122 21.657V26h-2v-4.343a2.982 2.982 0 00-.878-2.122l-2.658-2.656a5.002 5.002 0 01-.464-.566 5.002 5.002 0 01-.464.566l-2.658 2.657a2.98 2.98 0 00-.878 2.12V26h-2v-4.343a4.968 4.968 0 011.464-3.536l2.658-2.657a2.98 2.98 0 00.878-2.12V8.827l-4.586 4.586L9 12l7-7 7 7-1.414 1.414L17 8.828v4.515a2.982 2.982 0 00.878 2.122z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-merge.ts b/packages/hiccup-carbon-icons/src/direction-merge.ts index 9ca6619f98..9f903c29a4 100644 --- a/packages/hiccup-carbon-icons/src/direction-merge.ts +++ b/packages/hiccup-carbon-icons/src/direction-merge.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_MERGE */ // prettier-ignore -export const DIRECTION_MERGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17.878 15.465A2.982 2.982 0 0117 13.343V7.828l4.586 4.586L23 11l-7-7-7 7 1.414 1.414L15 7.828v5.515a2.98 2.98 0 01-.878 2.121l-2.658 2.657A4.968 4.968 0 0010 21.657V28h2v-6.343a2.98 2.98 0 01.878-2.121l2.658-2.657a5.002 5.002 0 00.464-.566 5.002 5.002 0 00.464.566l2.658 2.656A2.982 2.982 0 0120 21.657V28h2v-6.343a4.968 4.968 0 00-1.464-3.536z" }]]; +export const DIRECTION_MERGE = svg( + ["path", { d: "M17.878 15.465A2.982 2.982 0 0117 13.343V7.828l4.586 4.586L23 11l-7-7-7 7 1.414 1.414L15 7.828v5.515a2.98 2.98 0 01-.878 2.121l-2.658 2.657A4.968 4.968 0 0010 21.657V28h2v-6.343a2.98 2.98 0 01.878-2.121l2.658-2.657a5.002 5.002 0 00.464-.566 5.002 5.002 0 00.464.566l2.658 2.656A2.982 2.982 0 0120 21.657V28h2v-6.343a4.968 4.968 0 00-1.464-3.536z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-right-01-filled.ts b/packages/hiccup-carbon-icons/src/direction-right-01-filled.ts index bbf1db0dfa..a931cafbb1 100644 --- a/packages/hiccup-carbon-icons/src/direction-right-01-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-right-01-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_RIGHT_01_FILLED */ // prettier-ignore -export const DIRECTION_RIGHT_01_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-9 16l-1.414-1.414L22.172 12H10v14H8V12a2 2 0 012-2h12.172l-4.586-4.586L19 4l7 7z" }]]; +export const DIRECTION_RIGHT_01_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-9 16l-1.414-1.414L22.172 12H10v14H8V12a2 2 0 012-2h12.172l-4.586-4.586L19 4l7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-right-01.ts b/packages/hiccup-carbon-icons/src/direction-right-01.ts index 77639aaebb..22028f63a8 100644 --- a/packages/hiccup-carbon-icons/src/direction-right-01.ts +++ b/packages/hiccup-carbon-icons/src/direction-right-01.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_RIGHT_01 */ // prettier-ignore -export const DIRECTION_RIGHT_01: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 4l-1.414 1.414L22.172 10H10a2 2 0 00-2 2v16h2V12h12.172l-4.586 4.586L19 18l7-7z" }]]; +export const DIRECTION_RIGHT_01 = svg( + ["path", { d: "M19 4l-1.414 1.414L22.172 10H10a2 2 0 00-2 2v16h2V12h12.172l-4.586 4.586L19 18l7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-right-02-filled.ts b/packages/hiccup-carbon-icons/src/direction-right-02-filled.ts index 87300b22dd..c80315e37c 100644 --- a/packages/hiccup-carbon-icons/src/direction-right-02-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-right-02-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_RIGHT_02_FILLED */ // prettier-ignore -export const DIRECTION_RIGHT_02_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zM8 6h2v8H8zm11 18l-1.414-1.414L22.172 18H10v8H8v-8a2 2 0 012-2h12.172l-4.586-4.586L19 10l7 7z" }]]; +export const DIRECTION_RIGHT_02_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zM8 6h2v8H8zm11 18l-1.414-1.414L22.172 18H10v8H8v-8a2 2 0 012-2h12.172l-4.586-4.586L19 10l7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-right-02.ts b/packages/hiccup-carbon-icons/src/direction-right-02.ts index 77eb5db57e..359d2b989f 100644 --- a/packages/hiccup-carbon-icons/src/direction-right-02.ts +++ b/packages/hiccup-carbon-icons/src/direction-right-02.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_RIGHT_02 */ // prettier-ignore -export const DIRECTION_RIGHT_02: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 8l-1.414 1.414L22.172 14H10a2 2 0 00-2 2v12h2V16h12.172l-4.586 4.586L19 22l7-7zM8 4h2v8H8z" }]]; +export const DIRECTION_RIGHT_02 = svg( + ["path", { d: "M19 8l-1.414 1.414L22.172 14H10a2 2 0 00-2 2v12h2V16h12.172l-4.586 4.586L19 22l7-7zM8 4h2v8H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-rotary-first-right-filled.ts b/packages/hiccup-carbon-icons/src/direction-rotary-first-right-filled.ts index e48199a379..d5ecae20b1 100644 --- a/packages/hiccup-carbon-icons/src/direction-rotary-first-right-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-rotary-first-right-filled.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_ROTARY_FIRST_RIGHT_FILLED */ // prettier-ignore -export const DIRECTION_ROTARY_FIRST_RIGHT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 3, - cy: 11, - cx: 11, - }], - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-2 24H16v-2h6.586l-8.833-8.833a4.968 4.968 0 01-1.753.732V26h-2V15.899a5.011 5.011 0 115.167-2.146L24 22.586V16h2z" }]]; +export const DIRECTION_ROTARY_FIRST_RIGHT_FILLED = svg( + ["circle", + { + r: 3, + cy: 11, + cx: 11, + }], + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-2 24H16v-2h6.586l-8.833-8.833a4.968 4.968 0 01-1.753.732V26h-2V15.899a5.011 5.011 0 115.167-2.146L24 22.586V16h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-rotary-first-right.ts b/packages/hiccup-carbon-icons/src/direction-rotary-first-right.ts index 8c060273ff..394655204e 100644 --- a/packages/hiccup-carbon-icons/src/direction-rotary-first-right.ts +++ b/packages/hiccup-carbon-icons/src/direction-rotary-first-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_ROTARY_FIRST_RIGHT */ // prettier-ignore -export const DIRECTION_ROTARY_FIRST_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18v6.586L15.871 14.457A5.924 5.924 0 0017 11a6 6 0 10-7 5.91V28h2V16.91a5.957 5.957 0 002.455-1.04L24.585 26H18v2h10V18zm-15-3a4 4 0 114-4 4.005 4.005 0 01-4 4z" }]]; +export const DIRECTION_ROTARY_FIRST_RIGHT = svg( + ["path", { d: "M26 18v6.586L15.871 14.457A5.924 5.924 0 0017 11a6 6 0 10-7 5.91V28h2V16.91a5.957 5.957 0 002.455-1.04L24.585 26H18v2h10V18zm-15-3a4 4 0 114-4 4.005 4.005 0 01-4 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-rotary-right-filled.ts b/packages/hiccup-carbon-icons/src/direction-rotary-right-filled.ts index e8fad52bd8..63f88be5b6 100644 --- a/packages/hiccup-carbon-icons/src/direction-rotary-right-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-rotary-right-filled.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_ROTARY_RIGHT_FILLED */ // prettier-ignore -export const DIRECTION_ROTARY_RIGHT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 3, - cy: 11, - cx: 11, - }], - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-8 16l-1.414-1.414L23.172 12h-7.273A5.014 5.014 0 0112 15.899V26h-2V15.899A5 5 0 1115.899 10h7.273l-4.586-4.586L20 4l7 7z" }]]; +export const DIRECTION_ROTARY_RIGHT_FILLED = svg( + ["circle", + { + r: 3, + cy: 11, + cx: 11, + }], + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-8 16l-1.414-1.414L23.172 12h-7.273A5.014 5.014 0 0112 15.899V26h-2V15.899A5 5 0 1115.899 10h7.273l-4.586-4.586L20 4l7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-rotary-right.ts b/packages/hiccup-carbon-icons/src/direction-rotary-right.ts index 441b1260b5..ebb5f17437 100644 --- a/packages/hiccup-carbon-icons/src/direction-rotary-right.ts +++ b/packages/hiccup-carbon-icons/src/direction-rotary-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_ROTARY_RIGHT */ // prettier-ignore -export const DIRECTION_ROTARY_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 4l-1.414 1.414L25.172 10H16.91A5.997 5.997 0 1010 16.91V28h2V16.91A6.006 6.006 0 0016.91 12h8.262l-4.586 4.586L22 18l7-7zM11 15a4 4 0 114-4 4.005 4.005 0 01-4 4z" }]]; +export const DIRECTION_ROTARY_RIGHT = svg( + ["path", { d: "M22 4l-1.414 1.414L25.172 10H16.91A5.997 5.997 0 1010 16.91V28h2V16.91A6.006 6.006 0 0016.91 12h8.262l-4.586 4.586L22 18l7-7zM11 15a4 4 0 114-4 4.005 4.005 0 01-4 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-rotary-straight-filled.ts b/packages/hiccup-carbon-icons/src/direction-rotary-straight-filled.ts index dde0e9d180..bf74719fda 100644 --- a/packages/hiccup-carbon-icons/src/direction-rotary-straight-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-rotary-straight-filled.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_ROTARY_STRAIGHT_FILLED */ // prettier-ignore -export const DIRECTION_ROTARY_STRAIGHT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 3, - cy: 19, - cx: 16, - }], - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-6.414 10.414L17 7.828v6.273a5 5 0 010 9.798V28h-2v-4.101a5 5 0 010-9.798V7.828l-4.586 4.586L9 11l7-7 7 7z" }]]; +export const DIRECTION_ROTARY_STRAIGHT_FILLED = svg( + ["circle", + { + r: 3, + cy: 19, + cx: 16, + }], + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-6.414 10.414L17 7.828v6.273a5 5 0 010 9.798V28h-2v-4.101a5 5 0 010-9.798V7.828l-4.586 4.586L9 11l7-7 7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-rotary-straight.ts b/packages/hiccup-carbon-icons/src/direction-rotary-straight.ts index 9ef9b4250e..035a738451 100644 --- a/packages/hiccup-carbon-icons/src/direction-rotary-straight.ts +++ b/packages/hiccup-carbon-icons/src/direction-rotary-straight.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_ROTARY_STRAIGHT */ // prettier-ignore -export const DIRECTION_ROTARY_STRAIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 12.09V5.828l4.586 4.586L23 9l-7-7-7 7 1.414 1.414L15 5.828v6.262a5.992 5.992 0 000 11.82V28h2v-4.09a5.992 5.992 0 000-11.82zM16 22a4 4 0 114-4 4.005 4.005 0 01-4 4z" }]]; +export const DIRECTION_ROTARY_STRAIGHT = svg( + ["path", { d: "M17 12.09V5.828l4.586 4.586L23 9l-7-7-7 7 1.414 1.414L15 5.828v6.262a5.992 5.992 0 000 11.82V28h2v-4.09a5.992 5.992 0 000-11.82zM16 22a4 4 0 114-4 4.005 4.005 0 01-4 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-sharp-turn-filled.ts b/packages/hiccup-carbon-icons/src/direction-sharp-turn-filled.ts index f460b76162..e1b80db3ae 100644 --- a/packages/hiccup-carbon-icons/src/direction-sharp-turn-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-sharp-turn-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_SHARP_TURN_FILLED */ // prettier-ignore -export const DIRECTION_SHARP_TURN_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-2 24H16v-2h6.586L8 9.414V26H6V7a1 1 0 011.707-.707L24 22.586V16h2z" }]]; +export const DIRECTION_SHARP_TURN_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-2 24H16v-2h6.586L8 9.414V26H6V7a1 1 0 011.707-.707L24 22.586V16h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-sharp-turn.ts b/packages/hiccup-carbon-icons/src/direction-sharp-turn.ts index 63bcaa99a2..daf06b6162 100644 --- a/packages/hiccup-carbon-icons/src/direction-sharp-turn.ts +++ b/packages/hiccup-carbon-icons/src/direction-sharp-turn.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_SHARP_TURN */ // prettier-ignore -export const DIRECTION_SHARP_TURN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18v6.586L7.707 6.293A1 1 0 006 7v21h2V9.414L24.586 26H18v2h10V18z" }]]; +export const DIRECTION_SHARP_TURN = svg( + ["path", { d: "M26 18v6.586L7.707 6.293A1 1 0 006 7v21h2V9.414L24.586 26H18v2h10V18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-straight-filled.ts b/packages/hiccup-carbon-icons/src/direction-straight-filled.ts index 9863f0864d..eed67cea03 100644 --- a/packages/hiccup-carbon-icons/src/direction-straight-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-straight-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_STRAIGHT_FILLED */ // prettier-ignore -export const DIRECTION_STRAIGHT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-6.414 11.414L17 8.828V26h-2V8.828l-4.586 4.586L9 12l7-7 7 7z" }]]; +export const DIRECTION_STRAIGHT_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-6.414 11.414L17 8.828V26h-2V8.828l-4.586 4.586L9 12l7-7 7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-straight-right-filled.ts b/packages/hiccup-carbon-icons/src/direction-straight-right-filled.ts index 6b1da66d52..1dc36ca8b4 100644 --- a/packages/hiccup-carbon-icons/src/direction-straight-right-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-straight-right-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_STRAIGHT_RIGHT_FILLED */ // prettier-ignore -export const DIRECTION_STRAIGHT_RIGHT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-8 21l-1.414-1.414L23.172 17H6v-2h17.172l-4.586-4.586L20 9l7 7z" }]]; +export const DIRECTION_STRAIGHT_RIGHT_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-8 21l-1.414-1.414L23.172 17H6v-2h17.172l-4.586-4.586L20 9l7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-straight-right.ts b/packages/hiccup-carbon-icons/src/direction-straight-right.ts index d60420eb44..690890f209 100644 --- a/packages/hiccup-carbon-icons/src/direction-straight-right.ts +++ b/packages/hiccup-carbon-icons/src/direction-straight-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_STRAIGHT_RIGHT */ // prettier-ignore -export const DIRECTION_STRAIGHT_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 16l-7-7-1.414 1.414L24.172 15H4v2h20.172l-4.586 4.586L21 23l7-7z" }]]; +export const DIRECTION_STRAIGHT_RIGHT = svg( + ["path", { d: "M28 16l-7-7-1.414 1.414L24.172 15H4v2h20.172l-4.586 4.586L21 23l7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-straight.ts b/packages/hiccup-carbon-icons/src/direction-straight.ts index 10b6611ec3..89add9ce4a 100644 --- a/packages/hiccup-carbon-icons/src/direction-straight.ts +++ b/packages/hiccup-carbon-icons/src/direction-straight.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_STRAIGHT */ // prettier-ignore -export const DIRECTION_STRAIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4l-7 7 1.414 1.414L15 7.828V28h2V7.828l4.586 4.586L23 11l-7-7z" }]]; +export const DIRECTION_STRAIGHT = svg( + ["path", { d: "M16 4l-7 7 1.414 1.414L15 7.828V28h2V7.828l4.586 4.586L23 11l-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-u-turn-filled.ts b/packages/hiccup-carbon-icons/src/direction-u-turn-filled.ts index 77f9cb5c97..f32d48e2d2 100644 --- a/packages/hiccup-carbon-icons/src/direction-u-turn-filled.ts +++ b/packages/hiccup-carbon-icons/src/direction-u-turn-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_U_TURN_FILLED */ // prettier-ignore -export const DIRECTION_U_TURN_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-7 24l-7-7 1.414-1.414L20 22.172V8H8v18H6V8a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v14.172l4.586-4.586L28 19z" }]]; +export const DIRECTION_U_TURN_FILLED = svg( + ["path", { d: "M28 2H4a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2zm-7 24l-7-7 1.414-1.414L20 22.172V8H8v18H6V8a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v14.172l4.586-4.586L28 19z" }] +); diff --git a/packages/hiccup-carbon-icons/src/direction-u-turn.ts b/packages/hiccup-carbon-icons/src/direction-u-turn.ts index 93d888dcf1..a4937df0fd 100644 --- a/packages/hiccup-carbon-icons/src/direction-u-turn.ts +++ b/packages/hiccup-carbon-icons/src/direction-u-turn.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DIRECTION_U_TURN */ // prettier-ignore -export const DIRECTION_U_TURN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.586 19.586L22 24.172V8a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v20h2V8h12v16.172l-4.586-4.586L14 21l7 7 7-7z" }]]; +export const DIRECTION_U_TURN = svg( + ["path", { d: "M26.586 19.586L22 24.172V8a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v20h2V8h12v16.172l-4.586-4.586L14 21l7 7 7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/distribute-horizontal-center.ts b/packages/hiccup-carbon-icons/src/distribute-horizontal-center.ts index 555927a4f7..11975a533d 100644 --- a/packages/hiccup-carbon-icons/src/distribute-horizontal-center.ts +++ b/packages/hiccup-carbon-icons/src/distribute-horizontal-center.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DISTRIBUTE_HORIZONTAL_CENTER */ // prettier-ignore -export const DISTRIBUTE_HORIZONTAL_CENTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 10h-1V2h-2v8h-1a2.002 2.002 0 00-2 2v8a2.002 2.002 0 002 2h1v8h2v-8h1a2.002 2.002 0 002-2v-8a2.002 2.002 0 00-2-2zm0 10h-4v-8h4zM12 6h-1V2H9v4H8a2.002 2.002 0 00-2 2v16a2.002 2.002 0 002 2h1v4h2v-4h1a2.002 2.002 0 002-2V8a2.002 2.002 0 00-2-2zm0 18H8V8h4z" }]]; +export const DISTRIBUTE_HORIZONTAL_CENTER = svg( + ["path", { d: "M24 10h-1V2h-2v8h-1a2.002 2.002 0 00-2 2v8a2.002 2.002 0 002 2h1v8h2v-8h1a2.002 2.002 0 002-2v-8a2.002 2.002 0 00-2-2zm0 10h-4v-8h4zM12 6h-1V2H9v4H8a2.002 2.002 0 00-2 2v16a2.002 2.002 0 002 2h1v4h2v-4h1a2.002 2.002 0 002-2V8a2.002 2.002 0 00-2-2zm0 18H8V8h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/distribute-horizontal-left.ts b/packages/hiccup-carbon-icons/src/distribute-horizontal-left.ts index 72b23ecad4..91b9d62b49 100644 --- a/packages/hiccup-carbon-icons/src/distribute-horizontal-left.ts +++ b/packages/hiccup-carbon-icons/src/distribute-horizontal-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DISTRIBUTE_HORIZONTAL_LEFT */ // prettier-ignore -export const DISTRIBUTE_HORIZONTAL_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 22h-4a2.002 2.002 0 01-2-2v-8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v8a2.002 2.002 0 01-2 2zm-4-10v8h4v-8zM18 2h2v28h-2zM12 26H8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v16a2.002 2.002 0 01-2 2zM8 8v16h4V8zM2 2h2v28H2z" }]]; +export const DISTRIBUTE_HORIZONTAL_LEFT = svg( + ["path", { d: "M28 22h-4a2.002 2.002 0 01-2-2v-8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v8a2.002 2.002 0 01-2 2zm-4-10v8h4v-8zM18 2h2v28h-2zM12 26H8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v16a2.002 2.002 0 01-2 2zM8 8v16h4V8zM2 2h2v28H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/distribute-horizontal-right.ts b/packages/hiccup-carbon-icons/src/distribute-horizontal-right.ts index 5b7ec9f5f1..39ab5178d9 100644 --- a/packages/hiccup-carbon-icons/src/distribute-horizontal-right.ts +++ b/packages/hiccup-carbon-icons/src/distribute-horizontal-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DISTRIBUTE_HORIZONTAL_RIGHT */ // prettier-ignore -export const DISTRIBUTE_HORIZONTAL_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 2h2v28h-2zM24 22h-4a2.002 2.002 0 01-2-2v-8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v8a2.002 2.002 0 01-2 2zm-4-10h-.002L20 20h4v-8zM12 2h2v28h-2zM8 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v16a2.002 2.002 0 01-2 2zM4 8h-.002L4 24h4V8z" }]]; +export const DISTRIBUTE_HORIZONTAL_RIGHT = svg( + ["path", { d: "M28 2h2v28h-2zM24 22h-4a2.002 2.002 0 01-2-2v-8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v8a2.002 2.002 0 01-2 2zm-4-10h-.002L20 20h4v-8zM12 2h2v28h-2zM8 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v16a2.002 2.002 0 01-2 2zM4 8h-.002L4 24h4V8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/distribute-vertical-bottom.ts b/packages/hiccup-carbon-icons/src/distribute-vertical-bottom.ts index 028a105213..3bfb384132 100644 --- a/packages/hiccup-carbon-icons/src/distribute-vertical-bottom.ts +++ b/packages/hiccup-carbon-icons/src/distribute-vertical-bottom.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DISTRIBUTE_VERTICAL_BOTTOM */ // prettier-ignore -export const DISTRIBUTE_VERTICAL_BOTTOM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 28h28v2H2zM24 26H8a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L8 20v4h16zM2 12h28v2H2zM20 10h-8a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h8a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L12 4v4h8z" }]]; +export const DISTRIBUTE_VERTICAL_BOTTOM = svg( + ["path", { d: "M2 28h28v2H2zM24 26H8a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L8 20v4h16zM2 12h28v2H2zM20 10h-8a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h8a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm0-6.001L12 4v4h8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/distribute-vertical-center.ts b/packages/hiccup-carbon-icons/src/distribute-vertical-center.ts index 64dd6e5cae..c2446058d4 100644 --- a/packages/hiccup-carbon-icons/src/distribute-vertical-center.ts +++ b/packages/hiccup-carbon-icons/src/distribute-vertical-center.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DISTRIBUTE_VERTICAL_CENTER */ // prettier-ignore -export const DISTRIBUTE_VERTICAL_CENTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 21h-4v-1a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v1H2v2h4v1a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2v-1h4zm-6 3H8v-4l16-.001zM30 9h-8V8a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2v1H2v2h8v1a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2v-1h8zm-10 3h-8V8l8-.001z" }]]; +export const DISTRIBUTE_VERTICAL_CENTER = svg( + ["path", { d: "M30 21h-4v-1a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v1H2v2h4v1a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2v-1h4zm-6 3H8v-4l16-.001zM30 9h-8V8a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2v1H2v2h8v1a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2v-1h8zm-10 3h-8V8l8-.001z" }] +); diff --git a/packages/hiccup-carbon-icons/src/distribute-vertical-top.ts b/packages/hiccup-carbon-icons/src/distribute-vertical-top.ts index 2371a754c1..5743de7b09 100644 --- a/packages/hiccup-carbon-icons/src/distribute-vertical-top.ts +++ b/packages/hiccup-carbon-icons/src/distribute-vertical-top.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DISTRIBUTE_VERTICAL_TOP */ // prettier-ignore -export const DISTRIBUTE_VERTICAL_TOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 30H8a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM8 24v4h16v-4zM2 18h28v2H2zM20 14h-8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h8a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-8-6v4h8V8zM2 2h28v2H2z" }]]; +export const DISTRIBUTE_VERTICAL_TOP = svg( + ["path", { d: "M24 30H8a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM8 24v4h16v-4zM2 18h28v2H2zM20 14h-8a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h8a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-8-6v4h8V8zM2 2h28v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/doc.ts b/packages/hiccup-carbon-icons/src/doc.ts index a998f031be..d1be297165 100644 --- a/packages/hiccup-carbon-icons/src/doc.ts +++ b/packages/hiccup-carbon-icons/src/doc.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOC */ // prettier-ignore -export const DOC: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 23h-6a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h6v2h-6v10h6zM18 23h-4a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v10a2.002 2.002 0 01-2 2zm-4-12v10h4V11zM6 23H2V9h4a4.005 4.005 0 014 4v6a4.005 4.005 0 01-4 4zm-2-2h2a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2H4z" }]]; +export const DOC = svg( + ["path", { d: "M30 23h-6a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h6v2h-6v10h6zM18 23h-4a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v10a2.002 2.002 0 01-2 2zm-4-12v10h4V11zM6 23H2V9h4a4.005 4.005 0 014 4v6a4.005 4.005 0 01-4 4zm-2-2h2a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-add.ts b/packages/hiccup-carbon-icons/src/document-add.ts index e15ff8ea74..d72b6c9d0d 100644 --- a/packages/hiccup-carbon-icons/src/document-add.ts +++ b/packages/hiccup-carbon-icons/src/document-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_ADD */ // prettier-ignore -export const DOCUMENT_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.7 9.3l-7-7A.91.91 0 0018 2H8a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2V10a.91.91 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2 2 0 002 2h6z" }], - ["path", { d: "M21 19h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2z" }]]; +export const DOCUMENT_ADD = svg( + ["path", { d: "M25.7 9.3l-7-7A.91.91 0 0018 2H8a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2V10a.91.91 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2 2 0 002 2h6z" }], + ["path", { d: "M21 19h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-blank.ts b/packages/hiccup-carbon-icons/src/document-blank.ts index c379f805b3..ef9eb6d09c 100644 --- a/packages/hiccup-carbon-icons/src/document-blank.ts +++ b/packages/hiccup-carbon-icons/src/document-blank.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_BLANK */ // prettier-ignore -export const DOCUMENT_BLANK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.7 9.3l-7-7A.908.908 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h16a2.006 2.006 0 002-2V10a.908.908 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2.006 2.006 0 002 2h6z" }]]; +export const DOCUMENT_BLANK = svg( + ["path", { d: "M25.7 9.3l-7-7A.908.908 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h16a2.006 2.006 0 002-2V10a.908.908 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2.006 2.006 0 002 2h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-download.ts b/packages/hiccup-carbon-icons/src/document-download.ts index f2618c2923..aca8da5f8e 100644 --- a/packages/hiccup-carbon-icons/src/document-download.ts +++ b/packages/hiccup-carbon-icons/src/document-download.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_DOWNLOAD */ // prettier-ignore -export const DOCUMENT_DOWNLOAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 25l-1.414-1.414L26 26.172V18h-2v8.172l-2.586-2.586L20 25l5 5 5-5z" }], - ["path", { d: "M18 28H8V4h8v6a2.006 2.006 0 002 2h6v3h2v-5a.91.91 0 00-.3-.7l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h10zm0-23.6l5.6 5.6H18z" }]]; +export const DOCUMENT_DOWNLOAD = svg( + ["path", { d: "M30 25l-1.414-1.414L26 26.172V18h-2v8.172l-2.586-2.586L20 25l5 5 5-5z" }], + ["path", { d: "M18 28H8V4h8v6a2.006 2.006 0 002 2h6v3h2v-5a.91.91 0 00-.3-.7l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h10zm0-23.6l5.6 5.6H18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-export.ts b/packages/hiccup-carbon-icons/src/document-export.ts index 238c56405d..1b86426487 100644 --- a/packages/hiccup-carbon-icons/src/document-export.ts +++ b/packages/hiccup-carbon-icons/src/document-export.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_EXPORT */ // prettier-ignore -export const DOCUMENT_EXPORT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 21h13.17l-2.58 2.59L25 25l5-5-5-5-1.41 1.41L26.17 19H13v2z" }], - ["path", { d: "M22 14v-4a1 1 0 00-.29-.71l-7-7A1 1 0 0014 2H4a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2v-2h-2v2H4V4h8v6a2 2 0 002 2h6v2zm-8-4V4.41L19.59 10z" }]]; +export const DOCUMENT_EXPORT = svg( + ["path", { d: "M13 21h13.17l-2.58 2.59L25 25l5-5-5-5-1.41 1.41L26.17 19H13v2z" }], + ["path", { d: "M22 14v-4a1 1 0 00-.29-.71l-7-7A1 1 0 0014 2H4a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2v-2h-2v2H4V4h8v6a2 2 0 002 2h6v2zm-8-4V4.41L19.59 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-import.ts b/packages/hiccup-carbon-icons/src/document-import.ts index 4be1d060ae..6343690613 100644 --- a/packages/hiccup-carbon-icons/src/document-import.ts +++ b/packages/hiccup-carbon-icons/src/document-import.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_IMPORT */ // prettier-ignore -export const DOCUMENT_IMPORT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 19H14.83l2.58-2.59L16 15l-5 5 5 5 1.41-1.41L14.83 21H28v-2z" }], - ["path", { d: "M24 14v-4a1 1 0 00-.29-.71l-7-7A1 1 0 0016 2H6a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2v-2h-2v2H6V4h8v6a2 2 0 002 2h6v2zm-8-4V4.41L21.59 10z" }]]; +export const DOCUMENT_IMPORT = svg( + ["path", { d: "M28 19H14.83l2.58-2.59L16 15l-5 5 5 5 1.41-1.41L14.83 21H28v-2z" }], + ["path", { d: "M24 14v-4a1 1 0 00-.29-.71l-7-7A1 1 0 0016 2H6a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2v-2h-2v2H6V4h8v6a2 2 0 002 2h6v2zm-8-4V4.41L21.59 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-pdf.ts b/packages/hiccup-carbon-icons/src/document-pdf.ts index 54034c1210..bf620cfe61 100644 --- a/packages/hiccup-carbon-icons/src/document-pdf.ts +++ b/packages/hiccup-carbon-icons/src/document-pdf.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_PDF */ // prettier-ignore -export const DOCUMENT_PDF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 18v-2h-6v10h2v-4h3v-2h-3v-2h4zM19 26h-4V16h4a3.003 3.003 0 013 3v4a3.003 3.003 0 01-3 3zm-2-2h2a1.001 1.001 0 001-1v-4a1.001 1.001 0 00-1-1h-2zM11 16H6v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3z" }], - ["path", { d: "M22 14v-4a.91.91 0 00-.3-.7l-7-7A.909.909 0 0014 2H4a2.006 2.006 0 00-2 2v24a2 2 0 002 2h16v-2H4V4h8v6a2.006 2.006 0 002 2h6v2zm-8-4V4.4l5.6 5.6z" }]]; +export const DOCUMENT_PDF = svg( + ["path", { d: "M30 18v-2h-6v10h2v-4h3v-2h-3v-2h4zM19 26h-4V16h4a3.003 3.003 0 013 3v4a3.003 3.003 0 01-3 3zm-2-2h2a1.001 1.001 0 001-1v-4a1.001 1.001 0 00-1-1h-2zM11 16H6v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3z" }], + ["path", { d: "M22 14v-4a.91.91 0 00-.3-.7l-7-7A.909.909 0 0014 2H4a2.006 2.006 0 00-2 2v24a2 2 0 002 2h16v-2H4V4h8v6a2.006 2.006 0 002 2h6v2zm-8-4V4.4l5.6 5.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-sentiment.ts b/packages/hiccup-carbon-icons/src/document-sentiment.ts index ff1fe00b58..7482054777 100644 --- a/packages/hiccup-carbon-icons/src/document-sentiment.ts +++ b/packages/hiccup-carbon-icons/src/document-sentiment.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_SENTIMENT */ // prettier-ignore -export const DOCUMENT_SENTIMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18.303 16a2.662 2.662 0 00-1.908.806l-.393.405-.397-.405a2.662 2.662 0 00-3.816 0 2.8 2.8 0 000 3.896L16.002 25l4.209-4.298a2.8 2.8 0 000-3.896A2.662 2.662 0 0018.303 16z" }], - ["path", { d: "M25.7 9.3l-7-7A.908.908 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h16a2.006 2.006 0 002-2V10a.908.908 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2.006 2.006 0 002 2h6z" }]]; +export const DOCUMENT_SENTIMENT = svg( + ["path", { d: "M18.303 16a2.662 2.662 0 00-1.908.806l-.393.405-.397-.405a2.662 2.662 0 00-3.816 0 2.8 2.8 0 000 3.896L16.002 25l4.209-4.298a2.8 2.8 0 000-3.896A2.662 2.662 0 0018.303 16z" }], + ["path", { d: "M25.7 9.3l-7-7A.908.908 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h16a2.006 2.006 0 002-2V10a.908.908 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2.006 2.006 0 002 2h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-subtract.ts b/packages/hiccup-carbon-icons/src/document-subtract.ts index ce4ef0c5a1..05f0b10ae0 100644 --- a/packages/hiccup-carbon-icons/src/document-subtract.ts +++ b/packages/hiccup-carbon-icons/src/document-subtract.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_SUBTRACT */ // prettier-ignore -export const DOCUMENT_SUBTRACT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.7 9.3l-7-7A.91.91 0 0018 2H8a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2V10a.91.91 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2 2 0 002 2h6z" }], - ["path", { d: "M11 19h10v2H11z" }]]; +export const DOCUMENT_SUBTRACT = svg( + ["path", { d: "M25.7 9.3l-7-7A.91.91 0 0018 2H8a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2V10a.91.91 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2 2 0 002 2h6z" }], + ["path", { d: "M11 19h10v2H11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-tasks.ts b/packages/hiccup-carbon-icons/src/document-tasks.ts index ccd3d627f4..4814bb4f29 100644 --- a/packages/hiccup-carbon-icons/src/document-tasks.ts +++ b/packages/hiccup-carbon-icons/src/document-tasks.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_TASKS */ // prettier-ignore -export const DOCUMENT_TASKS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.7 9.3l-7-7A.91.91 0 0018 2H8a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2V10a.91.91 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2 2 0 002 2h6z" }], - ["path", { d: "M14 22.18l-2.59-2.59L10 21l4 4 8-8-1.41-1.41L14 22.18z" }]]; +export const DOCUMENT_TASKS = svg( + ["path", { d: "M25.7 9.3l-7-7A.91.91 0 0018 2H8a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2V10a.91.91 0 00-.3-.7zM18 4.4l5.6 5.6H18zM24 28H8V4h8v6a2 2 0 002 2h6z" }], + ["path", { d: "M14 22.18l-2.59-2.59L10 21l4 4 8-8-1.41-1.41L14 22.18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-unknown.ts b/packages/hiccup-carbon-icons/src/document-unknown.ts index 64f12acfd5..3b9243e4f1 100644 --- a/packages/hiccup-carbon-icons/src/document-unknown.ts +++ b/packages/hiccup-carbon-icons/src/document-unknown.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_UNKNOWN */ // prettier-ignore -export const DOCUMENT_UNKNOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.5, - cy: 28.5, - cx: 9, - }], - ["path", { d: "M10 25H8v-4h2a2 2 0 000-4H8a2.002 2.002 0 00-2 2v.5H4V19a4.005 4.005 0 014-4h2a4 4 0 010 8z" }], - ["path", { d: "M27.7 9.3l-7-7A.908.908 0 0020 2H10a2.006 2.006 0 00-2 2v8h2V4h8v6a2.006 2.006 0 002 2h6v16H14v2h12a2.006 2.006 0 002-2V10a.91.91 0 00-.3-.7zM20 10V4.4l5.6 5.6z" }]]; +export const DOCUMENT_UNKNOWN = svg( + ["circle", + { + r: 1.5, + cy: 28.5, + cx: 9, + }], + ["path", { d: "M10 25H8v-4h2a2 2 0 000-4H8a2.002 2.002 0 00-2 2v.5H4V19a4.005 4.005 0 014-4h2a4 4 0 010 8z" }], + ["path", { d: "M27.7 9.3l-7-7A.908.908 0 0020 2H10a2.006 2.006 0 00-2 2v8h2V4h8v6a2.006 2.006 0 002 2h6v16H14v2h12a2.006 2.006 0 002-2V10a.91.91 0 00-.3-.7zM20 10V4.4l5.6 5.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-view.ts b/packages/hiccup-carbon-icons/src/document-view.ts index f342972b0e..63de2e3954 100644 --- a/packages/hiccup-carbon-icons/src/document-view.ts +++ b/packages/hiccup-carbon-icons/src/document-view.ts @@ -1,15 +1,17 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_VIEW */ // prettier-ignore -export const DOCUMENT_VIEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 24, - cx: 22, - }], - ["path", { d: "M22 28a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.003 2.003 0 00-2-2z" }], - ["path", { d: "M29.777 23.479A8.64 8.64 0 0022 18a8.64 8.64 0 00-7.777 5.479L14 24l.223.521A8.64 8.64 0 0022 30a8.64 8.64 0 007.777-5.479L30 24zM22 28a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], - ["path", { d: "M12 28H8V4h8v6a2.006 2.006 0 002 2h6v4h2v-6a.91.91 0 00-.3-.7l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h4zm6-23.6l5.6 5.6H18z" }]]; +export const DOCUMENT_VIEW = svg( + ["circle", + { + r: 2, + cy: 24, + cx: 22, + }], + ["path", { d: "M22 28a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.003 2.003 0 00-2-2z" }], + ["path", { d: "M29.777 23.479A8.64 8.64 0 0022 18a8.64 8.64 0 00-7.777 5.479L14 24l.223.521A8.64 8.64 0 0022 30a8.64 8.64 0 007.777-5.479L30 24zM22 28a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], + ["path", { d: "M12 28H8V4h8v6a2.006 2.006 0 002 2h6v4h2v-6a.91.91 0 00-.3-.7l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h4zm6-23.6l5.6 5.6H18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-word-processor-reference.ts b/packages/hiccup-carbon-icons/src/document-word-processor-reference.ts index 019795d7e3..2eb0464645 100644 --- a/packages/hiccup-carbon-icons/src/document-word-processor-reference.ts +++ b/packages/hiccup-carbon-icons/src/document-word-processor-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_WORD_PROCESSOR_REFERENCE */ // prettier-ignore -export const DOCUMENT_WORD_PROCESSOR_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.3 20l-.909 8.611L26 20h-2l-1.391 8.611L21.7 20H20l1.36 10h2.28L25 21.626 26.36 30h2.28L30 20h-1.7zM4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM25.707 9.293l-7-7A1 1 0 0018 2H8a2.002 2.002 0 00-2 2v12h2V4h8v6a2.002 2.002 0 002 2h6v4h2v-6a1 1 0 00-.293-.707zM18 10V4.414L23.586 10z" }]]; +export const DOCUMENT_WORD_PROCESSOR_REFERENCE = svg( + ["path", { d: "M28.3 20l-.909 8.611L26 20h-2l-1.391 8.611L21.7 20H20l1.36 10h2.28L25 21.626 26.36 30h2.28L30 20h-1.7zM4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM25.707 9.293l-7-7A1 1 0 0018 2H8a2.002 2.002 0 00-2 2v12h2V4h8v6a2.002 2.002 0 002 2h6v4h2v-6a1 1 0 00-.293-.707zM18 10V4.414L23.586 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document-word-processor.ts b/packages/hiccup-carbon-icons/src/document-word-processor.ts index 7f0536ea39..49a371e601 100644 --- a/packages/hiccup-carbon-icons/src/document-word-processor.ts +++ b/packages/hiccup-carbon-icons/src/document-word-processor.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT_WORD_PROCESSOR */ // prettier-ignore -export const DOCUMENT_WORD_PROCESSOR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.3 20l-.909 8.611L26 20h-2l-1.391 8.611L21.7 20H20l1.36 10h2.28L25 21.626 26.36 30h2.28L30 20h-1.7z" }], - ["path", { d: "M25.707 9.293l-7-7A1 1 0 0018 2H8a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h8v-2H8V4h8v6a2.002 2.002 0 002 2h6v4h2v-6a1 1 0 00-.293-.707zM18 4.414L23.586 10H18z" }]]; +export const DOCUMENT_WORD_PROCESSOR = svg( + ["path", { d: "M28.3 20l-.909 8.611L26 20h-2l-1.391 8.611L21.7 20H20l1.36 10h2.28L25 21.626 26.36 30h2.28L30 20h-1.7z" }], + ["path", { d: "M25.707 9.293l-7-7A1 1 0 0018 2H8a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h8v-2H8V4h8v6a2.002 2.002 0 002 2h6v4h2v-6a1 1 0 00-.293-.707zM18 4.414L23.586 10H18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/document.ts b/packages/hiccup-carbon-icons/src/document.ts index 8249b3e3e5..48047f16f7 100644 --- a/packages/hiccup-carbon-icons/src/document.ts +++ b/packages/hiccup-carbon-icons/src/document.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOCUMENT */ // prettier-ignore -export const DOCUMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.7 9.3l-7-7c-.2-.2-.4-.3-.7-.3H8c-1.1 0-2 .9-2 2v24c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V10c0-.3-.1-.5-.3-.7zM18 4.4l5.6 5.6H18V4.4zM24 28H8V4h8v6c0 1.1.9 2 2 2h6v16z" }], - ["path", { d: "M10 22h12v2H10zM10 16h12v2H10z" }]]; +export const DOCUMENT = svg( + ["path", { d: "M25.7 9.3l-7-7c-.2-.2-.4-.3-.7-.3H8c-1.1 0-2 .9-2 2v24c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V10c0-.3-.1-.5-.3-.7zM18 4.4l5.6 5.6H18V4.4zM24 28H8V4h8v6c0 1.1.9 2 2 2h6v16z" }], + ["path", { d: "M10 22h12v2H10zM10 16h12v2H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/dot-mark.ts b/packages/hiccup-carbon-icons/src/dot-mark.ts index a28f3d8426..868c755bef 100644 --- a/packages/hiccup-carbon-icons/src/dot-mark.ts +++ b/packages/hiccup-carbon-icons/src/dot-mark.ts @@ -1,12 +1,14 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOT_MARK */ // prettier-ignore -export const DOT_MARK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 8, - cy: 16, - cx: 16, - }]]; +export const DOT_MARK = svg( + ["circle", + { + r: 8, + cy: 16, + cx: 16, + }] +); diff --git a/packages/hiccup-carbon-icons/src/double-integer.ts b/packages/hiccup-carbon-icons/src/double-integer.ts index c5fcf7a3ba..822db937b1 100644 --- a/packages/hiccup-carbon-icons/src/double-integer.ts +++ b/packages/hiccup-carbon-icons/src/double-integer.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOUBLE_INTEGER */ // prettier-ignore -export const DOUBLE_INTEGER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 8V6h-4V2h-2v4H8V2H6v4H2v2h4v3H2v2h4v4h2v-4h3v4h2v-4h4v-2h-4V8zm-6 3H8V8h3zM30 21v-2h-4v-4h-2v4h-3v-4h-2v4h-4v2h4v3h-4v2h4v4h2v-4h3v4h2v-4h4v-2h-4v-3zm-6 3h-3v-3h3z" }]]; +export const DOUBLE_INTEGER = svg( + ["path", { d: "M17 8V6h-4V2h-2v4H8V2H6v4H2v2h4v3H2v2h4v4h2v-4h3v4h2v-4h4v-2h-4V8zm-6 3H8V8h3zM30 21v-2h-4v-4h-2v4h-3v-4h-2v4h-4v2h4v3h-4v2h4v4h2v-4h3v4h2v-4h4v-2h-4v-3zm-6 3h-3v-3h3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/down-to-bottom.ts b/packages/hiccup-carbon-icons/src/down-to-bottom.ts index 180961dc89..7b555b93f2 100644 --- a/packages/hiccup-carbon-icons/src/down-to-bottom.ts +++ b/packages/hiccup-carbon-icons/src/down-to-bottom.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOWN_TO_BOTTOM */ // prettier-ignore -export const DOWN_TO_BOTTOM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 18L6 8l1.4-1.4 8.6 8.6 8.6-8.6L26 8zM4 22h24v2H4z" }]]; +export const DOWN_TO_BOTTOM = svg( + ["path", { d: "M16 18L6 8l1.4-1.4 8.6 8.6 8.6-8.6L26 8zM4 22h24v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/download.ts b/packages/hiccup-carbon-icons/src/download.ts index 5d3d58495d..d052ed387e 100644 --- a/packages/hiccup-carbon-icons/src/download.ts +++ b/packages/hiccup-carbon-icons/src/download.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DOWNLOAD */ // prettier-ignore -export const DOWNLOAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 15l-1.41-1.41L17 21.17V2h-2v19.17l-7.59-7.58L6 15l10 10 10-10z" }], - ["path", { d: "M26 24v4H6v-4H4v4a2 2 0 002 2h20a2 2 0 002-2v-4z" }]]; +export const DOWNLOAD = svg( + ["path", { d: "M26 15l-1.41-1.41L17 21.17V2h-2v19.17l-7.59-7.58L6 15l10 10 10-10z" }], + ["path", { d: "M26 24v4H6v-4H4v4a2 2 0 002 2h20a2 2 0 002-2v-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/drag-horizontal.ts b/packages/hiccup-carbon-icons/src/drag-horizontal.ts index 0d5e34ebe7..51349768b4 100644 --- a/packages/hiccup-carbon-icons/src/drag-horizontal.ts +++ b/packages/hiccup-carbon-icons/src/drag-horizontal.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DRAG_HORIZONTAL */ // prettier-ignore -export const DRAG_HORIZONTAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 4v11H5.83l2.58-2.59L7 11l-5 5 5 5 1.41-1.41L5.83 17H12v11h2V4h-2zM25 11l-1.41 1.41L26.17 15H20V4h-2v24h2V17h6.17l-2.58 2.59L25 21l5-5-5-5z" }]]; +export const DRAG_HORIZONTAL = svg( + ["path", { d: "M12 4v11H5.83l2.58-2.59L7 11l-5 5 5 5 1.41-1.41L5.83 17H12v11h2V4h-2zM25 11l-1.41 1.41L26.17 15H20V4h-2v24h2V17h6.17l-2.58 2.59L25 21l5-5-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/drag-vertical.ts b/packages/hiccup-carbon-icons/src/drag-vertical.ts index 351d5d3dbc..e278588380 100644 --- a/packages/hiccup-carbon-icons/src/drag-vertical.ts +++ b/packages/hiccup-carbon-icons/src/drag-vertical.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DRAG_VERTICAL */ // prettier-ignore -export const DRAG_VERTICAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20h11v6.17l-2.59-2.58L11 25l5 5 5-5-1.41-1.41L17 26.17V20h11v-2H4v2zM11 7l1.41 1.41L15 5.83V12H4v2h24v-2H17V5.83l2.59 2.58L21 7l-5-5-5 5z" }]]; +export const DRAG_VERTICAL = svg( + ["path", { d: "M4 20h11v6.17l-2.59-2.58L11 25l5 5 5-5-1.41-1.41L17 26.17V20h11v-2H4v2zM11 7l1.41 1.41L15 5.83V12H4v2h24v-2H17V5.83l2.59 2.58L21 7l-5-5-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/draggable.ts b/packages/hiccup-carbon-icons/src/draggable.ts index 522a9ca894..afc8cbce54 100644 --- a/packages/hiccup-carbon-icons/src/draggable.ts +++ b/packages/hiccup-carbon-icons/src/draggable.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DRAGGABLE */ // prettier-ignore -export const DRAGGABLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 6h4v4h-4zM18 6h4v4h-4zM10 14h4v4h-4zM18 14h4v4h-4zM10 22h4v4h-4zM18 22h4v4h-4z" }]]; +export const DRAGGABLE = svg( + ["path", { d: "M10 6h4v4h-4zM18 6h4v4h-4zM10 14h4v4h-4zM18 14h4v4h-4zM10 22h4v4h-4zM18 22h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/draw.ts b/packages/hiccup-carbon-icons/src/draw.ts index 7306597802..9ff6d23c26 100644 --- a/packages/hiccup-carbon-icons/src/draw.ts +++ b/packages/hiccup-carbon-icons/src/draw.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DRAW */ // prettier-ignore -export const DRAW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19.14 28a3.42 3.42 0 01-2.42-5.85L21.86 17a1.42 1.42 0 10-2-2L13 21.85a3.5 3.5 0 01-4.85 0 3.43 3.43 0 010-4.84l8.58-8.58a1.42 1.42 0 10-2-2L6.41 14.7 5 13.3 13.29 5a3.43 3.43 0 014.84 4.85l-8.57 8.57a1.42 1.42 0 000 2 1.45 1.45 0 002 0l6.86-6.86a3.43 3.43 0 114.85 4.84l-5.15 5.15a1.42 1.42 0 002 2l4.44-4.43L26 22.56 21.56 27a3.38 3.38 0 01-2.42 1z" }]]; +export const DRAW = svg( + ["path", { d: "M19.14 28a3.42 3.42 0 01-2.42-5.85L21.86 17a1.42 1.42 0 10-2-2L13 21.85a3.5 3.5 0 01-4.85 0 3.43 3.43 0 010-4.84l8.58-8.58a1.42 1.42 0 10-2-2L6.41 14.7 5 13.3 13.29 5a3.43 3.43 0 014.84 4.85l-8.57 8.57a1.42 1.42 0 000 2 1.45 1.45 0 002 0l6.86-6.86a3.43 3.43 0 114.85 4.84l-5.15 5.15a1.42 1.42 0 002 2l4.44-4.43L26 22.56 21.56 27a3.38 3.38 0 01-2.42 1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/drop-photo-filled.ts b/packages/hiccup-carbon-icons/src/drop-photo-filled.ts index f1d7b5553e..d1dbc918a4 100644 --- a/packages/hiccup-carbon-icons/src/drop-photo-filled.ts +++ b/packages/hiccup-carbon-icons/src/drop-photo-filled.ts @@ -1,15 +1,17 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DROP_PHOTO_FILLED */ // prettier-ignore -export const DROP_PHOTO_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 22, - cx: 19, - }], - ["path", { d: "M27 16h-3.28l-.543-1.633A1.998 1.998 0 0021.279 13h-4.558a1.998 1.998 0 00-1.898 1.368L14.28 16H11a2.002 2.002 0 00-2 2v9a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2v-9a2.002 2.002 0 00-2-2zm-8 10a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], - ["path", { d: "M19 26a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], - ["path", { d: "M27 11h2v2h-2zM27 7h2v2h-2zM27 3h2v2h-2zM23 3h2v2h-2zM19 3h2v2h-2zM15 3h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3zM3 7h2v2H3zM3 11h2v2H3zM3 15h2v2H3zM3 19h2v2H3zM3 23h2v2H3zM3 27h2v2H3z" }]]; +export const DROP_PHOTO_FILLED = svg( + ["circle", + { + r: 2, + cy: 22, + cx: 19, + }], + ["path", { d: "M27 16h-3.28l-.543-1.633A1.998 1.998 0 0021.279 13h-4.558a1.998 1.998 0 00-1.898 1.368L14.28 16H11a2.002 2.002 0 00-2 2v9a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2v-9a2.002 2.002 0 00-2-2zm-8 10a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], + ["path", { d: "M19 26a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], + ["path", { d: "M27 11h2v2h-2zM27 7h2v2h-2zM27 3h2v2h-2zM23 3h2v2h-2zM19 3h2v2h-2zM15 3h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3zM3 7h2v2H3zM3 11h2v2H3zM3 15h2v2H3zM3 19h2v2H3zM3 23h2v2H3zM3 27h2v2H3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/drop-photo.ts b/packages/hiccup-carbon-icons/src/drop-photo.ts index 9d8f1b53b7..f878a679df 100644 --- a/packages/hiccup-carbon-icons/src/drop-photo.ts +++ b/packages/hiccup-carbon-icons/src/drop-photo.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DROP_PHOTO */ // prettier-ignore -export const DROP_PHOTO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 26a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], - ["path", { d: "M27 29H11a2 2 0 01-2-2v-9a2 2 0 012-2h3.28l.543-1.632A2 2 0 0116.721 13h4.558a2 2 0 011.898 1.368L23.72 16H27a2 2 0 012 2v9a2 2 0 01-2 2zm-16-2h16v-9h-4.72l-1-3h-4.56l-1 3H11zM27 11h2v2h-2zM27 7h2v2h-2zM27 3h2v2h-2zM23 3h2v2h-2zM19 3h2v2h-2zM15 3h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3zM3 7h2v2H3zM3 11h2v2H3zM3 15h2v2H3zM3 19h2v2H3zM3 23h2v2H3zM3 27h2v2H3z" }]]; +export const DROP_PHOTO = svg( + ["path", { d: "M19 26a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], + ["path", { d: "M27 29H11a2 2 0 01-2-2v-9a2 2 0 012-2h3.28l.543-1.632A2 2 0 0116.721 13h4.558a2 2 0 011.898 1.368L23.72 16H27a2 2 0 012 2v9a2 2 0 01-2 2zm-16-2h16v-9h-4.72l-1-3h-4.56l-1 3H11zM27 11h2v2h-2zM27 7h2v2h-2zM27 3h2v2h-2zM23 3h2v2h-2zM19 3h2v2h-2zM15 3h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3zM3 7h2v2H3zM3 11h2v2H3zM3 15h2v2H3zM3 19h2v2H3zM3 23h2v2H3zM3 27h2v2H3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/dvr.ts b/packages/hiccup-carbon-icons/src/dvr.ts index 3d410397dc..f44eceac78 100644 --- a/packages/hiccup-carbon-icons/src/dvr.ts +++ b/packages/hiccup-carbon-icons/src/dvr.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#DVR */ // prettier-ignore -export const DVR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 15v-4a2 2 0 00-2-2h-6v14h2v-6h1.48l2.34 6H30l-2.33-6H28a2 2 0 002-2zm-6-4h4v4h-4zM18 9l-2 13-2-13h-2l2.52 14h2.96L20 9h-2zM6 23H2V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2H4z" }]]; +export const DVR = svg( + ["path", { d: "M30 15v-4a2 2 0 00-2-2h-6v14h2v-6h1.48l2.34 6H30l-2.33-6H28a2 2 0 002-2zm-6-4h4v4h-4zM18 9l-2 13-2-13h-2l2.52 14h2.96L20 9h-2zM6 23H2V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth-americas-filled.ts b/packages/hiccup-carbon-icons/src/earth-americas-filled.ts index a844016cf6..3acebd7a4f 100644 --- a/packages/hiccup-carbon-icons/src/earth-americas-filled.ts +++ b/packages/hiccup-carbon-icons/src/earth-americas-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH_AMERICAS_FILLED */ // prettier-ignore -export const EARTH_AMERICAS_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4 16a11.915 11.915 0 01.7-4H10l5 4-2.8 3.693A1 1 0 0012.293 21L15 24v3.95A12.01 12.01 0 014 16zm17.435 10.685l2.546-7.7a1 1 0 00-.367-.985L15 11l2-2h5.28a1 1 0 00.948-.684l.495-1.486a11.974 11.974 0 01-2.288 19.855z" }]]; +export const EARTH_AMERICAS_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4 16a11.915 11.915 0 01.7-4H10l5 4-2.8 3.693A1 1 0 0012.293 21L15 24v3.95A12.01 12.01 0 014 16zm17.435 10.685l2.546-7.7a1 1 0 00-.367-.985L15 11l2-2h5.28a1 1 0 00.948-.684l.495-1.486a11.974 11.974 0 01-2.288 19.855z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth-americas.ts b/packages/hiccup-carbon-icons/src/earth-americas.ts index 579ab4b3de..caed70b1da 100644 --- a/packages/hiccup-carbon-icons/src/earth-americas.ts +++ b/packages/hiccup-carbon-icons/src/earth-americas.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH_AMERICAS */ // prettier-ignore -export const EARTH_AMERICAS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 16a14.031 14.031 0 10-7.14 12.191l.117.026.024-.111A13.998 13.998 0 0030 16zM4 16a11.937 11.937 0 01.395-3h4.243l4.992 4.16-1.91 2.546a2.009 2.009 0 00.186 2.614L14 24.414v3.405A12.01 12.01 0 014 16zm9.32 4.906l3.05-4.066L9.362 11H5.106a11.962 11.962 0 0117.778-4.814L22.279 8h-5.693l-3.043 3.043 9.354 8.313-1.649 7.419A11.903 11.903 0 0116 28v-4.414zm10.315 4.344l1.213-5.46a2 2 0 00-.623-1.927l-7.768-6.906.957-.957h4.865a1.998 1.998 0 001.898-1.368l.353-1.06a11.978 11.978 0 01-.895 17.678z" }]]; +export const EARTH_AMERICAS = svg( + ["path", { d: "M30 16a14.031 14.031 0 10-7.14 12.191l.117.026.024-.111A13.998 13.998 0 0030 16zM4 16a11.937 11.937 0 01.395-3h4.243l4.992 4.16-1.91 2.546a2.009 2.009 0 00.186 2.614L14 24.414v3.405A12.01 12.01 0 014 16zm9.32 4.906l3.05-4.066L9.362 11H5.106a11.962 11.962 0 0117.778-4.814L22.279 8h-5.693l-3.043 3.043 9.354 8.313-1.649 7.419A11.903 11.903 0 0116 28v-4.414zm10.315 4.344l1.213-5.46a2 2 0 00-.623-1.927l-7.768-6.906.957-.957h4.865a1.998 1.998 0 001.898-1.368l.353-1.06a11.978 11.978 0 01-.895 17.678z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth-europe-africa-filled.ts b/packages/hiccup-carbon-icons/src/earth-europe-africa-filled.ts index 083b9b0b04..edf551bf11 100644 --- a/packages/hiccup-carbon-icons/src/earth-europe-africa-filled.ts +++ b/packages/hiccup-carbon-icons/src/earth-europe-africa-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH_EUROPE_AFRICA_FILLED */ // prettier-ignore -export const EARTH_EUROPE_AFRICA_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4 16a11.981 11.981 0 015-9.727V9a1 1 0 001 1h3.382a1 1 0 00.894-.553L15 8h4v6h-5.764a1 1 0 00-.447.105l-3.236 1.619a1 1 0 00-.553.894v3.705a1 1 0 00.629.929L14 23l.824 4.94A12.015 12.015 0 014 16zm18 10.376V23l1.755-2.632a1.001 1.001 0 00.138-.797L23 16v-3h4.605A11.901 11.901 0 0122 26.376z" }]]; +export const EARTH_EUROPE_AFRICA_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4 16a11.981 11.981 0 015-9.727V9a1 1 0 001 1h3.382a1 1 0 00.894-.553L15 8h4v6h-5.764a1 1 0 00-.447.105l-3.236 1.619a1 1 0 00-.553.894v3.705a1 1 0 00.629.929L14 23l.824 4.94A12.015 12.015 0 014 16zm18 10.376V23l1.755-2.632a1.001 1.001 0 00.138-.797L23 16v-3h4.605A11.901 11.901 0 0122 26.376z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth-europe-africa.ts b/packages/hiccup-carbon-icons/src/earth-europe-africa.ts index 9005e13163..a1ce2a4a80 100644 --- a/packages/hiccup-carbon-icons/src/earth-europe-africa.ts +++ b/packages/hiccup-carbon-icons/src/earth-europe-africa.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH_EUROPE_AFRICA */ // prettier-ignore -export const EARTH_EUROPE_AFRICA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4 16a11.96 11.96 0 014-8.919V9a2 2 0 002 2h3.382a2 2 0 001.79-1.106L15.617 9H18v4h-4.765a2 2 0 00-.893.21l-3.237 1.62A2 2 0 008 16.617v3.705a2 2 0 001.257 1.857l3.849 1.54.678 4.066A12.014 12.014 0 014 16zm11.846 11.992l-.952-5.712L10 20.323v-3.705L13.236 15H20V7h-5.618l-1 2H10V5.623A11.958 11.958 0 0127.3 12H22v4l.922 3.813L21 22.698v4.197A11.908 11.908 0 0116 28c-.052 0-.102-.007-.154-.008zM23 25.727v-2.424l1.586-2.38a2.003 2.003 0 00.277-1.595L24 15.877V14h3.82A11.84 11.84 0 0123 25.727z" }]]; +export const EARTH_EUROPE_AFRICA = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4 16a11.96 11.96 0 014-8.919V9a2 2 0 002 2h3.382a2 2 0 001.79-1.106L15.617 9H18v4h-4.765a2 2 0 00-.893.21l-3.237 1.62A2 2 0 008 16.617v3.705a2 2 0 001.257 1.857l3.849 1.54.678 4.066A12.014 12.014 0 014 16zm11.846 11.992l-.952-5.712L10 20.323v-3.705L13.236 15H20V7h-5.618l-1 2H10V5.623A11.958 11.958 0 0127.3 12H22v4l.922 3.813L21 22.698v4.197A11.908 11.908 0 0116 28c-.052 0-.102-.007-.154-.008zM23 25.727v-2.424l1.586-2.38a2.003 2.003 0 00.277-1.595L24 15.877V14h3.82A11.84 11.84 0 0123 25.727z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth-filled.ts b/packages/hiccup-carbon-icons/src/earth-filled.ts index c4d2693cb1..24452016d8 100644 --- a/packages/hiccup-carbon-icons/src/earth-filled.ts +++ b/packages/hiccup-carbon-icons/src/earth-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH_FILLED */ // prettier-ignore -export const EARTH_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4.02 16.394l1.338.446L7 19.303v1.283a1 1 0 00.293.707L10 24v2.377a11.994 11.994 0 01-5.98-9.983zM16 28a11.968 11.968 0 01-2.572-.285L14 26l1.805-4.512a1 1 0 00-.097-.926l-1.411-2.117a1 1 0 00-.832-.445h-4.93l-1.248-1.873L9.414 14H11v2h2v-2.734l3.868-6.77-1.736-.992L14.277 7h-2.742L10.45 5.371A11.861 11.861 0 0120 4.7V8a1 1 0 001 1h1.465a1 1 0 00.832-.445l.877-1.316A12.033 12.033 0 0126.894 11H22.82a1 1 0 00-.98.804l-.723 4.47a1 1 0 00.54 1.055L25 19l.685 4.056A11.98 11.98 0 0116 28z" }]]; +export const EARTH_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4.02 16.394l1.338.446L7 19.303v1.283a1 1 0 00.293.707L10 24v2.377a11.994 11.994 0 01-5.98-9.983zM16 28a11.968 11.968 0 01-2.572-.285L14 26l1.805-4.512a1 1 0 00-.097-.926l-1.411-2.117a1 1 0 00-.832-.445h-4.93l-1.248-1.873L9.414 14H11v2h2v-2.734l3.868-6.77-1.736-.992L14.277 7h-2.742L10.45 5.371A11.861 11.861 0 0120 4.7V8a1 1 0 001 1h1.465a1 1 0 00.832-.445l.877-1.316A12.033 12.033 0 0126.894 11H22.82a1 1 0 00-.98.804l-.723 4.47a1 1 0 00.54 1.055L25 19l.685 4.056A11.98 11.98 0 0116 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth-southeast-asia-filled.ts b/packages/hiccup-carbon-icons/src/earth-southeast-asia-filled.ts index 9b06320111..7b0c164e81 100644 --- a/packages/hiccup-carbon-icons/src/earth-southeast-asia-filled.ts +++ b/packages/hiccup-carbon-icons/src/earth-southeast-asia-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH_SOUTHEAST_ASIA_FILLED */ // prettier-ignore -export const EARTH_SOUTHEAST_ASIA_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 22h2v2h-2zM17 18h2v2h-2zM14 24h3v2h-3z" }], - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4.7 20H6l4.177 2.6a1 1 0 001.36-.294l1.008-1.512a1 1 0 00-.125-1.261L10 17.112 11 14h5.323a1 1 0 00.928-.628l1.582-3.955a1 1 0 00-.034-.819l-2.286-4.572A11.965 11.965 0 0126.376 22H23a1 1 0 00-1 1v3.377A11.958 11.958 0 014.7 20z" }]]; +export const EARTH_SOUTHEAST_ASIA_FILLED = svg( + ["path", { d: "M17 22h2v2h-2zM17 18h2v2h-2zM14 24h3v2h-3z" }], + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zM4.7 20H6l4.177 2.6a1 1 0 001.36-.294l1.008-1.512a1 1 0 00-.125-1.261L10 17.112 11 14h5.323a1 1 0 00.928-.628l1.582-3.955a1 1 0 00-.034-.819l-2.286-4.572A11.965 11.965 0 0126.376 22H23a1 1 0 00-1 1v3.377A11.958 11.958 0 014.7 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth-southeast-asia.ts b/packages/hiccup-carbon-icons/src/earth-southeast-asia.ts index 36e690e3fe..08b2f222b0 100644 --- a/packages/hiccup-carbon-icons/src/earth-southeast-asia.ts +++ b/packages/hiccup-carbon-icons/src/earth-southeast-asia.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH_SOUTHEAST_ASIA */ // prettier-ignore -export const EARTH_SOUTHEAST_ASIA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 24h3v2h-3zM17 22h2v2h-2zM17 18h2v2h-2z" }], - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm-.603 2.03l2.507 5.016L16.323 13H10.27l-1.41 4.387 2.852 2.852-1.007 1.512L6.286 19H4.395A11.936 11.936 0 0115.397 4.03zM5.106 21h.608l3.935 2.449a1.991 1.991 0 002.721-.589l1.008-1.512a2.005 2.005 0 00-.25-2.523l-1.989-1.989.59-1.836h4.594a1.99 1.99 0 001.857-1.257l1.581-3.953a2.002 2.002 0 00-.067-1.638l-2.01-4.02A11.96 11.96 0 0126.894 21H23a2.002 2.002 0 00-2 2v3.894A11.948 11.948 0 015.105 21zM23 25.727V23h2.727A12.076 12.076 0 0123 25.727z" }]]; +export const EARTH_SOUTHEAST_ASIA = svg( + ["path", { d: "M14 24h3v2h-3zM17 22h2v2h-2zM17 18h2v2h-2z" }], + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm-.603 2.03l2.507 5.016L16.323 13H10.27l-1.41 4.387 2.852 2.852-1.007 1.512L6.286 19H4.395A11.936 11.936 0 0115.397 4.03zM5.106 21h.608l3.935 2.449a1.991 1.991 0 002.721-.589l1.008-1.512a2.005 2.005 0 00-.25-2.523l-1.989-1.989.59-1.836h4.594a1.99 1.99 0 001.857-1.257l1.581-3.953a2.002 2.002 0 00-.067-1.638l-2.01-4.02A11.96 11.96 0 0126.894 21H23a2.002 2.002 0 00-2 2v3.894A11.948 11.948 0 015.105 21zM23 25.727V23h2.727A12.076 12.076 0 0123 25.727z" }] +); diff --git a/packages/hiccup-carbon-icons/src/earth.ts b/packages/hiccup-carbon-icons/src/earth.ts index fd6ffc7416..7fddc7080b 100644 --- a/packages/hiccup-carbon-icons/src/earth.ts +++ b/packages/hiccup-carbon-icons/src/earth.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EARTH */ // prettier-ignore -export const EARTH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm5 3.106a12.014 12.014 0 012.916 1.899L23.503 8H21zm-7.622 22.597A11.976 11.976 0 018.116 6.976L9.465 9h3.342l-1.5 4H7.28l-1.382 4.148L8.465 21h5l1.432 2.147zM16 28c-.203 0-.402-.02-.603-.03l1.397-4.19a1.988 1.988 0 00-.233-1.741l-1.432-2.148A1.996 1.996 0 0013.465 19h-3.93l-1.432-2.148L8.721 15H11v2h2v-2.819l2.936-7.83-1.872-.702L13.557 7h-3.022l-.807-1.21A11.794 11.794 0 0119 4.394V8a2.002 2.002 0 002 2h2.586A1.986 1.986 0 0025 9.414l.14-.14.282-.68A11.981 11.981 0 0127.3 12h-4.701a1.993 1.993 0 00-1.972 1.665l-.597 3.441a1.99 1.99 0 00.991 2.086l2.165 1.464 1.458 3.646A11.958 11.958 0 0116 28zm8.815-8.656L22.1 17.509l-.1-.06.599-3.449h5.22a11.743 11.743 0 01-1.744 8.495z" }]]; +export const EARTH = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm5 3.106a12.014 12.014 0 012.916 1.899L23.503 8H21zm-7.622 22.597A11.976 11.976 0 018.116 6.976L9.465 9h3.342l-1.5 4H7.28l-1.382 4.148L8.465 21h5l1.432 2.147zM16 28c-.203 0-.402-.02-.603-.03l1.397-4.19a1.988 1.988 0 00-.233-1.741l-1.432-2.148A1.996 1.996 0 0013.465 19h-3.93l-1.432-2.148L8.721 15H11v2h2v-2.819l2.936-7.83-1.872-.702L13.557 7h-3.022l-.807-1.21A11.794 11.794 0 0119 4.394V8a2.002 2.002 0 002 2h2.586A1.986 1.986 0 0025 9.414l.14-.14.282-.68A11.981 11.981 0 0127.3 12h-4.701a1.993 1.993 0 00-1.972 1.665l-.597 3.441a1.99 1.99 0 00.991 2.086l2.165 1.464 1.458 3.646A11.958 11.958 0 0116 28zm8.815-8.656L22.1 17.509l-.1-.06.599-3.449h5.22a11.743 11.743 0 01-1.744 8.495z" }] +); diff --git a/packages/hiccup-carbon-icons/src/edit-off.ts b/packages/hiccup-carbon-icons/src/edit-off.ts index c50f318af2..44f9e38b1d 100644 --- a/packages/hiccup-carbon-icons/src/edit-off.ts +++ b/packages/hiccup-carbon-icons/src/edit-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EDIT_OFF */ // prettier-ignore -export const EDIT_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 28.6L3.4 2 2 3.4l10.1 10.1L4 21.6V28h6.4l8.1-8.1L28.6 30l1.4-1.4zM9.6 26H6v-3.6l7.5-7.5 3.6 3.6L9.6 26zM29.4 6.2l-3.6-3.6c-.8-.8-2-.8-2.8 0l-8 8 1.4 1.4L20 8.4l3.6 3.6-3.6 3.6 1.4 1.4 8-8c.8-.8.8-2 0-2.8zM25 10.6L21.4 7l3-3L28 7.6l-3 3z" }]]; +export const EDIT_OFF = svg( + ["path", { d: "M30 28.6L3.4 2 2 3.4l10.1 10.1L4 21.6V28h6.4l8.1-8.1L28.6 30l1.4-1.4zM9.6 26H6v-3.6l7.5-7.5 3.6 3.6L9.6 26zM29.4 6.2l-3.6-3.6c-.8-.8-2-.8-2.8 0l-8 8 1.4 1.4L20 8.4l3.6 3.6-3.6 3.6 1.4 1.4 8-8c.8-.8.8-2 0-2.8zM25 10.6L21.4 7l3-3L28 7.6l-3 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/edit.ts b/packages/hiccup-carbon-icons/src/edit.ts index 78a2addda3..26fe90c39d 100644 --- a/packages/hiccup-carbon-icons/src/edit.ts +++ b/packages/hiccup-carbon-icons/src/edit.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EDIT */ // prettier-ignore -export const EDIT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 26h28v2H2zM25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10 3.6 3.6-10 10H6z" }]]; +export const EDIT = svg( + ["path", { d: "M2 26h28v2H2zM25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10 3.6 3.6-10 10H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/edt-loop.ts b/packages/hiccup-carbon-icons/src/edt-loop.ts index 9fc877302b..2c6f5c3258 100644 --- a/packages/hiccup-carbon-icons/src/edt-loop.ts +++ b/packages/hiccup-carbon-icons/src/edt-loop.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EDT_LOOP */ // prettier-ignore -export const EDT_LOOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.625 22.587a6.129 6.129 0 01-4.5-1.9l-3.1-3.2-3.1 3.2a6.458 6.458 0 01-9.1 0 7.028 7.028 0 01-1.8-4.7 6.655 6.655 0 011.9-4.7 6.338 6.338 0 019 0l3.1 3.2 3.1-3.2a6.338 6.338 0 019 0 6.828 6.828 0 010 9.4 6.542 6.542 0 01-4.5 1.9zm-6.2-6.6l3.1 3.3a4.406 4.406 0 006.2 0 4.908 4.908 0 000-6.6 4.406 4.406 0 00-6.2 0zm-9-4.6a4.158 4.158 0 00-3.1 1.3 4.838 4.838 0 000 6.6 4.406 4.406 0 006.2 0l3.1-3.3-3.1-3.3a4.77 4.77 0 00-3.1-1.3z" }]]; +export const EDT_LOOP = svg( + ["path", { d: "M23.625 22.587a6.129 6.129 0 01-4.5-1.9l-3.1-3.2-3.1 3.2a6.458 6.458 0 01-9.1 0 7.028 7.028 0 01-1.8-4.7 6.655 6.655 0 011.9-4.7 6.338 6.338 0 019 0l3.1 3.2 3.1-3.2a6.338 6.338 0 019 0 6.828 6.828 0 010 9.4 6.542 6.542 0 01-4.5 1.9zm-6.2-6.6l3.1 3.3a4.406 4.406 0 006.2 0 4.908 4.908 0 000-6.6 4.406 4.406 0 00-6.2 0zm-9-4.6a4.158 4.158 0 00-3.1 1.3 4.838 4.838 0 000 6.6 4.406 4.406 0 006.2 0l3.1-3.3-3.1-3.3a4.77 4.77 0 00-3.1-1.3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/education.ts b/packages/hiccup-carbon-icons/src/education.ts index dbb0ec773c..d5b368726c 100644 --- a/packages/hiccup-carbon-icons/src/education.ts +++ b/packages/hiccup-carbon-icons/src/education.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EDUCATION */ // prettier-ignore -export const EDUCATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 30h-2v-3a5.006 5.006 0 00-5-5h-6a5.006 5.006 0 00-5 5v3H6v-3a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM5 6a1 1 0 00-1 1v9h2V7a1 1 0 00-1-1z" }], - ["path", { d: "M4 2v2h5v7a7 7 0 0014 0V4h5V2zm7 2h10v3H11zm5 12a5 5 0 01-5-5V9h10v2a5 5 0 01-5 5z" }]]; +export const EDUCATION = svg( + ["path", { d: "M26 30h-2v-3a5.006 5.006 0 00-5-5h-6a5.006 5.006 0 00-5 5v3H6v-3a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM5 6a1 1 0 00-1 1v9h2V7a1 1 0 00-1-1z" }], + ["path", { d: "M4 2v2h5v7a7 7 0 0014 0V4h5V2zm7 2h10v3H11zm5 12a5 5 0 01-5-5V9h10v2a5 5 0 01-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/email-new.ts b/packages/hiccup-carbon-icons/src/email-new.ts index 5cf65b6201..00530cd8b0 100644 --- a/packages/hiccup-carbon-icons/src/email-new.ts +++ b/packages/hiccup-carbon-icons/src/email-new.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EMAIL_NEW */ // prettier-ignore -export const EMAIL_NEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 24H4L3.997 8.906l11.434 7.916a1 1 0 001.138 0L28 8.91V18h2V8a2.003 2.003 0 00-2-2H4a2.002 2.002 0 00-2 2v16a2.003 2.003 0 002 2h15zm6.799-16L16 14.784 6.201 8z" }], - ["circle", - { - r: 4, - cy: 24, - cx: 26, - }]]; +export const EMAIL_NEW = svg( + ["path", { d: "M19 24H4L3.997 8.906l11.434 7.916a1 1 0 001.138 0L28 8.91V18h2V8a2.003 2.003 0 00-2-2H4a2.002 2.002 0 00-2 2v16a2.003 2.003 0 002 2h15zm6.799-16L16 14.784 6.201 8z" }], + ["circle", + { + r: 4, + cy: 24, + cx: 26, + }] +); diff --git a/packages/hiccup-carbon-icons/src/email.ts b/packages/hiccup-carbon-icons/src/email.ts index 21403fe127..d8d8eba263 100644 --- a/packages/hiccup-carbon-icons/src/email.ts +++ b/packages/hiccup-carbon-icons/src/email.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EMAIL */ // prettier-ignore -export const EMAIL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zm-2.2 2L16 14.78 6.2 8zM4 24V8.91l11.43 7.91a1 1 0 001.14 0L28 8.91V24z" }]]; +export const EMAIL = svg( + ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zm-2.2 2L16 14.78 6.2 8zM4 24V8.91l11.43 7.91a1 1 0 001.14 0L28 8.91V24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/enterprise.ts b/packages/hiccup-carbon-icons/src/enterprise.ts index ae4d6357be..ccde73602e 100644 --- a/packages/hiccup-carbon-icons/src/enterprise.ts +++ b/packages/hiccup-carbon-icons/src/enterprise.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ENTERPRISE */ // prettier-ignore -export const ENTERPRISE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 8h2v4H8zM8 14h2v4H8zM14 8h2v4h-2zM14 14h2v4h-2zM8 20h2v4H8zM14 20h2v4h-2z" }], - ["path", { d: "M30 14a2 2 0 00-2-2h-6V4a2 2 0 00-2-2H4a2 2 0 00-2 2v26h28zM4 4h16v24H4zm18 24V14h6v14z" }]]; +export const ENTERPRISE = svg( + ["path", { d: "M8 8h2v4H8zM8 14h2v4H8zM14 8h2v4h-2zM14 14h2v4h-2zM8 20h2v4H8zM14 20h2v4h-2z" }], + ["path", { d: "M30 14a2 2 0 00-2-2h-6V4a2 2 0 00-2-2H4a2 2 0 00-2 2v26h28zM4 4h16v24H4zm18 24V14h6v14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/erase.ts b/packages/hiccup-carbon-icons/src/erase.ts index a625574984..934d2f5a8e 100644 --- a/packages/hiccup-carbon-icons/src/erase.ts +++ b/packages/hiccup-carbon-icons/src/erase.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ERASE */ // prettier-ignore -export const ERASE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7 27h23v2H7zM27.38 10.51l-7.93-7.92a2 2 0 00-2.83 0l-14 14a2 2 0 000 2.83L7.13 24h9.59l10.66-10.66a2 2 0 000-2.83zM15.89 22H8l-4-4 6.31-6.31 7.93 7.92zm3.76-3.76l-7.92-7.93L18 4l8 7.93z" }]]; +export const ERASE = svg( + ["path", { d: "M7 27h23v2H7zM27.38 10.51l-7.93-7.92a2 2 0 00-2.83 0l-14 14a2 2 0 000 2.83L7.13 24h9.59l10.66-10.66a2 2 0 000-2.83zM15.89 22H8l-4-4 6.31-6.31 7.93 7.92zm3.76-3.76l-7.92-7.93L18 4l8 7.93z" }] +); diff --git a/packages/hiccup-carbon-icons/src/error-filled.ts b/packages/hiccup-carbon-icons/src/error-filled.ts index 305f5f7799..9fe69fa953 100644 --- a/packages/hiccup-carbon-icons/src/error-filled.ts +++ b/packages/hiccup-carbon-icons/src/error-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ERROR_FILLED */ // prettier-ignore -export const ERROR_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm5.4 21L9 10.6 10.6 9 23 21.4 21.4 23z" }]]; +export const ERROR_FILLED = svg( + ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm5.4 21L9 10.6 10.6 9 23 21.4 21.4 23z" }] +); diff --git a/packages/hiccup-carbon-icons/src/error-outline.ts b/packages/hiccup-carbon-icons/src/error-outline.ts index 51f4f04489..872e7fbba1 100644 --- a/packages/hiccup-carbon-icons/src/error-outline.ts +++ b/packages/hiccup-carbon-icons/src/error-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ERROR_OUTLINE */ // prettier-ignore -export const ERROR_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12-5.4 12-12 12z" }], - ["path", { d: "M8.929 10.667l1.555-1.555L22.93 21.557l-1.555 1.555z" }]]; +export const ERROR_OUTLINE = svg( + ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12-5.4 12-12 12z" }], + ["path", { d: "M8.929 10.667l1.555-1.555L22.93 21.557l-1.555 1.555z" }] +); diff --git a/packages/hiccup-carbon-icons/src/error.ts b/packages/hiccup-carbon-icons/src/error.ts index 30a0b5fe87..07077f585f 100644 --- a/packages/hiccup-carbon-icons/src/error.ts +++ b/packages/hiccup-carbon-icons/src/error.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ERROR */ // prettier-ignore -export const ERROR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 16A14 14 0 1016 2 14 14 0 002 16zm23.15 7.75L8.25 6.85a12 12 0 0116.9 16.9zM8.24 25.16a12 12 0 01-1.4-16.89l16.89 16.89a12 12 0 01-15.49 0z" }]]; +export const ERROR = svg( + ["path", { d: "M2 16A14 14 0 1016 2 14 14 0 002 16zm23.15 7.75L8.25 6.85a12 12 0 0116.9 16.9zM8.24 25.16a12 12 0 01-1.4-16.89l16.89 16.89a12 12 0 01-15.49 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/event-schedule.ts b/packages/hiccup-carbon-icons/src/event-schedule.ts index bb42ad8e32..63e28c1da0 100644 --- a/packages/hiccup-carbon-icons/src/event-schedule.ts +++ b/packages/hiccup-carbon-icons/src/event-schedule.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EVENT_SCHEDULE */ // prettier-ignore -export const EVENT_SCHEDULE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 30a8 8 0 118-8 8 8 0 01-8 8zm0-14a6 6 0 106 6 6 6 0 00-6-6z" }], - ["path", { d: "M22.59 25L20 22.41V18h2v3.59l2 2L22.59 25z" }], - ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }]]; +export const EVENT_SCHEDULE = svg( + ["path", { d: "M21 30a8 8 0 118-8 8 8 0 01-8 8zm0-14a6 6 0 106 6 6 6 0 00-6-6z" }], + ["path", { d: "M22.59 25L20 22.41V18h2v3.59l2 2L22.59 25z" }], + ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/event.ts b/packages/hiccup-carbon-icons/src/event.ts index 68d2876c26..db6530d7b7 100644 --- a/packages/hiccup-carbon-icons/src/event.ts +++ b/packages/hiccup-carbon-icons/src/event.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EVENT */ // prettier-ignore -export const EVENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }], - ["path", { d: "M21 15l2.549 4.938 5.451.791-4 3.844L26 30l-5-2.562L16 30l1-5.427-4-3.844 5.6-.791L21 15z" }]]; +export const EVENT = svg( + ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }], + ["path", { d: "M21 15l2.549 4.938 5.451.791-4 3.844L26 30l-5-2.562L16 30l1-5.427-4-3.844 5.6-.791L21 15z" }] +); diff --git a/packages/hiccup-carbon-icons/src/events-alt.ts b/packages/hiccup-carbon-icons/src/events-alt.ts index cf881efe17..5eaf9abf2d 100644 --- a/packages/hiccup-carbon-icons/src/events-alt.ts +++ b/packages/hiccup-carbon-icons/src/events-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EVENTS_ALT */ // prettier-ignore -export const EVENTS_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 31h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3.003 3.003 0 00-3-3h-6a3.003 3.003 0 00-3 3zM24 25a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.003 2.003 0 00-2-2zM2 31h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3.003 3.003 0 00-3-3H5a3.003 3.003 0 00-3 3zM8 25a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM18 16h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3.003 3.003 0 00-3-3h-6a3.003 3.003 0 00-3 3zM24 10a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM2 16h2v-2a1.001 1.001 0 011-1h6a1.001 1.001 0 011 1v2h2v-2a3.003 3.003 0 00-3-3H5a3.003 3.003 0 00-3 3zM8 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }]]; +export const EVENTS_ALT = svg( + ["path", { d: "M18 31h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3.003 3.003 0 00-3-3h-6a3.003 3.003 0 00-3 3zM24 25a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.003 2.003 0 00-2-2zM2 31h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3.003 3.003 0 00-3-3H5a3.003 3.003 0 00-3 3zM8 25a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM18 16h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3.003 3.003 0 00-3-3h-6a3.003 3.003 0 00-3 3zM24 10a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM2 16h2v-2a1.001 1.001 0 011-1h6a1.001 1.001 0 011 1v2h2v-2a3.003 3.003 0 00-3-3H5a3.003 3.003 0 00-3 3zM8 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/events.ts b/packages/hiccup-carbon-icons/src/events.ts index ae0d81a75a..8ce2f459d6 100644 --- a/packages/hiccup-carbon-icons/src/events.ts +++ b/packages/hiccup-carbon-icons/src/events.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EVENTS */ // prettier-ignore -export const EVENTS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 14h-2v2h2a3.003 3.003 0 013 3v4h2v-4a5.006 5.006 0 00-5-5zM24 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5zM23 30h-2v-2a3.003 3.003 0 00-3-3h-4a3.003 3.003 0 00-3 3v2H9v-2a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM16 13a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5zM8 14H6a5.006 5.006 0 00-5 5v4h2v-4a3.003 3.003 0 013-3h2zM8 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }]]; +export const EVENTS = svg( + ["path", { d: "M26 14h-2v2h2a3.003 3.003 0 013 3v4h2v-4a5.006 5.006 0 00-5-5zM24 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5zM23 30h-2v-2a3.003 3.003 0 00-3-3h-4a3.003 3.003 0 00-3 3v2H9v-2a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM16 13a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5zM8 14H6a5.006 5.006 0 00-5 5v4h2v-4a3.003 3.003 0 013-3h2zM8 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/exam-mode.ts b/packages/hiccup-carbon-icons/src/exam-mode.ts index 5abc6a6355..99b2a84621 100644 --- a/packages/hiccup-carbon-icons/src/exam-mode.ts +++ b/packages/hiccup-carbon-icons/src/exam-mode.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EXAM_MODE */ // prettier-ignore -export const EXAM_MODE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 23v3H7v-9.17l3.59 3.58L12 19l-6-6-6 6 1.41 1.41L5 16.83V26a2 2 0 002 2h18a2 2 0 002-2v-3zM27 7v9.17l3.59-3.58L32 14l-6 6-6-6 1.41-1.41L25 16.17V7H13V5h12a2 2 0 012 2zM8 10H4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zM4 4v4h4V4z" }]]; +export const EXAM_MODE = svg( + ["path", { d: "M25 23v3H7v-9.17l3.59 3.58L12 19l-6-6-6 6 1.41 1.41L5 16.83V26a2 2 0 002 2h18a2 2 0 002-2v-3zM27 7v9.17l3.59-3.58L32 14l-6 6-6-6 1.41-1.41L25 16.17V7H13V5h12a2 2 0 012 2zM8 10H4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zM4 4v4h4V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/exit.ts b/packages/hiccup-carbon-icons/src/exit.ts index 8b9a1caabf..8c63364e70 100644 --- a/packages/hiccup-carbon-icons/src/exit.ts +++ b/packages/hiccup-carbon-icons/src/exit.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EXIT */ // prettier-ignore -export const EXIT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4h2v24h-2zM11.414 20.586L7.828 17H22v-2H7.828l3.586-3.586L10 10l-6 6 6 6 1.414-1.414z" }]]; +export const EXIT = svg( + ["path", { d: "M26 4h2v24h-2zM11.414 20.586L7.828 17H22v-2H7.828l3.586-3.586L10 10l-6 6 6 6 1.414-1.414z" }] +); diff --git a/packages/hiccup-carbon-icons/src/expand-all.ts b/packages/hiccup-carbon-icons/src/expand-all.ts index 88e869e3b2..6d12be4f2d 100644 --- a/packages/hiccup-carbon-icons/src/expand-all.ts +++ b/packages/hiccup-carbon-icons/src/expand-all.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EXPAND_ALL */ // prettier-ignore -export const EXPAND_ALL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 10h14a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2H12a2.002 2.002 0 00-2 2v1H6V2H4v23a2.002 2.002 0 002 2h4v1a2.002 2.002 0 002 2h14a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2H12a2.002 2.002 0 00-2 2v1H6v-8h4v1a2.002 2.002 0 002 2h14a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2H12a2.002 2.002 0 00-2 2v1H6V7h4v1a2.002 2.002 0 002 2zm0-6h14l.001 4H12zm0 20h14l.001 4H12zm0-10h14l.001 4H12z" }]]; +export const EXPAND_ALL = svg( + ["path", { d: "M12 10h14a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2H12a2.002 2.002 0 00-2 2v1H6V2H4v23a2.002 2.002 0 002 2h4v1a2.002 2.002 0 002 2h14a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2H12a2.002 2.002 0 00-2 2v1H6v-8h4v1a2.002 2.002 0 002 2h14a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2H12a2.002 2.002 0 00-2 2v1H6V7h4v1a2.002 2.002 0 002 2zm0-6h14l.001 4H12zm0 20h14l.001 4H12zm0-10h14l.001 4H12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/expand-categories.ts b/packages/hiccup-carbon-icons/src/expand-categories.ts index 33778ba2fe..07bf04ea92 100644 --- a/packages/hiccup-carbon-icons/src/expand-categories.ts +++ b/packages/hiccup-carbon-icons/src/expand-categories.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EXPAND_CATEGORIES */ // prettier-ignore -export const EXPAND_CATEGORIES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 26h6v2h-6zM20 18h8v2h-8zM20 10h10v2H20zM15 4h2v24h-2zM10.586 3.959L7 7.249 3.412 3.958 2 5.373 7 10l5-4.627-1.414-1.414z" }]]; +export const EXPAND_CATEGORIES = svg( + ["path", { d: "M20 26h6v2h-6zM20 18h8v2h-8zM20 10h10v2H20zM15 4h2v24h-2zM10.586 3.959L7 7.249 3.412 3.958 2 5.373 7 10l5-4.627-1.414-1.414z" }] +); diff --git a/packages/hiccup-carbon-icons/src/export.ts b/packages/hiccup-carbon-icons/src/export.ts index f2c5776ba9..810cbfdd63 100644 --- a/packages/hiccup-carbon-icons/src/export.ts +++ b/packages/hiccup-carbon-icons/src/export.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EXPORT */ // prettier-ignore -export const EXPORT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 24v4H6v-4H4v4a2 2 0 002 2h20a2 2 0 002-2v-4z" }], - ["path", { d: "M6 12l1.41 1.4L15 5.83V25h2V5.83l7.59 7.57L26 12 16 2 6 12z" }]]; +export const EXPORT = svg( + ["path", { d: "M26 24v4H6v-4H4v4a2 2 0 002 2h20a2 2 0 002-2v-4z" }], + ["path", { d: "M6 12l1.41 1.4L15 5.83V25h2V5.83l7.59 7.57L26 12 16 2 6 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/eyedropper.ts b/packages/hiccup-carbon-icons/src/eyedropper.ts index bad17e68ac..ffd4d978df 100644 --- a/packages/hiccup-carbon-icons/src/eyedropper.ts +++ b/packages/hiccup-carbon-icons/src/eyedropper.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#EYEDROPPER */ // prettier-ignore -export const EYEDROPPER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 27h3v3H2zM29.71 7.29l-5-5a1 1 0 00-1.41 0L20 5.59l-1.29-1.3-1.42 1.42L18.59 7 8.29 17.29A1 1 0 008 18v1.59l-2.71 2.7a1 1 0 000 1.41l3 3a1 1 0 001.41 0l2.71-2.7H14a1 1 0 00.71-.29L25 13.41l1.29 1.3 1.42-1.42-1.3-1.29 3.3-3.29a1 1 0 000-1.41zM13.59 22h-2L9 24.59 7.41 23 10 20.41v-2l10-10L23.59 12zM25 10.59L21.41 7 24 4.41 27.59 8z" }]]; +export const EYEDROPPER = svg( + ["path", { d: "M2 27h3v3H2zM29.71 7.29l-5-5a1 1 0 00-1.41 0L20 5.59l-1.29-1.3-1.42 1.42L18.59 7 8.29 17.29A1 1 0 008 18v1.59l-2.71 2.7a1 1 0 000 1.41l3 3a1 1 0 001.41 0l2.71-2.7H14a1 1 0 00.71-.29L25 13.41l1.29 1.3 1.42-1.42-1.3-1.29 3.3-3.29a1 1 0 000-1.41zM13.59 22h-2L9 24.59 7.41 23 10 20.41v-2l10-10L23.59 12zM25 10.59L21.41 7 24 4.41 27.59 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-activated-add.ts b/packages/hiccup-carbon-icons/src/face-activated-add.ts index 57e0e83bf9..98327ea374 100644 --- a/packages/hiccup-carbon-icons/src/face-activated-add.ts +++ b/packages/hiccup-carbon-icons/src/face-activated-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_ACTIVATED_ADD */ // prettier-ignore -export const FACE_ACTIVATED_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 4h-4V0h-2v4h-4v2h4v4h2V6h4V4zM11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM9 20a8.13 8.13 0 0014 0z" }], - ["path", { d: "M27.82 14A12 12 0 1116 4V2a14 14 0 1014 14 14.71 14.71 0 00-.16-2z" }]]; +export const FACE_ACTIVATED_ADD = svg( + ["path", { d: "M30 4h-4V0h-2v4h-4v2h4v4h2V6h4V4zM11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM9 20a8.13 8.13 0 0014 0z" }], + ["path", { d: "M27.82 14A12 12 0 1116 4V2a14 14 0 1014 14 14.71 14.71 0 00-.16-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-activated-filled.ts b/packages/hiccup-carbon-icons/src/face-activated-filled.ts index 3581f1125e..c40fcd54c7 100644 --- a/packages/hiccup-carbon-icons/src/face-activated-filled.ts +++ b/packages/hiccup-carbon-icons/src/face-activated-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_ACTIVATED_FILLED */ // prettier-ignore -export const FACE_ACTIVATED_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 9A2.5 2.5 0 119 13.5a2.48 2.48 0 012.5-2.5zM16 24a8.11 8.11 0 01-7-4h14a8.11 8.11 0 01-7 4zm4.5-8a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5z" }]]; +export const FACE_ACTIVATED_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 9A2.5 2.5 0 119 13.5a2.48 2.48 0 012.5-2.5zM16 24a8.11 8.11 0 01-7-4h14a8.11 8.11 0 01-7 4zm4.5-8a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-activated.ts b/packages/hiccup-carbon-icons/src/face-activated.ts index 64afe549cf..794dc67d46 100644 --- a/packages/hiccup-carbon-icons/src/face-activated.ts +++ b/packages/hiccup-carbon-icons/src/face-activated.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_ACTIVATED */ // prettier-ignore -export const FACE_ACTIVATED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM9 20a8.13 8.13 0 0014 0z" }]]; +export const FACE_ACTIVATED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM9 20a8.13 8.13 0 0014 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-add.ts b/packages/hiccup-carbon-icons/src/face-add.ts index d576ad5ad4..efa75babb3 100644 --- a/packages/hiccup-carbon-icons/src/face-add.ts +++ b/packages/hiccup-carbon-icons/src/face-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_ADD */ // prettier-ignore -export const FACE_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 22a6 6 0 01-5.14-2.92l-1.71 1a8 8 0 0013.7 0l-1.71-1A6 6 0 0116 22zM30 4h-4V0h-2v4h-4v2h4v4h2V6h4V4zM11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5z" }], - ["path", { d: "M27.61 13a12.33 12.33 0 01.39 3A12 12 0 1116 4V2a14 14 0 1013.67 11z" }]]; +export const FACE_ADD = svg( + ["path", { d: "M16 22a6 6 0 01-5.14-2.92l-1.71 1a8 8 0 0013.7 0l-1.71-1A6 6 0 0116 22zM30 4h-4V0h-2v4h-4v2h4v4h2V6h4V4zM11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5z" }], + ["path", { d: "M27.61 13a12.33 12.33 0 01.39 3A12 12 0 1116 4V2a14 14 0 1013.67 11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-cool.ts b/packages/hiccup-carbon-icons/src/face-cool.ts index 1ceebab8b1..c7c3b0702a 100644 --- a/packages/hiccup-carbon-icons/src/face-cool.ts +++ b/packages/hiccup-carbon-icons/src/face-cool.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_COOL */ // prettier-ignore -export const FACE_COOL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z" }], - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 2a12 12 0 0110.89 7H25a1 1 0 00-1-1H8a1 1 0 00-1 1H5.11A12 12 0 0116 4zm0 24A12 12 0 014 16a11.86 11.86 0 01.4-3H7v2a2 2 0 002 2h3.31a2 2 0 002-1.67l.52-3.33h2.34l.55 3.33a2 2 0 002 1.67H23a2 2 0 002-2v-2h2.6a11.86 11.86 0 01.4 3 12 12 0 01-12 12z" }]]; +export const FACE_COOL = svg( + ["path", { d: "M16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z" }], + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 2a12 12 0 0110.89 7H25a1 1 0 00-1-1H8a1 1 0 00-1 1H5.11A12 12 0 0116 4zm0 24A12 12 0 014 16a11.86 11.86 0 01.4-3H7v2a2 2 0 002 2h3.31a2 2 0 002-1.67l.52-3.33h2.34l.55 3.33a2 2 0 002 1.67H23a2 2 0 002-2v-2h2.6a11.86 11.86 0 01.4 3 12 12 0 01-12 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-dissatisfied-filled.ts b/packages/hiccup-carbon-icons/src/face-dissatisfied-filled.ts index 0c1e734785..75c04256db 100644 --- a/packages/hiccup-carbon-icons/src/face-dissatisfied-filled.ts +++ b/packages/hiccup-carbon-icons/src/face-dissatisfied-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_DISSATISFIED_FILLED */ // prettier-ignore -export const FACE_DISSATISFIED_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 9A2.5 2.5 0 119 13.5a2.48 2.48 0 012.54-2.5zm9.64 12.92a6 6 0 00-10.28 0l-1.71-1a8 8 0 0113.7 0zM20.5 16a2.5 2.5 0 010-5 2.5 2.5 0 010 5z" }]]; +export const FACE_DISSATISFIED_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 9A2.5 2.5 0 119 13.5a2.48 2.48 0 012.54-2.5zm9.64 12.92a6 6 0 00-10.28 0l-1.71-1a8 8 0 0113.7 0zM20.5 16a2.5 2.5 0 010-5 2.5 2.5 0 010 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-dissatisfied.ts b/packages/hiccup-carbon-icons/src/face-dissatisfied.ts index 70b7cd9aa4..b4d7d693ae 100644 --- a/packages/hiccup-carbon-icons/src/face-dissatisfied.ts +++ b/packages/hiccup-carbon-icons/src/face-dissatisfied.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_DISSATISFIED */ // prettier-ignore -export const FACE_DISSATISFIED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM16 19a8 8 0 00-6.85 3.89l1.71 1a6 6 0 0110.28 0l1.71-1A8 8 0 0016 19z" }]]; +export const FACE_DISSATISFIED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM16 19a8 8 0 00-6.85 3.89l1.71 1a6 6 0 0110.28 0l1.71-1A8 8 0 0016 19z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-dizzy-filled.ts b/packages/hiccup-carbon-icons/src/face-dizzy-filled.ts index a5dc534d06..6443481a58 100644 --- a/packages/hiccup-carbon-icons/src/face-dizzy-filled.ts +++ b/packages/hiccup-carbon-icons/src/face-dizzy-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_DIZZY_FILLED */ // prettier-ignore -export const FACE_DIZZY_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM9 16.41L7.59 15l2-2-2-2L9 9.59l2 2 2-2L14.41 11l-2 2 2 2L13 16.41l-2-2zM16 25a3 3 0 113-3 3 3 0 01-3 3zm8.41-10L23 16.41l-2-2-2 2L17.59 15l2-2-2-2L19 9.59l2 2 2-2L24.41 11l-2 2z" }]]; +export const FACE_DIZZY_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM9 16.41L7.59 15l2-2-2-2L9 9.59l2 2 2-2L14.41 11l-2 2 2 2L13 16.41l-2-2zM16 25a3 3 0 113-3 3 3 0 01-3 3zm8.41-10L23 16.41l-2-2-2 2L17.59 15l2-2-2-2L19 9.59l2 2 2-2L24.41 11l-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-dizzy.ts b/packages/hiccup-carbon-icons/src/face-dizzy.ts index fa9d51aa8d..452d95082e 100644 --- a/packages/hiccup-carbon-icons/src/face-dizzy.ts +++ b/packages/hiccup-carbon-icons/src/face-dizzy.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_DIZZY */ // prettier-ignore -export const FACE_DIZZY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M24.41 11L23 9.59l-2 2-2-2L17.59 11l2 2-2 2L19 16.41l2-2 2 2L24.41 15l-2-2 2-2zM14.41 11L13 9.59l-2 2-2-2L7.59 11l2 2-2 2L9 16.41l2-2 2 2L14.41 15l-2-2 2-2zM16 19a3 3 0 103 3 3 3 0 00-3-3z" }]]; +export const FACE_DIZZY = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M24.41 11L23 9.59l-2 2-2-2L17.59 11l2 2-2 2L19 16.41l2-2 2 2L24.41 15l-2-2 2-2zM14.41 11L13 9.59l-2 2-2-2L7.59 11l2 2-2 2L9 16.41l2-2 2 2L14.41 15l-2-2 2-2zM16 19a3 3 0 103 3 3 3 0 00-3-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-mask.ts b/packages/hiccup-carbon-icons/src/face-mask.ts index 261dfe84c5..4d046e28a1 100644 --- a/packages/hiccup-carbon-icons/src/face-mask.ts +++ b/packages/hiccup-carbon-icons/src/face-mask.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_MASK */ // prettier-ignore -export const FACE_MASK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5z" }], - ["path", { d: "M30 16A14 14 0 108.9 28.042l.015.156A1.993 1.993 0 0010.905 30h10.19a1.993 1.993 0 001.99-1.8l.015-.158A13.967 13.967 0 0030 16zM16 4a11.99 11.99 0 0111.97 11.397L22.764 18H9.236L4.03 15.397A11.99 11.99 0 0116 4zM4.12 17.678l3.94 1.97.581 5.81a11.97 11.97 0 01-4.521-7.78zM21.095 28h-10.19l-.8-8h11.79zm2.264-2.542l.581-5.81 3.94-1.97a11.971 11.971 0 01-4.52 7.78z" }]]; +export const FACE_MASK = svg( + ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5z" }], + ["path", { d: "M30 16A14 14 0 108.9 28.042l.015.156A1.993 1.993 0 0010.905 30h10.19a1.993 1.993 0 001.99-1.8l.015-.158A13.967 13.967 0 0030 16zM16 4a11.99 11.99 0 0111.97 11.397L22.764 18H9.236L4.03 15.397A11.99 11.99 0 0116 4zM4.12 17.678l3.94 1.97.581 5.81a11.97 11.97 0 01-4.521-7.78zM21.095 28h-10.19l-.8-8h11.79zm2.264-2.542l.581-5.81 3.94-1.97a11.971 11.971 0 01-4.52 7.78z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-neutral-filled.ts b/packages/hiccup-carbon-icons/src/face-neutral-filled.ts index 21ad218f58..fa650bc2f0 100644 --- a/packages/hiccup-carbon-icons/src/face-neutral-filled.ts +++ b/packages/hiccup-carbon-icons/src/face-neutral-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_NEUTRAL_FILLED */ // prettier-ignore -export const FACE_NEUTRAL_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM9 13.5a2.5 2.5 0 112.5 2.5A2.5 2.5 0 019 13.5zM22 22H10v-2h12zm-1.5-6a2.5 2.5 0 112.5-2.5 2.5 2.5 0 01-2.5 2.5z" }]]; +export const FACE_NEUTRAL_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM9 13.5a2.5 2.5 0 112.5 2.5A2.5 2.5 0 019 13.5zM22 22H10v-2h12zm-1.5-6a2.5 2.5 0 112.5-2.5 2.5 2.5 0 01-2.5 2.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-neutral.ts b/packages/hiccup-carbon-icons/src/face-neutral.ts index 50a8a37cc8..b3033cb131 100644 --- a/packages/hiccup-carbon-icons/src/face-neutral.ts +++ b/packages/hiccup-carbon-icons/src/face-neutral.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_NEUTRAL */ // prettier-ignore -export const FACE_NEUTRAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM10 20h12v2H10z" }]]; +export const FACE_NEUTRAL = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM10 20h12v2H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-pending-filled.ts b/packages/hiccup-carbon-icons/src/face-pending-filled.ts index 66835d96b0..720040d2c1 100644 --- a/packages/hiccup-carbon-icons/src/face-pending-filled.ts +++ b/packages/hiccup-carbon-icons/src/face-pending-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_PENDING_FILLED */ // prettier-ignore -export const FACE_PENDING_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 14a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5zm9 0a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5z" }]]; +export const FACE_PENDING_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 14a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5zm9 0a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-pending.ts b/packages/hiccup-carbon-icons/src/face-pending.ts index 5777cbdf48..c9eb4707c7 100644 --- a/packages/hiccup-carbon-icons/src/face-pending.ts +++ b/packages/hiccup-carbon-icons/src/face-pending.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_PENDING */ // prettier-ignore -export const FACE_PENDING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5z" }]]; +export const FACE_PENDING = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-satisfied-filled.ts b/packages/hiccup-carbon-icons/src/face-satisfied-filled.ts index 9fe7b4a47e..4663085afa 100644 --- a/packages/hiccup-carbon-icons/src/face-satisfied-filled.ts +++ b/packages/hiccup-carbon-icons/src/face-satisfied-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_SATISFIED_FILLED */ // prettier-ignore -export const FACE_SATISFIED_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 9A2.5 2.5 0 119 13.5a2.48 2.48 0 012.5-2.5zM16 24a8 8 0 01-6.85-3.89l1.71-1a6 6 0 0010.28 0l1.71 1A8 8 0 0116 24zm4.5-8a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5z" }]]; +export const FACE_SATISFIED_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-4.5 9A2.5 2.5 0 119 13.5a2.48 2.48 0 012.5-2.5zM16 24a8 8 0 01-6.85-3.89l1.71-1a6 6 0 0010.28 0l1.71 1A8 8 0 0116 24zm4.5-8a2.5 2.5 0 112.5-2.5 2.48 2.48 0 01-2.5 2.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-satisfied.ts b/packages/hiccup-carbon-icons/src/face-satisfied.ts index f71f7806b5..d589e4b737 100644 --- a/packages/hiccup-carbon-icons/src/face-satisfied.ts +++ b/packages/hiccup-carbon-icons/src/face-satisfied.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_SATISFIED */ // prettier-ignore -export const FACE_SATISFIED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z" }]]; +export const FACE_SATISFIED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M11.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM20.5 11a2.5 2.5 0 102.5 2.5 2.48 2.48 0 00-2.5-2.5zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-wink-filled.ts b/packages/hiccup-carbon-icons/src/face-wink-filled.ts index 338300e41d..360abf0126 100644 --- a/packages/hiccup-carbon-icons/src/face-wink-filled.ts +++ b/packages/hiccup-carbon-icons/src/face-wink-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_WINK_FILLED */ // prettier-ignore -export const FACE_WINK_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM8 13h6v2H8zm8 11a8 8 0 01-6.85-3.89l1.71-1a6 6 0 0010.28 0l1.71 1A8 8 0 0116 24zm4.5-8a2.5 2.5 0 010-5 2.5 2.5 0 010 5z" }]]; +export const FACE_WINK_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM8 13h6v2H8zm8 11a8 8 0 01-6.85-3.89l1.71-1a6 6 0 0010.28 0l1.71 1A8 8 0 0116 24zm4.5-8a2.5 2.5 0 010-5 2.5 2.5 0 010 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/face-wink.ts b/packages/hiccup-carbon-icons/src/face-wink.ts index 2bc310c414..a06e4c77b0 100644 --- a/packages/hiccup-carbon-icons/src/face-wink.ts +++ b/packages/hiccup-carbon-icons/src/face-wink.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACE_WINK */ // prettier-ignore -export const FACE_WINK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM8 13h6v2H8zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z" }]]; +export const FACE_WINK = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M20.5 11a2.5 2.5 0 102.5 2.5 2.5 2.5 0 00-2.5-2.5zM8 13h6v2H8zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/factor.ts b/packages/hiccup-carbon-icons/src/factor.ts index feda433c0c..1c0d1c13d5 100644 --- a/packages/hiccup-carbon-icons/src/factor.ts +++ b/packages/hiccup-carbon-icons/src/factor.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FACTOR */ // prettier-ignore -export const FACTOR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 28V9h-3V4h2V2h-6v2h2v5h-3v19h-4V16h-3v-5h2V9H8v2h2v5H7v12H4V2H2v26a2 2 0 002 2h26v-2zm-14 0H9V18h4zm8-17h4v17h-4z" }]]; +export const FACTOR = svg( + ["path", { d: "M27 28V9h-3V4h2V2h-6v2h2v5h-3v19h-4V16h-3v-5h2V9H8v2h2v5H7v12H4V2H2v26a2 2 0 002 2h26v-2zm-14 0H9V18h4zm8-17h4v17h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fade.ts b/packages/hiccup-carbon-icons/src/fade.ts index ba15fe505a..34b15a869f 100644 --- a/packages/hiccup-carbon-icons/src/fade.ts +++ b/packages/hiccup-carbon-icons/src/fade.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FADE */ // prettier-ignore -export const FADE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8.24 25.14L7 26.67a13.79 13.79 0 004.18 2.44l.69-1.87a12 12 0 01-3.63-2.1zM4.19 18l-2 .41A14.09 14.09 0 003.86 23l1.73-1a12.44 12.44 0 01-1.4-4zM11.82 4.76l-.69-1.87A13.79 13.79 0 007 5.33l1.24 1.53a12 12 0 013.58-2.1zM5.59 10L3.86 9a14.37 14.37 0 00-1.64 4.59l2 .34A12.05 12.05 0 015.59 10zM16 2v2a12 12 0 010 24v2a14 14 0 000-28z" }]]; +export const FADE = svg( + ["path", { d: "M8.24 25.14L7 26.67a13.79 13.79 0 004.18 2.44l.69-1.87a12 12 0 01-3.63-2.1zM4.19 18l-2 .41A14.09 14.09 0 003.86 23l1.73-1a12.44 12.44 0 01-1.4-4zM11.82 4.76l-.69-1.87A13.79 13.79 0 007 5.33l1.24 1.53a12 12 0 013.58-2.1zM5.59 10L3.86 9a14.37 14.37 0 00-1.64 4.59l2 .34A12.05 12.05 0 015.59 10zM16 2v2a12 12 0 010 24v2a14 14 0 000-28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/favorite-filled.ts b/packages/hiccup-carbon-icons/src/favorite-filled.ts index 443cc601f6..1b29b41980 100644 --- a/packages/hiccup-carbon-icons/src/favorite-filled.ts +++ b/packages/hiccup-carbon-icons/src/favorite-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FAVORITE_FILLED */ // prettier-ignore -export const FAVORITE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.5 4c-2 0-3.9.8-5.3 2.2L16 7.4l-1.1-1.1c-2.9-3-7.7-3-10.6-.1l-.1.1c-3 3-3 7.8 0 10.8L16 29l11.8-11.9c3-3 3-7.8 0-10.8C26.4 4.8 24.5 4 22.5 4z" }]]; +export const FAVORITE_FILLED = svg( + ["path", { d: "M22.5 4c-2 0-3.9.8-5.3 2.2L16 7.4l-1.1-1.1c-2.9-3-7.7-3-10.6-.1l-.1.1c-3 3-3 7.8 0 10.8L16 29l11.8-11.9c3-3 3-7.8 0-10.8C26.4 4.8 24.5 4 22.5 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/favorite.ts b/packages/hiccup-carbon-icons/src/favorite.ts index f1bfa49393..d172eca00b 100644 --- a/packages/hiccup-carbon-icons/src/favorite.ts +++ b/packages/hiccup-carbon-icons/src/favorite.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FAVORITE */ // prettier-ignore -export const FAVORITE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.45 6a5.47 5.47 0 013.91 1.64 5.7 5.7 0 010 8L16 26.13 5.64 15.64a5.7 5.7 0 010-8 5.48 5.48 0 017.82 0l2.54 2.6 2.53-2.58A5.44 5.44 0 0122.45 6m0-2a7.47 7.47 0 00-5.34 2.24L16 7.36l-1.11-1.12a7.49 7.49 0 00-10.68 0 7.72 7.72 0 000 10.82L16 29l11.79-11.94a7.72 7.72 0 000-10.82A7.49 7.49 0 0022.45 4z" }]]; +export const FAVORITE = svg( + ["path", { d: "M22.45 6a5.47 5.47 0 013.91 1.64 5.7 5.7 0 010 8L16 26.13 5.64 15.64a5.7 5.7 0 010-8 5.48 5.48 0 017.82 0l2.54 2.6 2.53-2.58A5.44 5.44 0 0122.45 6m0-2a7.47 7.47 0 00-5.34 2.24L16 7.36l-1.11-1.12a7.49 7.49 0 00-10.68 0 7.72 7.72 0 000 10.82L16 29l11.79-11.94a7.72 7.72 0 000-10.82A7.49 7.49 0 0022.45 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fetch-upload-cloud.ts b/packages/hiccup-carbon-icons/src/fetch-upload-cloud.ts index e2911435b9..c9a3910a87 100644 --- a/packages/hiccup-carbon-icons/src/fetch-upload-cloud.ts +++ b/packages/hiccup-carbon-icons/src/fetch-upload-cloud.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FETCH_UPLOAD_CLOUD */ // prettier-ignore -export const FETCH_UPLOAD_CLOUD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 13l-5 5 1.41 1.41L15 16.83V28H6v2h9a2 2 0 002-2V16.83l2.59 2.58L21 18z" }], - ["path", { d: "M23.5 22H23v-2h.5a4.497 4.497 0 00.356-8.981l-.815-.064-.099-.812a6.994 6.994 0 00-13.883 0l-.1.812-.815.064A4.497 4.497 0 008.5 20H9v2h-.5A6.497 6.497 0 017.2 9.136a8.994 8.994 0 0117.6 0A6.497 6.497 0 0123.5 22z" }]]; +export const FETCH_UPLOAD_CLOUD = svg( + ["path", { d: "M16 13l-5 5 1.41 1.41L15 16.83V28H6v2h9a2 2 0 002-2V16.83l2.59 2.58L21 18z" }], + ["path", { d: "M23.5 22H23v-2h.5a4.497 4.497 0 00.356-8.981l-.815-.064-.099-.812a6.994 6.994 0 00-13.883 0l-.1.812-.815.064A4.497 4.497 0 008.5 20H9v2h-.5A6.497 6.497 0 017.2 9.136a8.994 8.994 0 0117.6 0A6.497 6.497 0 0123.5 22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fetch-upload.ts b/packages/hiccup-carbon-icons/src/fetch-upload.ts index 04fa50aca2..c7b1361732 100644 --- a/packages/hiccup-carbon-icons/src/fetch-upload.ts +++ b/packages/hiccup-carbon-icons/src/fetch-upload.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FETCH_UPLOAD */ // prettier-ignore -export const FETCH_UPLOAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 7L6 17l1.41 1.41L15 10.83V28H2v2h13a2 2 0 002-2V10.83l7.59 7.58L26 17z" }], - ["path", { d: "M6 8V4h20v4h2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v4z" }]]; +export const FETCH_UPLOAD = svg( + ["path", { d: "M16 7L6 17l1.41 1.41L15 10.83V28H2v2h13a2 2 0 002-2V10.83l7.59 7.58L26 17z" }], + ["path", { d: "M6 8V4h20v4h2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/filter-edit.ts b/packages/hiccup-carbon-icons/src/filter-edit.ts index 4cd7bbb311..5ea2ac0b8b 100644 --- a/packages/hiccup-carbon-icons/src/filter-edit.ts +++ b/packages/hiccup-carbon-icons/src/filter-edit.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FILTER_EDIT */ // prettier-ignore -export const FILTER_EDIT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6H4v3.17l7.41 7.42.59.58V26h4v-2h2v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-8l-7.41-7.41A2 2 0 012 9.17V6a2 2 0 012-2h22z" }], - ["path", { d: "M29.71 11.29l-3-3a1 1 0 00-1.42 0L16 17.59V22h4.41l9.3-9.29a1 1 0 000-1.42zM19.59 20H18v-1.59l5-5L24.59 15zM26 13.59L24.41 12 26 10.41 27.59 12z" }]]; +export const FILTER_EDIT = svg( + ["path", { d: "M26 6H4v3.17l7.41 7.42.59.58V26h4v-2h2v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-8l-7.41-7.41A2 2 0 012 9.17V6a2 2 0 012-2h22z" }], + ["path", { d: "M29.71 11.29l-3-3a1 1 0 00-1.42 0L16 17.59V22h4.41l9.3-9.29a1 1 0 000-1.42zM19.59 20H18v-1.59l5-5L24.59 15zM26 13.59L24.41 12 26 10.41 27.59 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/filter-remove.ts b/packages/hiccup-carbon-icons/src/filter-remove.ts index 47ab3efe58..d4ac4d2770 100644 --- a/packages/hiccup-carbon-icons/src/filter-remove.ts +++ b/packages/hiccup-carbon-icons/src/filter-remove.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FILTER_REMOVE */ // prettier-ignore -export const FILTER_REMOVE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 11.414L28.586 10 24 14.586 19.414 10 18 11.414 22.586 16 18 20.585 19.415 22 24 17.414 28.587 22 30 20.587 25.414 16 30 11.414z" }], - ["path", { d: "M4 4a2 2 0 00-2 2v3.17a2 2 0 00.586 1.415L10 18v8a2 2 0 002 2h4a2 2 0 002-2v-2h-2v2h-4v-8.83l-.586-.585L4 9.171V6h20v2h2V6a2 2 0 00-2-2z" }]]; +export const FILTER_REMOVE = svg( + ["path", { d: "M30 11.414L28.586 10 24 14.586 19.414 10 18 11.414 22.586 16 18 20.585 19.415 22 24 17.414 28.587 22 30 20.587 25.414 16 30 11.414z" }], + ["path", { d: "M4 4a2 2 0 00-2 2v3.17a2 2 0 00.586 1.415L10 18v8a2 2 0 002 2h4a2 2 0 002-2v-2h-2v2h-4v-8.83l-.586-.585L4 9.171V6h20v2h2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/filter-reset.ts b/packages/hiccup-carbon-icons/src/filter-reset.ts index fbaf9cc167..972db73eb3 100644 --- a/packages/hiccup-carbon-icons/src/filter-reset.ts +++ b/packages/hiccup-carbon-icons/src/filter-reset.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FILTER_RESET */ // prettier-ignore -export const FILTER_RESET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.5 9a7.452 7.452 0 00-6.5 3.792V8h-2v8h8v-2h-4.383a5.494 5.494 0 114.883 8H22v2h.5a7.5 7.5 0 000-15z" }], - ["path", { d: "M26 6H4v3.171l7.414 7.414.586.586V26h4v-2h2v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-8l-7.414-7.415A2 2 0 012 9.171V6a2 2 0 012-2h22z" }]]; +export const FILTER_RESET = svg( + ["path", { d: "M22.5 9a7.452 7.452 0 00-6.5 3.792V8h-2v8h8v-2h-4.383a5.494 5.494 0 114.883 8H22v2h.5a7.5 7.5 0 000-15z" }], + ["path", { d: "M26 6H4v3.171l7.414 7.414.586.586V26h4v-2h2v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-8l-7.414-7.415A2 2 0 012 9.171V6a2 2 0 012-2h22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/filter.ts b/packages/hiccup-carbon-icons/src/filter.ts index 6f9e69caff..0371385fd6 100644 --- a/packages/hiccup-carbon-icons/src/filter.ts +++ b/packages/hiccup-carbon-icons/src/filter.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FILTER */ // prettier-ignore -export const FILTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 28h-4a2 2 0 01-2-2v-7.59L4.59 11A2 2 0 014 9.59V6a2 2 0 012-2h20a2 2 0 012 2v3.59a2 2 0 01-.59 1.41L20 18.41V26a2 2 0 01-2 2zM6 6v3.59l8 8V26h4v-8.41l8-8V6z" }]]; +export const FILTER = svg( + ["path", { d: "M18 28h-4a2 2 0 01-2-2v-7.59L4.59 11A2 2 0 014 9.59V6a2 2 0 012-2h20a2 2 0 012 2v3.59a2 2 0 01-.59 1.41L20 18.41V26a2 2 0 01-2 2zM6 6v3.59l8 8V26h4v-8.41l8-8V6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/finance.ts b/packages/hiccup-carbon-icons/src/finance.ts index c284b5713e..42f482d537 100644 --- a/packages/hiccup-carbon-icons/src/finance.ts +++ b/packages/hiccup-carbon-icons/src/finance.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FINANCE */ // prettier-ignore -export const FINANCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 28h28v2H2zM27 11a1 1 0 001-1V7a1 1 0 00-.66-.94l-11-4a1 1 0 00-.68 0l-11 4A1 1 0 004 7v3a1 1 0 001 1h1v13H4v2h24v-2h-2V11zM6 7.7l10-3.64L26 7.7V9H6zM18 24h-4V11h4zM8 11h4v13H8zm16 13h-4V11h4z" }]]; +export const FINANCE = svg( + ["path", { d: "M2 28h28v2H2zM27 11a1 1 0 001-1V7a1 1 0 00-.66-.94l-11-4a1 1 0 00-.68 0l-11 4A1 1 0 004 7v3a1 1 0 001 1h1v13H4v2h24v-2h-2V11zM6 7.7l10-3.64L26 7.7V9H6zM18 24h-4V11h4zM8 11h4v13H8zm16 13h-4V11h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fingerprint-recognition.ts b/packages/hiccup-carbon-icons/src/fingerprint-recognition.ts index 81d9f5d6b5..32d92a241b 100644 --- a/packages/hiccup-carbon-icons/src/fingerprint-recognition.ts +++ b/packages/hiccup-carbon-icons/src/fingerprint-recognition.ts @@ -1,11 +1,13 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FINGERPRINT_RECOGNITION */ // prettier-ignore -export const FINGERPRINT_RECOGNITION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7 5.21a.77.77 0 01-.46-1.38A15.46 15.46 0 0116 1c2.66 0 6.48.45 9.5 2.62a.77.77 0 01.18 1.07.78.78 0 01-1.08.17A15 15 0 0016 2.53a14 14 0 00-8.5 2.52.74.74 0 01-.5.16z" }], - ["path", { d: "M28.23 12.26a.78.78 0 01-.63-.33C25.87 9.49 22.78 6.24 16 6.24a14 14 0 00-11.63 5.7.77.77 0 01-1.07.17.76.76 0 01-.15-1.11A15.54 15.54 0 0116 4.71c5.61 0 9.81 2.08 12.84 6.34a.77.77 0 01-.19 1.07.79.79 0 01-.42.14z" }], - ["path", { d: "M12.28 31a.78.78 0 01-.72-.49.75.75 0 01.44-1c4.37-1.68 7-5.12 7-9.21a2.8 2.8 0 00-3-3c-1.86 0-2.76 1-3 3.35a4.27 4.27 0 01-4.52 3.83 4.27 4.27 0 01-4.32-4.59A11.71 11.71 0 0116 8.39a12 12 0 0112 11.93 18.66 18.66 0 01-1.39 6.5.78.78 0 01-1 .41.76.76 0 01-.41-1 17.25 17.25 0 001.27-5.91A10.45 10.45 0 0016 9.92a10.18 10.18 0 00-10.38 10 2.77 2.77 0 002.79 3.06 2.74 2.74 0 003-2.48c.36-3.11 1.89-4.69 4.56-4.69a4.31 4.31 0 014.52 4.56c0 4.74-3 8.72-8 10.63a.92.92 0 01-.21 0z" }], - ["path", { d: "M19.77 30.28a.81.81 0 01-.52-.2.76.76 0 010-1.08 12.63 12.63 0 003.54-8.68c0-1.56-.48-6.65-6.7-6.65a6.83 6.83 0 00-4.94 1.87A6.17 6.17 0 009.32 20a.77.77 0 01-.77.76.76.76 0 01-.77-.76A7.73 7.73 0 0110 14.46a8.34 8.34 0 016-2.32c6.08 0 8.24 4.4 8.24 8.18a14.09 14.09 0 01-3.9 9.68.75.75 0 01-.57.28z" }], - ["path", { d: "M8.66 27.74a14.14 14.14 0 01-1.56-.09.765.765 0 11.17-1.52c2.49.28 4.45-.16 5.84-1.32a6.37 6.37 0 002.12-4.53.75.75 0 01.82-.71.78.78 0 01.72.81A7.89 7.89 0 0114.09 26a8.2 8.2 0 01-5.43 1.74z" }]]; +export const FINGERPRINT_RECOGNITION = svg( + ["path", { d: "M7 5.21a.77.77 0 01-.46-1.38A15.46 15.46 0 0116 1c2.66 0 6.48.45 9.5 2.62a.77.77 0 01.18 1.07.78.78 0 01-1.08.17A15 15 0 0016 2.53a14 14 0 00-8.5 2.52.74.74 0 01-.5.16z" }], + ["path", { d: "M28.23 12.26a.78.78 0 01-.63-.33C25.87 9.49 22.78 6.24 16 6.24a14 14 0 00-11.63 5.7.77.77 0 01-1.07.17.76.76 0 01-.15-1.11A15.54 15.54 0 0116 4.71c5.61 0 9.81 2.08 12.84 6.34a.77.77 0 01-.19 1.07.79.79 0 01-.42.14z" }], + ["path", { d: "M12.28 31a.78.78 0 01-.72-.49.75.75 0 01.44-1c4.37-1.68 7-5.12 7-9.21a2.8 2.8 0 00-3-3c-1.86 0-2.76 1-3 3.35a4.27 4.27 0 01-4.52 3.83 4.27 4.27 0 01-4.32-4.59A11.71 11.71 0 0116 8.39a12 12 0 0112 11.93 18.66 18.66 0 01-1.39 6.5.78.78 0 01-1 .41.76.76 0 01-.41-1 17.25 17.25 0 001.27-5.91A10.45 10.45 0 0016 9.92a10.18 10.18 0 00-10.38 10 2.77 2.77 0 002.79 3.06 2.74 2.74 0 003-2.48c.36-3.11 1.89-4.69 4.56-4.69a4.31 4.31 0 014.52 4.56c0 4.74-3 8.72-8 10.63a.92.92 0 01-.21 0z" }], + ["path", { d: "M19.77 30.28a.81.81 0 01-.52-.2.76.76 0 010-1.08 12.63 12.63 0 003.54-8.68c0-1.56-.48-6.65-6.7-6.65a6.83 6.83 0 00-4.94 1.87A6.17 6.17 0 009.32 20a.77.77 0 01-.77.76.76.76 0 01-.77-.76A7.73 7.73 0 0110 14.46a8.34 8.34 0 016-2.32c6.08 0 8.24 4.4 8.24 8.18a14.09 14.09 0 01-3.9 9.68.75.75 0 01-.57.28z" }], + ["path", { d: "M8.66 27.74a14.14 14.14 0 01-1.56-.09.765.765 0 11.17-1.52c2.49.28 4.45-.16 5.84-1.32a6.37 6.37 0 002.12-4.53.75.75 0 01.82-.71.78.78 0 01.72.81A7.89 7.89 0 0114.09 26a8.2 8.2 0 01-5.43 1.74z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fire.ts b/packages/hiccup-carbon-icons/src/fire.ts index e90428945d..64b9f696d3 100644 --- a/packages/hiccup-carbon-icons/src/fire.ts +++ b/packages/hiccup-carbon-icons/src/fire.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FIRE */ // prettier-ignore -export const FIRE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.832 16.969c-.272-.647-.582-1.38-.883-2.285-.79-2.369 1.734-4.953 1.758-4.977l-1.414-1.414c-.14.14-3.423 3.478-2.242 7.023.326.978.652 1.75.938 2.43A9.381 9.381 0 0124 22a6.24 6.24 0 01-4.19 5.293 8.52 8.52 0 00-2.103-8l-1.044-1.044-.582 1.357c-1.836 4.284-4.021 6.154-5.306 6.934A5.844 5.844 0 018 22a9.624 9.624 0 01.929-3.629A11.333 11.333 0 0010 14v-1.778c.874.36 2 1.303 2 3.778v2.603l1.743-1.934c3.112-3.454 2.463-7.567 1.206-10.308A4.486 4.486 0 0118 11h2c0-5.537-4.579-7-7-7h-2l1.2 1.599c.137.185 2.862 3.927 1.353 7.688A4.943 4.943 0 009 10H8v4a9.624 9.624 0 01-.929 3.629A11.333 11.333 0 006 22c0 3.848 3.823 8 10 8s10-4.152 10-8a11.377 11.377 0 00-1.168-5.031zM12.835 27.526a16.499 16.499 0 004.367-5.598 6.105 6.105 0 01.257 5.971A11.321 11.321 0 0116 28a10.328 10.328 0 01-3.165-.474z" }]]; +export const FIRE = svg( + ["path", { d: "M24.832 16.969c-.272-.647-.582-1.38-.883-2.285-.79-2.369 1.734-4.953 1.758-4.977l-1.414-1.414c-.14.14-3.423 3.478-2.242 7.023.326.978.652 1.75.938 2.43A9.381 9.381 0 0124 22a6.24 6.24 0 01-4.19 5.293 8.52 8.52 0 00-2.103-8l-1.044-1.044-.582 1.357c-1.836 4.284-4.021 6.154-5.306 6.934A5.844 5.844 0 018 22a9.624 9.624 0 01.929-3.629A11.333 11.333 0 0010 14v-1.778c.874.36 2 1.303 2 3.778v2.603l1.743-1.934c3.112-3.454 2.463-7.567 1.206-10.308A4.486 4.486 0 0118 11h2c0-5.537-4.579-7-7-7h-2l1.2 1.599c.137.185 2.862 3.927 1.353 7.688A4.943 4.943 0 009 10H8v4a9.624 9.624 0 01-.929 3.629A11.333 11.333 0 006 22c0 3.848 3.823 8 10 8s10-4.152 10-8a11.377 11.377 0 00-1.168-5.031zM12.835 27.526a16.499 16.499 0 004.367-5.598 6.105 6.105 0 01.257 5.971A11.321 11.321 0 0116 28a10.328 10.328 0 01-3.165-.474z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fish-multiple.ts b/packages/hiccup-carbon-icons/src/fish-multiple.ts index 199ac21b7c..c49146f80b 100644 --- a/packages/hiccup-carbon-icons/src/fish-multiple.ts +++ b/packages/hiccup-carbon-icons/src/fish-multiple.ts @@ -1,27 +1,29 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FISH_MULTIPLE */ // prettier-ignore -export const FISH_MULTIPLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 14a12.985 12.985 0 00-3.829-9.243L24.414 3 23 4.414l1.757 1.757a11.071 11.071 0 010 15.657L22 24.586 23.414 26l2.757-2.757A12.985 12.985 0 0030 14z" }], - ["circle", - { - r: 1, - cy: 11, - cx: 17, - }], - ["path", { d: "M22 14a12.985 12.985 0 00-3.829-9.243L16.414 3 15 4.414l1.757 1.757a11.071 11.071 0 010 15.657L14 24.586 15.414 26l2.757-2.757A12.985 12.985 0 0022 14z" }], - ["circle", - { - r: 1, - cy: 11, - cx: 25, - }], - ["circle", - { - r: 1, - cy: 11, - cx: 9, - }], - ["path", { d: "M9.414 24l.757-.757a13.07 13.07 0 000-18.486L8 2.586 5.829 4.757a13.07 13.07 0 000 18.485l.757.758-4.293 4.293A1 1 0 003 30h10a1 1 0 00.707-1.707zM4 14a10.999 10.999 0 013.243-7.829L8 5.414l.757.757a11.071 11.071 0 010 15.657L8 22.586l-.757-.758A10.999 10.999 0 014 14zm1.414 14L8 25.414 10.586 28z" }]]; +export const FISH_MULTIPLE = svg( + ["path", { d: "M30 14a12.985 12.985 0 00-3.829-9.243L24.414 3 23 4.414l1.757 1.757a11.071 11.071 0 010 15.657L22 24.586 23.414 26l2.757-2.757A12.985 12.985 0 0030 14z" }], + ["circle", + { + r: 1, + cy: 11, + cx: 17, + }], + ["path", { d: "M22 14a12.985 12.985 0 00-3.829-9.243L16.414 3 15 4.414l1.757 1.757a11.071 11.071 0 010 15.657L14 24.586 15.414 26l2.757-2.757A12.985 12.985 0 0022 14z" }], + ["circle", + { + r: 1, + cy: 11, + cx: 25, + }], + ["circle", + { + r: 1, + cy: 11, + cx: 9, + }], + ["path", { d: "M9.414 24l.757-.757a13.07 13.07 0 000-18.486L8 2.586 5.829 4.757a13.07 13.07 0 000 18.485l.757.758-4.293 4.293A1 1 0 003 30h10a1 1 0 00.707-1.707zM4 14a10.999 10.999 0 013.243-7.829L8 5.414l.757.757a11.071 11.071 0 010 15.657L8 22.586l-.757-.758A10.999 10.999 0 014 14zm1.414 14L8 25.414 10.586 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fish.ts b/packages/hiccup-carbon-icons/src/fish.ts index 8e541a5184..c11f5d8c75 100644 --- a/packages/hiccup-carbon-icons/src/fish.ts +++ b/packages/hiccup-carbon-icons/src/fish.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FISH */ // prettier-ignore -export const FISH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1, - cy: 7, - cx: 24, - }], - ["path", { d: "M26 2a16.018 16.018 0 00-16 16v2H3a1 1 0 00-.707 1.707l8 8A1 1 0 0012 29v-7h2A16.018 16.018 0 0030 6V2zM10 26.586L5.414 22H10zM12 20v-2a13.94 13.94 0 013.908-9.678l7.77 7.77A13.94 13.94 0 0114 20zM28 6a13.916 13.916 0 01-2.98 8.605L17.395 6.98A13.916 13.916 0 0126 4h2z" }]]; +export const FISH = svg( + ["circle", + { + r: 1, + cy: 7, + cx: 24, + }], + ["path", { d: "M26 2a16.018 16.018 0 00-16 16v2H3a1 1 0 00-.707 1.707l8 8A1 1 0 0012 29v-7h2A16.018 16.018 0 0030 6V2zM10 26.586L5.414 22H10zM12 20v-2a13.94 13.94 0 013.908-9.678l7.77 7.77A13.94 13.94 0 0114 20zM28 6a13.916 13.916 0 01-2.98 8.605L17.395 6.98A13.916 13.916 0 0126 4h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fit-to-screen.ts b/packages/hiccup-carbon-icons/src/fit-to-screen.ts index 9dcd90b77d..7665d31ee3 100644 --- a/packages/hiccup-carbon-icons/src/fit-to-screen.ts +++ b/packages/hiccup-carbon-icons/src/fit-to-screen.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FIT_TO_SCREEN */ // prettier-ignore -export const FIT_TO_SCREEN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 16h2V8h-8v2h6v6zM8 24h8v-2h-6v-6H8v8z" }], - ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2zM6 6v20h20.001L26 6z" }]]; +export const FIT_TO_SCREEN = svg( + ["path", { d: "M22 16h2V8h-8v2h6v6zM8 24h8v-2h-6v-6H8v8z" }], + ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2zM6 6v20h20.001L26 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flag.ts b/packages/hiccup-carbon-icons/src/flag.ts index f760a3084a..b523daa5ad 100644 --- a/packages/hiccup-carbon-icons/src/flag.ts +++ b/packages/hiccup-carbon-icons/src/flag.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLAG */ // prettier-ignore -export const FLAG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 30H4V2h24l-5.8 9 5.8 9H6zm0-12h18.33l-4.53-7 4.53-7H6z" }]]; +export const FLAG = svg( + ["path", { d: "M6 30H4V2h24l-5.8 9 5.8 9H6zm0-12h18.33l-4.53-7 4.53-7H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flagging-taxi.ts b/packages/hiccup-carbon-icons/src/flagging-taxi.ts index fa68636d4f..cabcc0a311 100644 --- a/packages/hiccup-carbon-icons/src/flagging-taxi.ts +++ b/packages/hiccup-carbon-icons/src/flagging-taxi.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLAGGING_TAXI */ // prettier-ignore -export const FLAGGING_TAXI: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.798 2l-4.442 6.664A2.994 2.994 0 0117.858 10H12a3.003 3.003 0 00-3 3v6a2.002 2.002 0 002 2v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2V16h-2v12h-4v-9h-2v-6a1 1 0 011-1h5.86a4.988 4.988 0 004.16-2.227l4.442-6.664z" }], - ["path", { d: "M11 5a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2z" }]]; +export const FLAGGING_TAXI = svg( + ["path", { d: "M24.798 2l-4.442 6.664A2.994 2.994 0 0117.858 10H12a3.003 3.003 0 00-3 3v6a2.002 2.002 0 002 2v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2V16h-2v12h-4v-9h-2v-6a1 1 0 011-1h5.86a4.988 4.988 0 004.16-2.227l4.442-6.664z" }], + ["path", { d: "M11 5a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flash-filled.ts b/packages/hiccup-carbon-icons/src/flash-filled.ts index 22a81abe8d..a753547f53 100644 --- a/packages/hiccup-carbon-icons/src/flash-filled.ts +++ b/packages/hiccup-carbon-icons/src/flash-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLASH_FILLED */ // prettier-ignore -export const FLASH_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08z" }]]; +export const FLASH_FILLED = svg( + ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flash-off-filled.ts b/packages/hiccup-carbon-icons/src/flash-off-filled.ts index 8de4a19d80..8d1471ebf5 100644 --- a/packages/hiccup-carbon-icons/src/flash-off-filled.ts +++ b/packages/hiccup-carbon-icons/src/flash-off-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLASH_OFF_FILLED */ // prettier-ignore -export const FLASH_OFF_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 28.59L3.41 2 2 3.41l6.4 6.41L7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07 1.09 1.09 0 00.4.08 1 1 0 00.79-.39l6.68-8.73L28.59 30zM22.53 16.87l3.26-4.26a1 1 0 00.11-1A1 1 0 0025 11h-4.75L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77l-.3 1.3z" }]]; +export const FLASH_OFF_FILLED = svg( + ["path", { d: "M30 28.59L3.41 2 2 3.41l6.4 6.41L7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07 1.09 1.09 0 00.4.08 1 1 0 00.79-.39l6.68-8.73L28.59 30zM22.53 16.87l3.26-4.26a1 1 0 00.11-1A1 1 0 0025 11h-4.75L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77l-.3 1.3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flash-off.ts b/packages/hiccup-carbon-icons/src/flash-off.ts index 6bbe733ef9..3f77018925 100644 --- a/packages/hiccup-carbon-icons/src/flash-off.ts +++ b/packages/hiccup-carbon-icons/src/flash-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLASH_OFF */ // prettier-ignore -export const FLASH_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.13 6.89L11.8 4h8l-2 9H23l-2.49 3.25 1.43 1.43 3.87-5.07a1 1 0 00.11-1A1 1 0 0025 11h-4.75L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77l-.54 2.45zM30 28.59l-9.31-9.31-1.42-1.43-8.67-8.66-1.67-1.67L3.41 2 2 3.41l6.4 6.41L7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07 1.09 1.09 0 00.4.08 1 1 0 00.79-.39l6.68-8.73L28.59 30zM9.26 15l.81-3.52L13.59 15zm4.32 10.28L15 16.37l3 3.08z" }]]; +export const FLASH_OFF = svg( + ["path", { d: "M11.13 6.89L11.8 4h8l-2 9H23l-2.49 3.25 1.43 1.43 3.87-5.07a1 1 0 00.11-1A1 1 0 0025 11h-4.75L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77l-.54 2.45zM30 28.59l-9.31-9.31-1.42-1.43-8.67-8.66-1.67-1.67L3.41 2 2 3.41l6.4 6.41L7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07 1.09 1.09 0 00.4.08 1 1 0 00.79-.39l6.68-8.73L28.59 30zM9.26 15l.81-3.52L13.59 15zm4.32 10.28L15 16.37l3 3.08z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flash.ts b/packages/hiccup-carbon-icons/src/flash.ts index 95dd079593..139a45afc7 100644 --- a/packages/hiccup-carbon-icons/src/flash.ts +++ b/packages/hiccup-carbon-icons/src/flash.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLASH */ // prettier-ignore -export const FLASH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08zM17.75 13l2-9H11.8L9.26 15h5.91l-1.59 10.28L23 13z" }]]; +export const FLASH = svg( + ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08zM17.75 13l2-9H11.8L9.26 15h5.91l-1.59 10.28L23 13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flow-connection.ts b/packages/hiccup-carbon-icons/src/flow-connection.ts index d1bf681acd..f7cf665564 100644 --- a/packages/hiccup-carbon-icons/src/flow-connection.ts +++ b/packages/hiccup-carbon-icons/src/flow-connection.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLOW_CONNECTION */ // prettier-ignore -export const FLOW_CONNECTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 18h-6a2.002 2.002 0 00-2 2v2h-5.586L10 17.586V12h2a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2H6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v5.586l-4.707 4.707a1 1 0 000 1.414l5 5a1 1 0 001.414 0L14.414 24H20v2a2.002 2.002 0 002 2h6a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2zM6 4h6v6H6zm3 22.586L5.414 23 9 19.414 12.586 23zM22 26v-6h6v6z" }]]; +export const FLOW_CONNECTION = svg( + ["path", { d: "M28 18h-6a2.002 2.002 0 00-2 2v2h-5.586L10 17.586V12h2a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2H6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h2v5.586l-4.707 4.707a1 1 0 000 1.414l5 5a1 1 0 001.414 0L14.414 24H20v2a2.002 2.002 0 002 2h6a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2zM6 4h6v6H6zm3 22.586L5.414 23 9 19.414 12.586 23zM22 26v-6h6v6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flow-data.ts b/packages/hiccup-carbon-icons/src/flow-data.ts index 3b6727deaf..796bc2f20e 100644 --- a/packages/hiccup-carbon-icons/src/flow-data.ts +++ b/packages/hiccup-carbon-icons/src/flow-data.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLOW_DATA */ // prettier-ignore -export const FLOW_DATA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 23h-8.14a4.17 4.17 0 00-.43-1L22 11.43a3.86 3.86 0 002 .57 4 4 0 10-3.86-5h-8.28a4 4 0 100 2h8.28a4.17 4.17 0 00.43 1L10 20.57A3.86 3.86 0 008 20a4 4 0 103.86 5H20v3h8v-8h-8zM8 10a2 2 0 112-2 2 2 0 01-2 2zm16-4a2 2 0 11-2 2 2 2 0 012-2zM8 26a2 2 0 112-2 2 2 0 01-2 2zm14-4h4v4h-4z" }]]; +export const FLOW_DATA = svg( + ["path", { d: "M20 23h-8.14a4.17 4.17 0 00-.43-1L22 11.43a3.86 3.86 0 002 .57 4 4 0 10-3.86-5h-8.28a4 4 0 100 2h8.28a4.17 4.17 0 00.43 1L10 20.57A3.86 3.86 0 008 20a4 4 0 103.86 5H20v3h8v-8h-8zM8 10a2 2 0 112-2 2 2 0 01-2 2zm16-4a2 2 0 11-2 2 2 2 0 012-2zM8 26a2 2 0 112-2 2 2 0 01-2 2zm14-4h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flow-stream-reference.ts b/packages/hiccup-carbon-icons/src/flow-stream-reference.ts index 5a9375e481..63ae8faf27 100644 --- a/packages/hiccup-carbon-icons/src/flow-stream-reference.ts +++ b/packages/hiccup-carbon-icons/src/flow-stream-reference.ts @@ -1,11 +1,13 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLOW_STREAM_REFERENCE */ // prettier-ignore -export const FLOW_STREAM_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 24h-4v2h4v3h8v-8h-8zm2-1h4v4h-4z" }], - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], - ["path", { d: "M24 5a3.996 3.996 0 00-3.858 3H14v2h6.142a3.94 3.94 0 00.425 1.019L14 17.586 15.414 19l6.567-6.567A3.952 3.952 0 0024 13a4 4 0 000-8zm0 6a2 2 0 112-2 2.002 2.002 0 01-2 2z" }], - ["path", { d: "M9.693 12.75a5 5 0 010-7.5l1.324 1.5a3 3 0 000 4.501z" }], - ["path", { d: "M7.047 15.751a9 9 0 010-13.501l1.324 1.5a7 7 0 000 10.501z" }]]; +export const FLOW_STREAM_REFERENCE = svg( + ["path", { d: "M20 24h-4v2h4v3h8v-8h-8zm2-1h4v4h-4z" }], + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], + ["path", { d: "M24 5a3.996 3.996 0 00-3.858 3H14v2h6.142a3.94 3.94 0 00.425 1.019L14 17.586 15.414 19l6.567-6.567A3.952 3.952 0 0024 13a4 4 0 000-8zm0 6a2 2 0 112-2 2.002 2.002 0 01-2 2z" }], + ["path", { d: "M9.693 12.75a5 5 0 010-7.5l1.324 1.5a3 3 0 000 4.501z" }], + ["path", { d: "M7.047 15.751a9 9 0 010-13.501l1.324 1.5a7 7 0 000 10.501z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flow-stream.ts b/packages/hiccup-carbon-icons/src/flow-stream.ts index 9719c5521f..6e1066780f 100644 --- a/packages/hiccup-carbon-icons/src/flow-stream.ts +++ b/packages/hiccup-carbon-icons/src/flow-stream.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLOW_STREAM */ // prettier-ignore -export const FLOW_STREAM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 24h-8.137a4.13 4.13 0 00-.429-1.02L21.98 12.434A3.994 3.994 0 1020.141 8H14v2h6.141a3.96 3.96 0 00.425 1.02L10.02 21.566A3.994 3.994 0 1011.859 26H20v3h8v-8h-8zm4-17a2 2 0 11-2 2 2.002 2.002 0 012-2zM8 27a2 2 0 112-2 2.002 2.002 0 01-2 2zm14-4h4v4h-4z" }], - ["path", { d: "M9.693 12.75a5 5 0 010-7.5l1.324 1.5a3 3 0 000 4.501z" }], - ["path", { d: "M7.047 15.751a9 9 0 010-13.501l1.324 1.5a7 7 0 000 10.501z" }]]; +export const FLOW_STREAM = svg( + ["path", { d: "M20 24h-8.137a4.13 4.13 0 00-.429-1.02L21.98 12.434A3.994 3.994 0 1020.141 8H14v2h6.141a3.96 3.96 0 00.425 1.02L10.02 21.566A3.994 3.994 0 1011.859 26H20v3h8v-8h-8zm4-17a2 2 0 11-2 2 2.002 2.002 0 012-2zM8 27a2 2 0 112-2 2.002 2.002 0 01-2 2zm14-4h4v4h-4z" }], + ["path", { d: "M9.693 12.75a5 5 0 010-7.5l1.324 1.5a3 3 0 000 4.501z" }], + ["path", { d: "M7.047 15.751a9 9 0 010-13.501l1.324 1.5a7 7 0 000 10.501z" }] +); diff --git a/packages/hiccup-carbon-icons/src/flow.ts b/packages/hiccup-carbon-icons/src/flow.ts index 0f7bd766cd..818d476dc3 100644 --- a/packages/hiccup-carbon-icons/src/flow.ts +++ b/packages/hiccup-carbon-icons/src/flow.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FLOW */ // prettier-ignore -export const FLOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 22.14V17a2 2 0 00-2-2h-8V9.86a4 4 0 10-2 0V15H7a2 2 0 00-2 2v5.14a4 4 0 102 0V17h18v5.14a4 4 0 102 0zM8 26a2 2 0 11-2-2 2 2 0 012 2zm6-20a2 2 0 112 2 2 2 0 01-2-2zm12 22a2 2 0 112-2 2 2 0 01-2 2z" }]]; +export const FLOW = svg( + ["path", { d: "M27 22.14V17a2 2 0 00-2-2h-8V9.86a4 4 0 10-2 0V15H7a2 2 0 00-2 2v5.14a4 4 0 102 0V17h18v5.14a4 4 0 102 0zM8 26a2 2 0 11-2-2 2 2 0 012 2zm6-20a2 2 0 112 2 2 2 0 01-2-2zm12 22a2 2 0 112-2 2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fog.ts b/packages/hiccup-carbon-icons/src/fog.ts index c56e3b4916..4a6a8f298c 100644 --- a/packages/hiccup-carbon-icons/src/fog.ts +++ b/packages/hiccup-carbon-icons/src/fog.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOG */ // prettier-ignore -export const FOG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.8 11.138a8.994 8.994 0 00-17.6 0A6.533 6.533 0 002 17.5V19a1 1 0 001 1h12a1 1 0 000-2H4v-.497a4.518 4.518 0 014.144-4.482l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.813.815.063A4.496 4.496 0 0123.5 22H7a1 1 0 000 2h16.5a6.496 6.496 0 001.3-12.862z" }], - ["rect", { rx: 1 }]]; +export const FOG = svg( + ["path", { d: "M24.8 11.138a8.994 8.994 0 00-17.6 0A6.533 6.533 0 002 17.5V19a1 1 0 001 1h12a1 1 0 000-2H4v-.497a4.518 4.518 0 014.144-4.482l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.813.815.063A4.496 4.496 0 0123.5 22H7a1 1 0 000 2h16.5a6.496 6.496 0 001.3-12.862z" }], + ["rect", { rx: 1 }] +); diff --git a/packages/hiccup-carbon-icons/src/folder-add.ts b/packages/hiccup-carbon-icons/src/folder-add.ts index 8dc2921db4..7771beb141 100644 --- a/packages/hiccup-carbon-icons/src/folder-add.ts +++ b/packages/hiccup-carbon-icons/src/folder-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOLDER_ADD */ // prettier-ignore -export const FOLDER_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 20h-2v4h-4v2h4v4h2v-4h4v-2h-4z" }], - ["path", { d: "M28 8H16l-3.4-3.4c-.4-.4-.9-.6-1.4-.6H4c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h14v-2H4V6h7.2l3.4 3.4.6.6H28v8h2v-8c0-1.1-.9-2-2-2z" }]]; +export const FOLDER_ADD = svg( + ["path", { d: "M26 20h-2v4h-4v2h4v4h2v-4h4v-2h-4z" }], + ["path", { d: "M28 8H16l-3.4-3.4c-.4-.4-.9-.6-1.4-.6H4c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h14v-2H4V6h7.2l3.4 3.4.6.6H28v8h2v-8c0-1.1-.9-2-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/folder-details-reference.ts b/packages/hiccup-carbon-icons/src/folder-details-reference.ts index 4860559a7b..469b56f039 100644 --- a/packages/hiccup-carbon-icons/src/folder-details-reference.ts +++ b/packages/hiccup-carbon-icons/src/folder-details-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOLDER_DETAILS_REFERENCE */ // prettier-ignore -export const FOLDER_DETAILS_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 28h7v2h-7zM16 24h14v2H16zM16 20h14v2H16zM4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 8H16l-3.414-3.414A2 2 0 0011.172 4H4a2 2 0 00-2 2v12h2V6h7.172l3.414 3.414.586.586H28v8h2v-8a2 2 0 00-2-2z" }]]; +export const FOLDER_DETAILS_REFERENCE = svg( + ["path", { d: "M16 28h7v2h-7zM16 24h14v2H16zM16 20h14v2H16zM4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 8H16l-3.414-3.414A2 2 0 0011.172 4H4a2 2 0 00-2 2v12h2V6h7.172l3.414 3.414.586.586H28v8h2v-8a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/folder-details.ts b/packages/hiccup-carbon-icons/src/folder-details.ts index 5cb2010a38..18f435a5f4 100644 --- a/packages/hiccup-carbon-icons/src/folder-details.ts +++ b/packages/hiccup-carbon-icons/src/folder-details.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOLDER_DETAILS */ // prettier-ignore -export const FOLDER_DETAILS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 20h14v2H16zM16 24h14v2H16zM16 28h7v2h-7z" }], - ["path", { d: "M14 26H4V6h7.17l3.42 3.41.58.59H28v8h2v-8a2 2 0 00-2-2H16l-3.41-3.41A2 2 0 0011.17 4H4a2 2 0 00-2 2v20a2 2 0 002 2h10z" }]]; +export const FOLDER_DETAILS = svg( + ["path", { d: "M16 20h14v2H16zM16 24h14v2H16zM16 28h7v2h-7z" }], + ["path", { d: "M14 26H4V6h7.17l3.42 3.41.58.59H28v8h2v-8a2 2 0 00-2-2H16l-3.41-3.41A2 2 0 0011.17 4H4a2 2 0 00-2 2v20a2 2 0 002 2h10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/folder-off.ts b/packages/hiccup-carbon-icons/src/folder-off.ts index 0671a77b4b..c8db9d756d 100644 --- a/packages/hiccup-carbon-icons/src/folder-off.ts +++ b/packages/hiccup-carbon-icons/src/folder-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOLDER_OFF */ // prettier-ignore -export const FOLDER_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 8h-2.586L30 3.414 28.586 2 2 28.586 3.414 30l2-2H28a2 2 0 002-2V10a2 2 0 00-2-2zm0 18H7.414l16-16H28zM4 6h7.172l3.414 3.414.586.586H18V8h-2l-3.414-3.414A2 2 0 0011.172 4H4a2 2 0 00-2 2v18h2z" }]]; +export const FOLDER_OFF = svg( + ["path", { d: "M28 8h-2.586L30 3.414 28.586 2 2 28.586 3.414 30l2-2H28a2 2 0 002-2V10a2 2 0 00-2-2zm0 18H7.414l16-16H28zM4 6h7.172l3.414 3.414.586.586H18V8h-2l-3.414-3.414A2 2 0 0011.172 4H4a2 2 0 00-2 2v18h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/folder-shared.ts b/packages/hiccup-carbon-icons/src/folder-shared.ts index d65dad9a54..fc0995ef0d 100644 --- a/packages/hiccup-carbon-icons/src/folder-shared.ts +++ b/packages/hiccup-carbon-icons/src/folder-shared.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOLDER_SHARED */ // prettier-ignore -export const FOLDER_SHARED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 8H16l-3.41-3.41A2 2 0 0011.17 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V10a2 2 0 00-2-2zm-6 18h-8v-1a1 1 0 011-1h6a1 1 0 011 1zm6 0h-4v-1a3 3 0 00-3-3h-6a3 3 0 00-3 3v1H4V6h7.17l3.42 3.41.58.59H28z" }], - ["path", { d: "M14 17a4 4 0 104-4 4 4 0 00-4 4zm4-2a2 2 0 11-2 2 2 2 0 012-2z" }]]; +export const FOLDER_SHARED = svg( + ["path", { d: "M28 8H16l-3.41-3.41A2 2 0 0011.17 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V10a2 2 0 00-2-2zm-6 18h-8v-1a1 1 0 011-1h6a1 1 0 011 1zm6 0h-4v-1a3 3 0 00-3-3h-6a3 3 0 00-3 3v1H4V6h7.17l3.42 3.41.58.59H28z" }], + ["path", { d: "M14 17a4 4 0 104-4 4 4 0 00-4 4zm4-2a2 2 0 11-2 2 2 2 0 012-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/folder.ts b/packages/hiccup-carbon-icons/src/folder.ts index 7f206c0643..a9b84ee9d5 100644 --- a/packages/hiccup-carbon-icons/src/folder.ts +++ b/packages/hiccup-carbon-icons/src/folder.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOLDER */ // prettier-ignore -export const FOLDER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.17 6l3.42 3.41.58.59H28v16H4V6h7.17m0-2H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V10a2 2 0 00-2-2H16l-3.41-3.41A2 2 0 0011.17 4z" }]]; +export const FOLDER = svg( + ["path", { d: "M11.17 6l3.42 3.41.58.59H28v16H4V6h7.17m0-2H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V10a2 2 0 00-2-2H16l-3.41-3.41A2 2 0 0011.17 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/folders.ts b/packages/hiccup-carbon-icons/src/folders.ts index b11e5f1f67..35da91d513 100644 --- a/packages/hiccup-carbon-icons/src/folders.ts +++ b/packages/hiccup-carbon-icons/src/folders.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FOLDERS */ // prettier-ignore -export const FOLDERS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h5.667a2.012 2.012 0 011.2.4l3.466 2.6H26a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM11.666 11H5.998L6 26h20V14H15.666zM28 9H17.666l-4-3H6V4h7.667a2.012 2.012 0 011.2.4L18.333 7H28z" }]]; +export const FOLDERS = svg( + ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V11a2.002 2.002 0 012-2h5.667a2.012 2.012 0 011.2.4l3.466 2.6H26a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM11.666 11H5.998L6 26h20V14H15.666zM28 9H17.666l-4-3H6V4h7.667a2.012 2.012 0 011.2.4L18.333 7H28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fork.ts b/packages/hiccup-carbon-icons/src/fork.ts index 54533d4d0d..a12cb50ed9 100644 --- a/packages/hiccup-carbon-icons/src/fork.ts +++ b/packages/hiccup-carbon-icons/src/fork.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FORK */ // prettier-ignore -export const FORK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18a3.996 3.996 0 00-3.858 3H17V11h5.142a4 4 0 100-2H17a2.002 2.002 0 00-2 2v4H9.858a4 4 0 100 2H15v4a2.002 2.002 0 002 2h5.142A3.993 3.993 0 1026 18zm0-10a2 2 0 11-2 2 2.002 2.002 0 012-2zM6 18a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 6a2 2 0 112-2 2.002 2.002 0 01-2 2z" }]]; +export const FORK = svg( + ["path", { d: "M26 18a3.996 3.996 0 00-3.858 3H17V11h5.142a4 4 0 100-2H17a2.002 2.002 0 00-2 2v4H9.858a4 4 0 100 2H15v4a2.002 2.002 0 002 2h5.142A3.993 3.993 0 1026 18zm0-10a2 2 0 11-2 2 2.002 2.002 0 012-2zM6 18a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 6a2 2 0 112-2 2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/forum.ts b/packages/hiccup-carbon-icons/src/forum.ts index 8d001c9ce7..d2dd1c2107 100644 --- a/packages/hiccup-carbon-icons/src/forum.ts +++ b/packages/hiccup-carbon-icons/src/forum.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FORUM */ // prettier-ignore -export const FORUM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6H8c-1.2 0-2 .8-2 2v14c0 1.2.8 2 2 2h8v-2H8V8h20v14h-7.2L16 28.8l1.6 1.2 4.2-6H28c1.2 0 2-.8 2-2V8c0-1.2-.8-2-2-2z" }], - ["path", { d: "M4 18H2V5c0-1.7 1.3-3 3-3h13v2H5c-.6 0-1 .4-1 1v13z" }]]; +export const FORUM = svg( + ["path", { d: "M28 6H8c-1.2 0-2 .8-2 2v14c0 1.2.8 2 2 2h8v-2H8V8h20v14h-7.2L16 28.8l1.6 1.2 4.2-6H28c1.2 0 2-.8 2-2V8c0-1.2-.8-2-2-2z" }], + ["path", { d: "M4 18H2V5c0-1.7 1.3-3 3-3h13v2H5c-.6 0-1 .4-1 1v13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/forward-10.ts b/packages/hiccup-carbon-icons/src/forward-10.ts index 35d4b09745..80b8fbbc18 100644 --- a/packages/hiccup-carbon-icons/src/forward-10.ts +++ b/packages/hiccup-carbon-icons/src/forward-10.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FORWARD_10 */ // prettier-ignore -export const FORWARD_10: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18A10 10 0 1116 8h4v5l6-6-6-6v5h-4a12 12 0 1012 12z" }], - ["path", { d: "M19.63 22.13a2.84 2.84 0 01-1.28-.27 2.44 2.44 0 01-.89-.77 3.57 3.57 0 01-.52-1.25 7.69 7.69 0 01-.17-1.68 7.83 7.83 0 01.17-1.68 3.65 3.65 0 01.52-1.25 2.44 2.44 0 01.89-.77 2.84 2.84 0 011.28-.27 2.44 2.44 0 012.16 1 5.23 5.23 0 01.7 2.93 5.23 5.23 0 01-.7 2.93 2.44 2.44 0 01-2.16 1.08zm0-1.22a1.07 1.07 0 001-.55 3.38 3.38 0 00.37-1.51v-1.38a3.31 3.31 0 00-.29-1.5 1.23 1.23 0 00-2.06 0 3.31 3.31 0 00-.29 1.5v1.38a3.38 3.38 0 00.29 1.51 1.06 1.06 0 00.98.55zM10.63 22v-1.18h2v-5.19l-1.86 1-.55-1.06 2.32-1.3H14v6.5h1.78V22z" }]]; +export const FORWARD_10 = svg( + ["path", { d: "M26 18A10 10 0 1116 8h4v5l6-6-6-6v5h-4a12 12 0 1012 12z" }], + ["path", { d: "M19.63 22.13a2.84 2.84 0 01-1.28-.27 2.44 2.44 0 01-.89-.77 3.57 3.57 0 01-.52-1.25 7.69 7.69 0 01-.17-1.68 7.83 7.83 0 01.17-1.68 3.65 3.65 0 01.52-1.25 2.44 2.44 0 01.89-.77 2.84 2.84 0 011.28-.27 2.44 2.44 0 012.16 1 5.23 5.23 0 01.7 2.93 5.23 5.23 0 01-.7 2.93 2.44 2.44 0 01-2.16 1.08zm0-1.22a1.07 1.07 0 001-.55 3.38 3.38 0 00.37-1.51v-1.38a3.31 3.31 0 00-.29-1.5 1.23 1.23 0 00-2.06 0 3.31 3.31 0 00-.29 1.5v1.38a3.38 3.38 0 00.29 1.51 1.06 1.06 0 00.98.55zM10.63 22v-1.18h2v-5.19l-1.86 1-.55-1.06 2.32-1.3H14v6.5h1.78V22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/forward-30.ts b/packages/hiccup-carbon-icons/src/forward-30.ts index c024e6b1b8..6ddcb26d12 100644 --- a/packages/hiccup-carbon-icons/src/forward-30.ts +++ b/packages/hiccup-carbon-icons/src/forward-30.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FORWARD_30 */ // prettier-ignore -export const FORWARD_30: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18A10 10 0 1116 8h4v5l6-6-6-6v5h-4a12 12 0 1012 12z" }], - ["path", { d: "M19.64 22.13a2.81 2.81 0 01-1.28-.27 2.36 2.36 0 01-.89-.77 3.39 3.39 0 01-.47-1.25 7.12 7.12 0 01-.17-1.68 7.24 7.24 0 01.17-1.68 3.46 3.46 0 01.52-1.25 2.36 2.36 0 01.89-.77 2.81 2.81 0 011.28-.27 2.44 2.44 0 012.16 1 5.31 5.31 0 01.7 2.93 5.31 5.31 0 01-.7 2.93 2.44 2.44 0 01-2.21 1.08zm0-1.22a1 1 0 001-.55 3.24 3.24 0 00.3-1.51v-1.38a3.17 3.17 0 00-.3-1.5 1.22 1.22 0 00-2.05 0 3.18 3.18 0 00-.29 1.5v1.38a3.25 3.25 0 00.29 1.51 1 1 0 001.05.55zM12.62 17.42a1.46 1.46 0 001-.27.84.84 0 00.31-.68v-.08a.94.94 0 00-.3-.74 1.2 1.2 0 00-.83-.27 1.65 1.65 0 00-.89.24 2.1 2.1 0 00-.68.68l-.93-.83a5.37 5.37 0 01.44-.51 2.7 2.7 0 01.54-.4 2.55 2.55 0 01.7-.27 3.25 3.25 0 01.87-.1 3.94 3.94 0 011.06.14 2.33 2.33 0 01.82.4 1.91 1.91 0 01.54.63 1.87 1.87 0 01.18.83 2 2 0 01-.11.67 1.82 1.82 0 01-.32.52 1.79 1.79 0 01-.47.36 2.27 2.27 0 01-.57.2V18a2.34 2.34 0 01.63.21 1.7 1.7 0 01.51.38 1.89 1.89 0 01.34.55 2.07 2.07 0 01.12.73 2 2 0 01-.2.92 2 2 0 01-.58.72 2.66 2.66 0 01-.89.45 3.76 3.76 0 01-1.15.16 4.1 4.1 0 01-1-.11 3.1 3.1 0 01-.76-.31 2.76 2.76 0 01-.56-.45 4.22 4.22 0 01-.44-.55l1.07-.81a3.07 3.07 0 00.28.42 1.94 1.94 0 00.36.34 1.57 1.57 0 00.45.22 2 2 0 00.57.07 1.45 1.45 0 001-.3 1.12 1.12 0 00.34-.85v-.08a1 1 0 00-.37-.8 1.78 1.78 0 00-1.06-.28h-.76v-1.21z" }]]; +export const FORWARD_30 = svg( + ["path", { d: "M26 18A10 10 0 1116 8h4v5l6-6-6-6v5h-4a12 12 0 1012 12z" }], + ["path", { d: "M19.64 22.13a2.81 2.81 0 01-1.28-.27 2.36 2.36 0 01-.89-.77 3.39 3.39 0 01-.47-1.25 7.12 7.12 0 01-.17-1.68 7.24 7.24 0 01.17-1.68 3.46 3.46 0 01.52-1.25 2.36 2.36 0 01.89-.77 2.81 2.81 0 011.28-.27 2.44 2.44 0 012.16 1 5.31 5.31 0 01.7 2.93 5.31 5.31 0 01-.7 2.93 2.44 2.44 0 01-2.21 1.08zm0-1.22a1 1 0 001-.55 3.24 3.24 0 00.3-1.51v-1.38a3.17 3.17 0 00-.3-1.5 1.22 1.22 0 00-2.05 0 3.18 3.18 0 00-.29 1.5v1.38a3.25 3.25 0 00.29 1.51 1 1 0 001.05.55zM12.62 17.42a1.46 1.46 0 001-.27.84.84 0 00.31-.68v-.08a.94.94 0 00-.3-.74 1.2 1.2 0 00-.83-.27 1.65 1.65 0 00-.89.24 2.1 2.1 0 00-.68.68l-.93-.83a5.37 5.37 0 01.44-.51 2.7 2.7 0 01.54-.4 2.55 2.55 0 01.7-.27 3.25 3.25 0 01.87-.1 3.94 3.94 0 011.06.14 2.33 2.33 0 01.82.4 1.91 1.91 0 01.54.63 1.87 1.87 0 01.18.83 2 2 0 01-.11.67 1.82 1.82 0 01-.32.52 1.79 1.79 0 01-.47.36 2.27 2.27 0 01-.57.2V18a2.34 2.34 0 01.63.21 1.7 1.7 0 01.51.38 1.89 1.89 0 01.34.55 2.07 2.07 0 01.12.73 2 2 0 01-.2.92 2 2 0 01-.58.72 2.66 2.66 0 01-.89.45 3.76 3.76 0 01-1.15.16 4.1 4.1 0 01-1-.11 3.1 3.1 0 01-.76-.31 2.76 2.76 0 01-.56-.45 4.22 4.22 0 01-.44-.55l1.07-.81a3.07 3.07 0 00.28.42 1.94 1.94 0 00.36.34 1.57 1.57 0 00.45.22 2 2 0 00.57.07 1.45 1.45 0 001-.3 1.12 1.12 0 00.34-.85v-.08a1 1 0 00-.37-.8 1.78 1.78 0 00-1.06-.28h-.76v-1.21z" }] +); diff --git a/packages/hiccup-carbon-icons/src/forward-5.ts b/packages/hiccup-carbon-icons/src/forward-5.ts index fe21620959..92abd94375 100644 --- a/packages/hiccup-carbon-icons/src/forward-5.ts +++ b/packages/hiccup-carbon-icons/src/forward-5.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FORWARD_5 */ // prettier-ignore -export const FORWARD_5: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18A10 10 0 1116 8h4v5l6-6-6-6v5h-4a12 12 0 1012 12z" }], - ["path", { d: "M18.58 15.58h-3.45L15 18.15a4.83 4.83 0 01.26-.45 1.59 1.59 0 01.33-.35 1.53 1.53 0 01.44-.23 2 2 0 01.6-.08 2.54 2.54 0 01.92.16 2.06 2.06 0 01.74.48 2.28 2.28 0 01.5.77 2.73 2.73 0 01.18 1 2.87 2.87 0 01-.19 1.07 2.36 2.36 0 01-.55.84 2.44 2.44 0 01-.89.55 3.23 3.23 0 01-1.21.2 3.79 3.79 0 01-.94-.11 3 3 0 01-.74-.32 2.45 2.45 0 01-.55-.45 4.13 4.13 0 01-.41-.55l1.06-.81.27.41a1.82 1.82 0 00.34.34 1.59 1.59 0 00.43.22 1.52 1.52 0 00.55.08 1.29 1.29 0 001-.36 1.41 1.41 0 00.33-1v-.06a1.18 1.18 0 00-1.28-1.27 1.44 1.44 0 00-.77.18 1.94 1.94 0 00-.48.39l-1.19-.17.29-4.31h4.52z" }]]; +export const FORWARD_5 = svg( + ["path", { d: "M26 18A10 10 0 1116 8h4v5l6-6-6-6v5h-4a12 12 0 1012 12z" }], + ["path", { d: "M18.58 15.58h-3.45L15 18.15a4.83 4.83 0 01.26-.45 1.59 1.59 0 01.33-.35 1.53 1.53 0 01.44-.23 2 2 0 01.6-.08 2.54 2.54 0 01.92.16 2.06 2.06 0 01.74.48 2.28 2.28 0 01.5.77 2.73 2.73 0 01.18 1 2.87 2.87 0 01-.19 1.07 2.36 2.36 0 01-.55.84 2.44 2.44 0 01-.89.55 3.23 3.23 0 01-1.21.2 3.79 3.79 0 01-.94-.11 3 3 0 01-.74-.32 2.45 2.45 0 01-.55-.45 4.13 4.13 0 01-.41-.55l1.06-.81.27.41a1.82 1.82 0 00.34.34 1.59 1.59 0 00.43.22 1.52 1.52 0 00.55.08 1.29 1.29 0 001-.36 1.41 1.41 0 00.33-1v-.06a1.18 1.18 0 00-1.28-1.27 1.44 1.44 0 00-.77.18 1.94 1.94 0 00-.48.39l-1.19-.17.29-4.31h4.52z" }] +); diff --git a/packages/hiccup-carbon-icons/src/fruit-bowl.ts b/packages/hiccup-carbon-icons/src/fruit-bowl.ts index 6bec81d56d..94d6eacbd0 100644 --- a/packages/hiccup-carbon-icons/src/fruit-bowl.ts +++ b/packages/hiccup-carbon-icons/src/fruit-bowl.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FRUIT_BOWL */ // prettier-ignore -export const FRUIT_BOWL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 15a6.003 6.003 0 00-3.107-5.253A3.98 3.98 0 0024 7h-2a2.002 2.002 0 01-2 2 6.004 6.004 0 00-5.995 5.892A7 7 0 0112 10a3.996 3.996 0 00-3-3.858V4H7v2.142A3.996 3.996 0 004 10v5H2v1a14 14 0 0028 0v-1zm-6-4a4.005 4.005 0 014 4h-8a4.005 4.005 0 014-4zM6 10a2 2 0 114 0 8.991 8.991 0 001.532 5H6zm10 18A12.017 12.017 0 014.041 17H27.96A12.017 12.017 0 0116 28z" }]]; +export const FRUIT_BOWL = svg( + ["path", { d: "M26 15a6.003 6.003 0 00-3.107-5.253A3.98 3.98 0 0024 7h-2a2.002 2.002 0 01-2 2 6.004 6.004 0 00-5.995 5.892A7 7 0 0112 10a3.996 3.996 0 00-3-3.858V4H7v2.142A3.996 3.996 0 004 10v5H2v1a14 14 0 0028 0v-1zm-6-4a4.005 4.005 0 014 4h-8a4.005 4.005 0 014-4zM6 10a2 2 0 114 0 8.991 8.991 0 001.532 5H6zm10 18A12.017 12.017 0 014.041 17H27.96A12.017 12.017 0 0116 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/function.ts b/packages/hiccup-carbon-icons/src/function.ts index 8135e0f728..5a31995c29 100644 --- a/packages/hiccup-carbon-icons/src/function.ts +++ b/packages/hiccup-carbon-icons/src/function.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#FUNCTION */ // prettier-ignore -export const FUNCTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8.5 30a2.5 2.5 0 010-5c.63-.07 2.35-1.53 2.49-7.22l-1.78-.45a2.92 2.92 0 010-5.66l1.79-.46C11.55 4 19.32 2 23.5 2a2.5 2.5 0 010 5c-.08 0-2.23.15-2.48 4.22l1.77.45a2.92 2.92 0 010 5.66l-1.79.46C20.49 29.86 8.62 30 8.5 30zm15-26c-.43 0-10.5.11-10.5 8v.78l-3.3.83a.92.92 0 000 1.78l3.3.83V17c0 9.72-4 10-4.5 10a.5.5 0 000 1c.43 0 10.5-.17 10.5-11v-.78l3.3-.83a.92.92 0 000-1.78l-3.3-.83V12c0-6.92 4.46-7 4.5-7a.5.5 0 000-1z" }], - ["path", { d: "M4.15 23.46a14 14 0 016.46-20.38l.77 1.84A12 12 0 005.85 22.4zM21.39 28.92l-.77-1.84a12 12 0 005.49-17.54l1.69-1.08a14 14 0 01-6.41 20.46z" }]]; +export const FUNCTION = svg( + ["path", { d: "M8.5 30a2.5 2.5 0 010-5c.63-.07 2.35-1.53 2.49-7.22l-1.78-.45a2.92 2.92 0 010-5.66l1.79-.46C11.55 4 19.32 2 23.5 2a2.5 2.5 0 010 5c-.08 0-2.23.15-2.48 4.22l1.77.45a2.92 2.92 0 010 5.66l-1.79.46C20.49 29.86 8.62 30 8.5 30zm15-26c-.43 0-10.5.11-10.5 8v.78l-3.3.83a.92.92 0 000 1.78l3.3.83V17c0 9.72-4 10-4.5 10a.5.5 0 000 1c.43 0 10.5-.17 10.5-11v-.78l3.3-.83a.92.92 0 000-1.78l-3.3-.83V12c0-6.92 4.46-7 4.5-7a.5.5 0 000-1z" }], + ["path", { d: "M4.15 23.46a14 14 0 016.46-20.38l.77 1.84A12 12 0 005.85 22.4zM21.39 28.92l-.77-1.84a12 12 0 005.49-17.54l1.69-1.08a14 14 0 01-6.41 20.46z" }] +); diff --git a/packages/hiccup-carbon-icons/src/game-console.ts b/packages/hiccup-carbon-icons/src/game-console.ts index 4528318c91..367335e511 100644 --- a/packages/hiccup-carbon-icons/src/game-console.ts +++ b/packages/hiccup-carbon-icons/src/game-console.ts @@ -1,32 +1,34 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GAME_CONSOLE */ // prettier-ignore -export const GAME_CONSOLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7.51 26a5.48 5.48 0 01-1.44-.19A5.6 5.6 0 012.19 19l2.33-8.84a5.54 5.54 0 012.59-3.43 5.43 5.43 0 014.15-.54A5.52 5.52 0 0114.7 9h2.6a5.49 5.49 0 013.44-2.81 5.43 5.43 0 014.15.54 5.57 5.57 0 012.59 3.41L29.81 19a5.6 5.6 0 01-3.89 6.83 5.43 5.43 0 01-4.15-.54 5.54 5.54 0 01-2.59-3.41L19 21h-6l-.23.86a5.54 5.54 0 01-2.59 3.41 5.46 5.46 0 01-2.67.73zM9.83 8a3.49 3.49 0 00-1.72.46 3.6 3.6 0 00-1.66 2.19l-2.33 8.84a3.6 3.6 0 002.48 4.39 3.43 3.43 0 002.62-.34 3.54 3.54 0 001.66-2.19L11.5 19h9l.61 2.35a3.58 3.58 0 001.66 2.19 3.46 3.46 0 002.63.34 3.58 3.58 0 002.47-4.39l-2.33-8.84a3.55 3.55 0 00-1.65-2.19 3.46 3.46 0 00-2.63-.34 3.55 3.55 0 00-2.37 2.22l-.24.66h-5.3l-.24-.66a3.56 3.56 0 00-2.38-2.22 3.48 3.48 0 00-.9-.12z" }], - ["path", { d: "M10 16a2 2 0 112-2 2 2 0 01-2 2zm0-2z" }], - ["circle", - { - r: 1, - cy: 12, - cx: 22, - }], - ["circle", - { - r: 1, - cy: 16, - cx: 22, - }], - ["circle", - { - r: 1, - cy: 14, - cx: 20, - }], - ["circle", - { - r: 1, - cy: 14, - cx: 24, - }]]; +export const GAME_CONSOLE = svg( + ["path", { d: "M7.51 26a5.48 5.48 0 01-1.44-.19A5.6 5.6 0 012.19 19l2.33-8.84a5.54 5.54 0 012.59-3.43 5.43 5.43 0 014.15-.54A5.52 5.52 0 0114.7 9h2.6a5.49 5.49 0 013.44-2.81 5.43 5.43 0 014.15.54 5.57 5.57 0 012.59 3.41L29.81 19a5.6 5.6 0 01-3.89 6.83 5.43 5.43 0 01-4.15-.54 5.54 5.54 0 01-2.59-3.41L19 21h-6l-.23.86a5.54 5.54 0 01-2.59 3.41 5.46 5.46 0 01-2.67.73zM9.83 8a3.49 3.49 0 00-1.72.46 3.6 3.6 0 00-1.66 2.19l-2.33 8.84a3.6 3.6 0 002.48 4.39 3.43 3.43 0 002.62-.34 3.54 3.54 0 001.66-2.19L11.5 19h9l.61 2.35a3.58 3.58 0 001.66 2.19 3.46 3.46 0 002.63.34 3.58 3.58 0 002.47-4.39l-2.33-8.84a3.55 3.55 0 00-1.65-2.19 3.46 3.46 0 00-2.63-.34 3.55 3.55 0 00-2.37 2.22l-.24.66h-5.3l-.24-.66a3.56 3.56 0 00-2.38-2.22 3.48 3.48 0 00-.9-.12z" }], + ["path", { d: "M10 16a2 2 0 112-2 2 2 0 01-2 2zm0-2z" }], + ["circle", + { + r: 1, + cy: 12, + cx: 22, + }], + ["circle", + { + r: 1, + cy: 16, + cx: 22, + }], + ["circle", + { + r: 1, + cy: 14, + cx: 20, + }], + ["circle", + { + r: 1, + cy: 14, + cx: 24, + }] +); diff --git a/packages/hiccup-carbon-icons/src/game-wireless.ts b/packages/hiccup-carbon-icons/src/game-wireless.ts index ddef30cec6..e3206cc17a 100644 --- a/packages/hiccup-carbon-icons/src/game-wireless.ts +++ b/packages/hiccup-carbon-icons/src/game-wireless.ts @@ -1,34 +1,36 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GAME_WIRELESS */ // prettier-ignore -export const GAME_WIRELESS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7.51 30a5.48 5.48 0 01-1.44-.19A5.6 5.6 0 012.19 23l2.33-8.84a5.54 5.54 0 012.59-3.41 5.43 5.43 0 014.15-.54A5.52 5.52 0 0114.7 13h2.6a5.49 5.49 0 013.44-2.81 5.43 5.43 0 014.15.54 5.55 5.55 0 012.59 3.41L29.81 23a5.6 5.6 0 01-3.89 6.83 5.43 5.43 0 01-4.15-.54 5.54 5.54 0 01-2.59-3.41L19 25h-6l-.23.86a5.54 5.54 0 01-2.59 3.41 5.46 5.46 0 01-2.67.73zm2.32-18a3.49 3.49 0 00-1.72.46 3.58 3.58 0 00-1.66 2.19l-2.33 8.84a3.6 3.6 0 002.48 4.39 3.43 3.43 0 002.62-.34 3.57 3.57 0 001.66-2.19L11.5 23h9l.61 2.35a3.6 3.6 0 001.66 2.19 3.46 3.46 0 002.63.34 3.58 3.58 0 002.47-4.39l-2.33-8.84a3.53 3.53 0 00-1.65-2.19 3.46 3.46 0 00-2.63-.34 3.55 3.55 0 00-2.37 2.22l-.24.66h-5.3l-.24-.66a3.56 3.56 0 00-2.38-2.22 3.48 3.48 0 00-.9-.12z" }], - ["path", { d: "M10 20a2 2 0 112-2 2 2 0 01-2 2zm0-2z" }], - ["circle", - { - r: 1, - cy: 16, - cx: 22, - }], - ["circle", - { - r: 1, - cy: 20, - cx: 22, - }], - ["circle", - { - r: 1, - cy: 18, - cx: 20, - }], - ["circle", - { - r: 1, - cy: 18, - cx: 24, - }], - ["path", { d: "M13.75 9l-1.5-1.33a5 5 0 017.5 0L18.25 9a3 3 0 00-4.5 0z" }], - ["path", { d: "M21.25 6.37a7 7 0 00-10.5 0l-1.5-1.32a9 9 0 0113.5 0z" }]]; +export const GAME_WIRELESS = svg( + ["path", { d: "M7.51 30a5.48 5.48 0 01-1.44-.19A5.6 5.6 0 012.19 23l2.33-8.84a5.54 5.54 0 012.59-3.41 5.43 5.43 0 014.15-.54A5.52 5.52 0 0114.7 13h2.6a5.49 5.49 0 013.44-2.81 5.43 5.43 0 014.15.54 5.55 5.55 0 012.59 3.41L29.81 23a5.6 5.6 0 01-3.89 6.83 5.43 5.43 0 01-4.15-.54 5.54 5.54 0 01-2.59-3.41L19 25h-6l-.23.86a5.54 5.54 0 01-2.59 3.41 5.46 5.46 0 01-2.67.73zm2.32-18a3.49 3.49 0 00-1.72.46 3.58 3.58 0 00-1.66 2.19l-2.33 8.84a3.6 3.6 0 002.48 4.39 3.43 3.43 0 002.62-.34 3.57 3.57 0 001.66-2.19L11.5 23h9l.61 2.35a3.6 3.6 0 001.66 2.19 3.46 3.46 0 002.63.34 3.58 3.58 0 002.47-4.39l-2.33-8.84a3.53 3.53 0 00-1.65-2.19 3.46 3.46 0 00-2.63-.34 3.55 3.55 0 00-2.37 2.22l-.24.66h-5.3l-.24-.66a3.56 3.56 0 00-2.38-2.22 3.48 3.48 0 00-.9-.12z" }], + ["path", { d: "M10 20a2 2 0 112-2 2 2 0 01-2 2zm0-2z" }], + ["circle", + { + r: 1, + cy: 16, + cx: 22, + }], + ["circle", + { + r: 1, + cy: 20, + cx: 22, + }], + ["circle", + { + r: 1, + cy: 18, + cx: 20, + }], + ["circle", + { + r: 1, + cy: 18, + cx: 24, + }], + ["path", { d: "M13.75 9l-1.5-1.33a5 5 0 017.5 0L18.25 9a3 3 0 00-4.5 0z" }], + ["path", { d: "M21.25 6.37a7 7 0 00-10.5 0l-1.5-1.32a9 9 0 0113.5 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/gamification.ts b/packages/hiccup-carbon-icons/src/gamification.ts index aceb969b7c..12e7c084f5 100644 --- a/packages/hiccup-carbon-icons/src/gamification.ts +++ b/packages/hiccup-carbon-icons/src/gamification.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GAMIFICATION */ // prettier-ignore -export const GAMIFICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 23h-.132l.964-1.445A1 1 0 0024 21v-9c0-9.885-7.92-10-8-10a1 1 0 00-1 1v2h-1a.996.996 0 00-.581.186l-7 5a1 1 0 00-.368 1.13l1 3a.998.998 0 001.09.674l4.87-.696-3.86 6.176a1 1 0 00.017 1.085L10.132 23H10a3.003 3.003 0 00-3 3v4h19v-4a3.003 3.003 0 00-3-3zm-7.152-9.47a1 1 0 00-.99-1.52l-6.174.882-.502-1.508L14.32 7h1.679a1 1 0 001-.999L17 4.129c1.501.335 4.217 1.541 4.86 5.871H19v2h3v2h-3v2h3v2h-3v2h3v.697L20.465 23h-7.93l-1.345-2.018zM24 28H9v-2a1 1 0 011-1h13a1 1 0 011 1z" }]]; +export const GAMIFICATION = svg( + ["path", { d: "M23 23h-.132l.964-1.445A1 1 0 0024 21v-9c0-9.885-7.92-10-8-10a1 1 0 00-1 1v2h-1a.996.996 0 00-.581.186l-7 5a1 1 0 00-.368 1.13l1 3a.998.998 0 001.09.674l4.87-.696-3.86 6.176a1 1 0 00.017 1.085L10.132 23H10a3.003 3.003 0 00-3 3v4h19v-4a3.003 3.003 0 00-3-3zm-7.152-9.47a1 1 0 00-.99-1.52l-6.174.882-.502-1.508L14.32 7h1.679a1 1 0 001-.999L17 4.129c1.501.335 4.217 1.541 4.86 5.871H19v2h3v2h-3v2h3v2h-3v2h3v.697L20.465 23h-7.93l-1.345-2.018zM24 28H9v-2a1 1 0 011-1h13a1 1 0 011 1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/gas-station.ts b/packages/hiccup-carbon-icons/src/gas-station.ts index 422adfa089..dfdf130fd1 100644 --- a/packages/hiccup-carbon-icons/src/gas-station.ts +++ b/packages/hiccup-carbon-icons/src/gas-station.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GAS_STATION */ // prettier-ignore -export const GAS_STATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 10h7v2H8z" }], - ["path", { d: "M28.414 8l-5-5L22 4.414l3 3V12a2.002 2.002 0 002 2v10.5a1.5 1.5 0 01-3 0V16a1 1 0 00-1-1h-4V5a1 1 0 00-1-1H5a1 1 0 00-1 1v21H2v2h19v-2h-2v-9h3v7.4a3.564 3.564 0 002.765 3.525A3.506 3.506 0 0029 24.5V9.414A2 2 0 0028.414 8zM17 26H6V6h11z" }]]; +export const GAS_STATION = svg( + ["path", { d: "M8 10h7v2H8z" }], + ["path", { d: "M28.414 8l-5-5L22 4.414l3 3V12a2.002 2.002 0 002 2v10.5a1.5 1.5 0 01-3 0V16a1 1 0 00-1-1h-4V5a1 1 0 00-1-1H5a1 1 0 00-1 1v21H2v2h19v-2h-2v-9h3v7.4a3.564 3.564 0 002.765 3.525A3.506 3.506 0 0029 24.5V9.414A2 2 0 0028.414 8zM17 26H6V6h11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/gender-female.ts b/packages/hiccup-carbon-icons/src/gender-female.ts index 01435d9b6e..e574521c31 100644 --- a/packages/hiccup-carbon-icons/src/gender-female.ts +++ b/packages/hiccup-carbon-icons/src/gender-female.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GENDER_FEMALE */ // prettier-ignore -export const GENDER_FEMALE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 19.93a8 8 0 10-2 0V22h-5v2h5v4h2v-4h5v-2h-5zM10 12a6 6 0 116 6 6.007 6.007 0 01-6-6z" }]]; +export const GENDER_FEMALE = svg( + ["path", { d: "M17 19.93a8 8 0 10-2 0V22h-5v2h5v4h2v-4h5v-2h-5zM10 12a6 6 0 116 6 6.007 6.007 0 01-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/gender-male.ts b/packages/hiccup-carbon-icons/src/gender-male.ts index ba0f78a224..c508150721 100644 --- a/packages/hiccup-carbon-icons/src/gender-male.ts +++ b/packages/hiccup-carbon-icons/src/gender-male.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GENDER_MALE */ // prettier-ignore -export const GENDER_MALE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 4v2h6.586l-7.688 7.689a8.028 8.028 0 101.414 1.414L26 7.414V14h2V4zm-6 22a6 6 0 116-6 6.007 6.007 0 01-6 6z" }]]; +export const GENDER_MALE = svg( + ["path", { d: "M18 4v2h6.586l-7.688 7.689a8.028 8.028 0 101.414 1.414L26 7.414V14h2V4zm-6 22a6 6 0 116-6 6.007 6.007 0 01-6 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/generate-pdf.ts b/packages/hiccup-carbon-icons/src/generate-pdf.ts index 6f3a9956d3..5d7990cabc 100644 --- a/packages/hiccup-carbon-icons/src/generate-pdf.ts +++ b/packages/hiccup-carbon-icons/src/generate-pdf.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GENERATE_PDF */ // prettier-ignore -export const GENERATE_PDF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 24v4H8v-4H6v4a2 2 0 002 2h16a2 2 0 002-2v-4z" }], - ["path", { d: "M21 21l-1.414-1.414L17 22.172V14h-2v8.172l-2.586-2.586L11 21l5 5 5-5zM28 4V2h-6v10h2V8h3V6h-3V4h4zM17 12h-4V2h4a3.003 3.003 0 013 3v4a3.003 3.003 0 01-3 3zm-2-2h2a1.001 1.001 0 001-1V5a1.001 1.001 0 00-1-1h-2zM9 2H4v10h2V9h3a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zM6 7V4h3l.001 3z" }]]; +export const GENERATE_PDF = svg( + ["path", { d: "M24 24v4H8v-4H6v4a2 2 0 002 2h16a2 2 0 002-2v-4z" }], + ["path", { d: "M21 21l-1.414-1.414L17 22.172V14h-2v8.172l-2.586-2.586L11 21l5 5 5-5zM28 4V2h-6v10h2V8h3V6h-3V4h4zM17 12h-4V2h4a3.003 3.003 0 013 3v4a3.003 3.003 0 01-3 3zm-2-2h2a1.001 1.001 0 001-1V5a1.001 1.001 0 00-1-1h-2zM9 2H4v10h2V9h3a2.003 2.003 0 002-2V4a2.002 2.002 0 00-2-2zM6 7V4h3l.001 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/gif.ts b/packages/hiccup-carbon-icons/src/gif.ts index 9b2b87e5fa..1c2e172053 100644 --- a/packages/hiccup-carbon-icons/src/gif.ts +++ b/packages/hiccup-carbon-icons/src/gif.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GIF */ // prettier-ignore -export const GIF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 12v8a3 3 0 003 3h5v-8H6v2h2v4H5a1 1 0 01-1-1v-8a1 1 0 011-1h5V9H5a3 3 0 00-3 3zM30 11V9h-8v14h2v-6h5v-2h-5v-4h6zM12 9v2h3v10h-3v2h8v-2h-3V11h3V9h-8z" }]]; +export const GIF = svg( + ["path", { d: "M2 12v8a3 3 0 003 3h5v-8H6v2h2v4H5a1 1 0 01-1-1v-8a1 1 0 011-1h5V9H5a3 3 0 00-3 3zM30 11V9h-8v14h2v-6h5v-2h-5v-4h6zM12 9v2h3v10h-3v2h8v-2h-3V11h3V9h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/gift.ts b/packages/hiccup-carbon-icons/src/gift.ts index 9c7594697f..aee29ad2ea 100644 --- a/packages/hiccup-carbon-icons/src/gift.ts +++ b/packages/hiccup-carbon-icons/src/gift.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GIFT */ // prettier-ignore -export const GIFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 10h-2.762A4.487 4.487 0 0016 4.707 4.487 4.487 0 008.762 10H6a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2v10a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2V18a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zm-9-2.5a2.5 2.5 0 112.5 2.5H17zM12.5 5A2.503 2.503 0 0115 7.5V10h-2.5a2.5 2.5 0 010-5zM6 12h9v4H6zm2 6h7v10H8zm16.001 10H17V18h7zM17 16v-4h9l.001 4z" }]]; +export const GIFT = svg( + ["path", { d: "M26 10h-2.762A4.487 4.487 0 0016 4.707 4.487 4.487 0 008.762 10H6a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2v10a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2V18a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zm-9-2.5a2.5 2.5 0 112.5 2.5H17zM12.5 5A2.503 2.503 0 0115 7.5V10h-2.5a2.5 2.5 0 010-5zM6 12h9v4H6zm2 6h7v10H8zm16.001 10H17V18h7zM17 16v-4h9l.001 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/globe.ts b/packages/hiccup-carbon-icons/src/globe.ts index 526c74f269..a7ec55b801 100644 --- a/packages/hiccup-carbon-icons/src/globe.ts +++ b/packages/hiccup-carbon-icons/src/globe.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GLOBE */ // prettier-ignore -export const GLOBE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 4a7 7 0 11-7 7 7 7 0 017-7m0-2a9 9 0 109 9 9 9 0 00-9-9z" }], - ["path", { d: "M28 11a13.956 13.956 0 00-4.105-9.895L22.48 2.52a11.994 11.994 0 01-16.924 17l-.038-.038-1.414 1.414A13.956 13.956 0 0014 25v3h-4v2h10v-2h-4v-3.16A14.01 14.01 0 0028 11z" }]]; +export const GLOBE = svg( + ["path", { d: "M14 4a7 7 0 11-7 7 7 7 0 017-7m0-2a9 9 0 109 9 9 9 0 00-9-9z" }], + ["path", { d: "M28 11a13.956 13.956 0 00-4.105-9.895L22.48 2.52a11.994 11.994 0 01-16.924 17l-.038-.038-1.414 1.414A13.956 13.956 0 0014 25v3h-4v2h10v-2h-4v-3.16A14.01 14.01 0 0028 11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/gradient.ts b/packages/hiccup-carbon-icons/src/gradient.ts index 9bea36e724..de761dd588 100644 --- a/packages/hiccup-carbon-icons/src/gradient.ts +++ b/packages/hiccup-carbon-icons/src/gradient.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GRADIENT */ // prettier-ignore -export const GRADIENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h20a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zm-4 22v-4h-4v4h-4v-4h-4v-4h4v-4h-4v-4h4V6h4v4h4V6h4v20z" }], - ["path", { d: "M14 10h4v4h-4zM14 18h4v4h-4zM18 14h4v4h-4z" }]]; +export const GRADIENT = svg( + ["path", { d: "M26 4H6a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h20a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zm-4 22v-4h-4v4h-4v-4h-4v-4h4v-4h-4v-4h4V6h4v4h4V6h4v20z" }], + ["path", { d: "M14 10h4v4h-4zM14 18h4v4h-4zM18 14h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/graphical-data-flow.ts b/packages/hiccup-carbon-icons/src/graphical-data-flow.ts index fdd1d4e8a5..3b74239dce 100644 --- a/packages/hiccup-carbon-icons/src/graphical-data-flow.ts +++ b/packages/hiccup-carbon-icons/src/graphical-data-flow.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GRAPHICAL_DATA_FLOW */ // prettier-ignore -export const GRAPHICAL_DATA_FLOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 30h-6a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8h-.001L22 28h6v-6zM18 26h-6a3.003 3.003 0 01-3-3v-4h2v4a1.001 1.001 0 001 1h6zM26 18h-2v-3a1.001 1.001 0 00-1-1h-5v-2h5a3.003 3.003 0 013 3zM15 18a.999.999 0 01-.497-.132L10 15.288l-4.503 2.58a1 1 0 01-1.471-1.094l1.061-4.572-2.818-3.02a1 1 0 01.566-1.668l4.2-.702 2.066-4.25a1 1 0 011.788-.02l2.204 4.27 4.077.702a1 1 0 01.561 1.668l-2.818 3.02 1.06 4.572A1 1 0 0115 18zm-5-5s.343.18.497.269l3.01 1.724-.784-3.377 2.282-2.445-3.233-.557-1.745-3.382-1.644 3.382-3.381.565 2.274 2.437-.784 3.377 3.01-1.724C9.658 13.18 10 13 10 13z" }]]; +export const GRAPHICAL_DATA_FLOW = svg( + ["path", { d: "M28 30h-6a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8h-.001L22 28h6v-6zM18 26h-6a3.003 3.003 0 01-3-3v-4h2v4a1.001 1.001 0 001 1h6zM26 18h-2v-3a1.001 1.001 0 00-1-1h-5v-2h5a3.003 3.003 0 013 3zM15 18a.999.999 0 01-.497-.132L10 15.288l-4.503 2.58a1 1 0 01-1.471-1.094l1.061-4.572-2.818-3.02a1 1 0 01.566-1.668l4.2-.702 2.066-4.25a1 1 0 011.788-.02l2.204 4.27 4.077.702a1 1 0 01.561 1.668l-2.818 3.02 1.06 4.572A1 1 0 0115 18zm-5-5s.343.18.497.269l3.01 1.724-.784-3.377 2.282-2.445-3.233-.557-1.745-3.382-1.644 3.382-3.381.565 2.274 2.437-.784 3.377 3.01-1.724C9.658 13.18 10 13 10 13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/grid.ts b/packages/hiccup-carbon-icons/src/grid.ts index ee66c4f812..e7129e5d2d 100644 --- a/packages/hiccup-carbon-icons/src/grid.ts +++ b/packages/hiccup-carbon-icons/src/grid.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GRID */ // prettier-ignore -export const GRID: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 4H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2zm0 8H6V6h6zM26 4h-6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2zm0 8h-6V6h6zM12 18H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zm0 8H6v-6h6zM26 18h-6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zm0 8h-6v-6h6z" }]]; +export const GRID = svg( + ["path", { d: "M12 4H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2zm0 8H6V6h6zM26 4h-6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2zm0 8h-6V6h6zM12 18H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zm0 8H6v-6h6zM26 18h-6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zm0 8h-6v-6h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/group.ts b/packages/hiccup-carbon-icons/src/group.ts index a0b52d4e4d..8cc6d5bed0 100644 --- a/packages/hiccup-carbon-icons/src/group.ts +++ b/packages/hiccup-carbon-icons/src/group.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#GROUP */ // prettier-ignore -export const GROUP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M31 30h-2v-3a3 3 0 00-3-3h-4a3 3 0 00-3 3v3h-2v-3a5 5 0 015-5h4a5 5 0 015 5zM24 12a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5zM15 22h-2v-3a3 3 0 00-3-3H6a3 3 0 00-3 3v3H1v-3a5 5 0 015-5h4a5 5 0 015 5zM8 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }]]; +export const GROUP = svg( + ["path", { d: "M31 30h-2v-3a3 3 0 00-3-3h-4a3 3 0 00-3 3v3h-2v-3a5 5 0 015-5h4a5 5 0 015 5zM24 12a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5zM15 22h-2v-3a3 3 0 00-3-3H6a3 3 0 00-3 3v3H1v-3a5 5 0 015-5h4a5 5 0 015 5zM8 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hail.ts b/packages/hiccup-carbon-icons/src/hail.ts index a0019113aa..d41f1423ed 100644 --- a/packages/hiccup-carbon-icons/src/hail.ts +++ b/packages/hiccup-carbon-icons/src/hail.ts @@ -1,38 +1,40 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HAIL */ // prettier-ignore -export const HAIL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.5, - cy: 29.5, - cx: 21.5, - }], - ["circle", - { - r: 1.5, - cy: 25.5, - cx: 24.5, - }], - ["circle", - { - r: 1.5, - cy: 25.5, - cx: 7.5, - }], - ["circle", - { - r: 1.5, - cy: 29.5, - cx: 4.5, - }], - ["circle", - { - r: 1.5, - cy: 29.5, - cx: 10.499, - }], - ["path", { d: "M15.868 30.496l-1.736-.992L17.276 24h-5.999l4.855-8.496 1.736.992L14.723 22h6.001l-4.856 8.496z" }], - ["path", { d: "M23.5 22H23v-2h.5a4.497 4.497 0 00.356-8.981l-.815-.064-.099-.812a6.994 6.994 0 00-13.883 0l-.1.812-.815.064A4.497 4.497 0 008.5 20H9v2h-.5A6.497 6.497 0 017.2 9.136a8.994 8.994 0 0117.6 0A6.497 6.497 0 0123.5 22z" }]]; +export const HAIL = svg( + ["circle", + { + r: 1.5, + cy: 29.5, + cx: 21.5, + }], + ["circle", + { + r: 1.5, + cy: 25.5, + cx: 24.5, + }], + ["circle", + { + r: 1.5, + cy: 25.5, + cx: 7.5, + }], + ["circle", + { + r: 1.5, + cy: 29.5, + cx: 4.5, + }], + ["circle", + { + r: 1.5, + cy: 29.5, + cx: 10.499, + }], + ["path", { d: "M15.868 30.496l-1.736-.992L17.276 24h-5.999l4.855-8.496 1.736.992L14.723 22h6.001l-4.856 8.496z" }], + ["path", { d: "M23.5 22H23v-2h.5a4.497 4.497 0 00.356-8.981l-.815-.064-.099-.812a6.994 6.994 0 00-13.883 0l-.1.812-.815.064A4.497 4.497 0 008.5 20H9v2h-.5A6.497 6.497 0 017.2 9.136a8.994 8.994 0 0117.6 0A6.497 6.497 0 0123.5 22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/harbor.ts b/packages/hiccup-carbon-icons/src/harbor.ts index fb9370f703..b9401510d1 100644 --- a/packages/hiccup-carbon-icons/src/harbor.ts +++ b/packages/hiccup-carbon-icons/src/harbor.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HARBOR */ // prettier-ignore -export const HARBOR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 16a10.013 10.013 0 01-9 9.95V16h3v-2h-3V9.858a4 4 0 10-2 0V14h-3v2h3v9.95A10.013 10.013 0 016 16H4a12 12 0 0024 0zM14 6a2 2 0 112 2 2.002 2.002 0 01-2-2z" }]]; +export const HARBOR = svg( + ["path", { d: "M26 16a10.013 10.013 0 01-9 9.95V16h3v-2h-3V9.858a4 4 0 10-2 0V14h-3v2h3v9.95A10.013 10.013 0 016 16H4a12 12 0 0024 0zM14 6a2 2 0 112 2 2.002 2.002 0 01-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hashtag.ts b/packages/hiccup-carbon-icons/src/hashtag.ts index 83adf6b0e9..9a68b7d919 100644 --- a/packages/hiccup-carbon-icons/src/hashtag.ts +++ b/packages/hiccup-carbon-icons/src/hashtag.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HASHTAG */ // prettier-ignore -export const HASHTAG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 12v-2h-6V4h-2v6h-8V4h-2v6H4v2h6v8H4v2h6v6h2v-6h8v6h2v-6h6v-2h-6v-8zm-8 8h-8v-8h8z" }]]; +export const HASHTAG = svg( + ["path", { d: "M28 12v-2h-6V4h-2v6h-8V4h-2v6H4v2h6v8H4v2h6v6h2v-6h8v6h2v-6h6v-2h-6v-8zm-8 8h-8v-8h8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/haze-night.ts b/packages/hiccup-carbon-icons/src/haze-night.ts index 22e3a18966..bd1465f6b0 100644 --- a/packages/hiccup-carbon-icons/src/haze-night.ts +++ b/packages/hiccup-carbon-icons/src/haze-night.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HAZE_NIGHT */ // prettier-ignore -export const HAZE_NIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 22H13a1 1 0 000 2h9.677a11.1 11.1 0 01-7.556 2.998c-.138 0-.278.004-.418 0a11.095 11.095 0 01-3.2-21.584 15.153 15.153 0 00-.05 6.586H13.5a13.15 13.15 0 01.39-7.62A1.015 1.015 0 0012.98 3a.983.983 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0A13.04 13.04 0 0025.379 24H29a1 1 0 000-2z" }], - ["path", { d: "M27 20H17a1 1 0 010-2h10a1 1 0 010 2zM25 16H13a1 1 0 010-2h12a1 1 0 010 2z" }]]; +export const HAZE_NIGHT = svg( + ["path", { d: "M29 22H13a1 1 0 000 2h9.677a11.1 11.1 0 01-7.556 2.998c-.138 0-.278.004-.418 0a11.095 11.095 0 01-3.2-21.584 15.153 15.153 0 00-.05 6.586H13.5a13.15 13.15 0 01.39-7.62A1.015 1.015 0 0012.98 3a.983.983 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0A13.04 13.04 0 0025.379 24H29a1 1 0 000-2z" }], + ["path", { d: "M27 20H17a1 1 0 010-2h10a1 1 0 010 2zM25 16H13a1 1 0 010-2h12a1 1 0 010 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/haze.ts b/packages/hiccup-carbon-icons/src/haze.ts index ef9c7a2299..854f9e87bf 100644 --- a/packages/hiccup-carbon-icons/src/haze.ts +++ b/packages/hiccup-carbon-icons/src/haze.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HAZE */ // prettier-ignore -export const HAZE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 28H3a1 1 0 010-2h16a1 1 0 010 2zM15 20H3a1 1 0 010-2h12a1 1 0 010 2zM25.793 22.379l2.828 2.828-1.414 1.414-2.828-2.828zM28 15h4v2h-4zM24.379 8.207l2.828-2.828 1.414 1.414-2.828 2.828zM17 2h2v4h-2zM10.207 9.621L7.38 6.793l1.414-1.414 2.828 2.828z" }], - ["path", { d: "M18 8a8.01 8.01 0 00-8 8h2a6 6 0 116 6H7a1 1 0 000 2h11a8 8 0 000-16z" }]]; +export const HAZE = svg( + ["path", { d: "M19 28H3a1 1 0 010-2h16a1 1 0 010 2zM15 20H3a1 1 0 010-2h12a1 1 0 010 2zM25.793 22.379l2.828 2.828-1.414 1.414-2.828-2.828zM28 15h4v2h-4zM24.379 8.207l2.828-2.828 1.414 1.414-2.828 2.828zM17 2h2v4h-2zM10.207 9.621L7.38 6.793l1.414-1.414 2.828 2.828z" }], + ["path", { d: "M18 8a8.01 8.01 0 00-8 8h2a6 6 0 116 6H7a1 1 0 000 2h11a8 8 0 000-16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hd-filled.ts b/packages/hiccup-carbon-icons/src/hd-filled.ts index 9f22d3d5d2..c7436e654e 100644 --- a/packages/hiccup-carbon-icons/src/hd-filled.ts +++ b/packages/hiccup-carbon-icons/src/hd-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HD_FILLED */ // prettier-ignore -export const HD_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 13h-2v6h2a1 1 0 001-1v-4a1 1 0 00-1-1z" }], - ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM15 21h-2v-4h-3v4H8V11h2v4h3v-4h2zm10-3a3 3 0 01-3 3h-4V11h4a3 3 0 013 3z" }]]; +export const HD_FILLED = svg( + ["path", { d: "M22 13h-2v6h2a1 1 0 001-1v-4a1 1 0 00-1-1z" }], + ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM15 21h-2v-4h-3v4H8V11h2v4h3v-4h2zm10-3a3 3 0 01-3 3h-4V11h4a3 3 0 013 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hd.ts b/packages/hiccup-carbon-icons/src/hd.ts index 64599e792c..6009ae428f 100644 --- a/packages/hiccup-carbon-icons/src/hd.ts +++ b/packages/hiccup-carbon-icons/src/hd.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HD */ // prettier-ignore -export const HD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM4 24V8h24v16z" }], - ["path", { d: "M22 11h-4v10h4a3 3 0 003-3v-4a3 3 0 00-3-3zm1 7a1 1 0 01-1 1h-2v-6h2a1 1 0 011 1zM13 11v4h-3v-4H8v10h2v-4h3v4h2V11h-2z" }]]; +export const HD = svg( + ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM4 24V8h24v16z" }], + ["path", { d: "M22 11h-4v10h4a3 3 0 003-3v-4a3 3 0 00-3-3zm1 7a1 1 0 01-1 1h-2v-6h2a1 1 0 011 1zM13 11v4h-3v-4H8v10h2v-4h3v4h2V11h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hdr.ts b/packages/hiccup-carbon-icons/src/hdr.ts index c66eb44639..ec0ac32bbf 100644 --- a/packages/hiccup-carbon-icons/src/hdr.ts +++ b/packages/hiccup-carbon-icons/src/hdr.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HDR */ // prettier-ignore -export const HDR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 15v-4a2 2 0 00-2-2h-6v14h2v-6h1.48l2.34 6H30l-2.33-6H28a2 2 0 002-2zm-6-4h4v4h-4zM16 23h-4V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2h-2zM8 9v6H4V9H2v14h2v-6h4v6h2V9H8z" }]]; +export const HDR = svg( + ["path", { d: "M30 15v-4a2 2 0 00-2-2h-6v14h2v-6h1.48l2.34 6H30l-2.33-6H28a2 2 0 002-2zm-6-4h4v4h-4zM16 23h-4V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2h-2zM8 9v6H4V9H2v14h2v-6h4v6h2V9H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/headphones.ts b/packages/hiccup-carbon-icons/src/headphones.ts index 75b73e66af..e53d0cad44 100644 --- a/packages/hiccup-carbon-icons/src/headphones.ts +++ b/packages/hiccup-carbon-icons/src/headphones.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HEADPHONES */ // prettier-ignore -export const HEADPHONES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 16v-1a9 9 0 00-18 0v1a5 5 0 000 10h2V15a7 7 0 0114 0v11h2a5 5 0 000-10zM4 21a3 3 0 013-3v6a3 3 0 01-3-3zm21 3v-6a3 3 0 010 6z" }]]; +export const HEADPHONES = svg( + ["path", { d: "M25 16v-1a9 9 0 00-18 0v1a5 5 0 000 10h2V15a7 7 0 0114 0v11h2a5 5 0 000-10zM4 21a3 3 0 013-3v6a3 3 0 01-3-3zm21 3v-6a3 3 0 010 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/headset.ts b/packages/hiccup-carbon-icons/src/headset.ts index 94069fc36d..1e096eebf8 100644 --- a/packages/hiccup-carbon-icons/src/headset.ts +++ b/packages/hiccup-carbon-icons/src/headset.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HEADSET */ // prettier-ignore -export const HEADSET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 10h-.06a9 9 0 00-17.88 0H7a5 5 0 000 10h2v-9a7 7 0 0114 0v10a4 4 0 01-3.17 3.91 4 4 0 10.05 2A6 6 0 0025 21v-1a5 5 0 000-10zM4 15a3 3 0 013-3v6a3 3 0 01-3-3zm12 13a2 2 0 112-2 2 2 0 01-2 2zm9-10v-6a3 3 0 010 6z" }]]; +export const HEADSET = svg( + ["path", { d: "M25 10h-.06a9 9 0 00-17.88 0H7a5 5 0 000 10h2v-9a7 7 0 0114 0v10a4 4 0 01-3.17 3.91 4 4 0 10.05 2A6 6 0 0025 21v-1a5 5 0 000-10zM4 15a3 3 0 013-3v6a3 3 0 01-3-3zm12 13a2 2 0 112-2 2 2 0 01-2 2zm9-10v-6a3 3 0 010 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/health-cross.ts b/packages/hiccup-carbon-icons/src/health-cross.ts index 78e9c8f778..af6701badd 100644 --- a/packages/hiccup-carbon-icons/src/health-cross.ts +++ b/packages/hiccup-carbon-icons/src/health-cross.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HEALTH_CROSS */ // prettier-ignore -export const HEALTH_CROSS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 28h-6a2.002 2.002 0 01-2-2v-5H6a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h5V6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v5h5a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-5v5a2.003 2.003 0 01-2 2zM6 13v6h7v7h6v-7h7v-6h-7V6h-6v7z" }]]; +export const HEALTH_CROSS = svg( + ["path", { d: "M19 28h-6a2.002 2.002 0 01-2-2v-5H6a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h5V6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v5h5a2.002 2.002 0 012 2v6a2.003 2.003 0 01-2 2h-5v5a2.003 2.003 0 01-2 2zM6 13v6h7v7h6v-7h7v-6h-7V6h-6v7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hearing.ts b/packages/hiccup-carbon-icons/src/hearing.ts index a858d05e8e..b545f90ec1 100644 --- a/packages/hiccup-carbon-icons/src/hearing.ts +++ b/packages/hiccup-carbon-icons/src/hearing.ts @@ -1,10 +1,12 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HEARING */ // prettier-ignore -export const HEARING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 30v-2a10.011 10.011 0 0010-10h2a12.013 12.013 0 01-12 12z" }], - ["path", { d: "M18 26v-2a6.007 6.007 0 006-6h2a8.01 8.01 0 01-8 8z" }], - ["path", { d: "M18 22v-2a2.002 2.002 0 002-2h2a4.004 4.004 0 01-4 4zM10 2a9.01 9.01 0 00-9 9h2a7 7 0 0114 0 7.09 7.09 0 01-3.501 6.135l-.499.288v3.073a2.935 2.935 0 01-.9 2.151 4.182 4.182 0 01-4.633 1.03A4.092 4.092 0 015 20H3a6.116 6.116 0 003.67 5.512 5.782 5.782 0 002.314.486 6.585 6.585 0 004.478-1.888A4.94 4.94 0 0015 20.496v-1.942A9.108 9.108 0 0019 11a9.01 9.01 0 00-9-9z" }], - ["path", { d: "M9.28 8.082A3.006 3.006 0 0113 11h2a4.979 4.979 0 00-1.884-3.911 5.041 5.041 0 00-4.281-.957 4.95 4.95 0 00-3.703 3.703 5.032 5.032 0 002.304 5.458A3.078 3.078 0 019 17.924V20h2v-2.077a5.06 5.06 0 00-2.537-4.346 3.002 3.002 0 01.817-5.495z" }]]; +export const HEARING = svg( + ["path", { d: "M18 30v-2a10.011 10.011 0 0010-10h2a12.013 12.013 0 01-12 12z" }], + ["path", { d: "M18 26v-2a6.007 6.007 0 006-6h2a8.01 8.01 0 01-8 8z" }], + ["path", { d: "M18 22v-2a2.002 2.002 0 002-2h2a4.004 4.004 0 01-4 4zM10 2a9.01 9.01 0 00-9 9h2a7 7 0 0114 0 7.09 7.09 0 01-3.501 6.135l-.499.288v3.073a2.935 2.935 0 01-.9 2.151 4.182 4.182 0 01-4.633 1.03A4.092 4.092 0 015 20H3a6.116 6.116 0 003.67 5.512 5.782 5.782 0 002.314.486 6.585 6.585 0 004.478-1.888A4.94 4.94 0 0015 20.496v-1.942A9.108 9.108 0 0019 11a9.01 9.01 0 00-9-9z" }], + ["path", { d: "M9.28 8.082A3.006 3.006 0 0113 11h2a4.979 4.979 0 00-1.884-3.911 5.041 5.041 0 00-4.281-.957 4.95 4.95 0 00-3.703 3.703 5.032 5.032 0 002.304 5.458A3.078 3.078 0 019 17.924V20h2v-2.077a5.06 5.06 0 00-2.537-4.346 3.002 3.002 0 01.817-5.495z" }] +); diff --git a/packages/hiccup-carbon-icons/src/heat-map-02.ts b/packages/hiccup-carbon-icons/src/heat-map-02.ts index 9c27ed2041..6673a0b52c 100644 --- a/packages/hiccup-carbon-icons/src/heat-map-02.ts +++ b/packages/hiccup-carbon-icons/src/heat-map-02.ts @@ -1,25 +1,27 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HEAT_MAP_02 */ // prettier-ignore -export const HEAT_MAP_02: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 20, - cx: 21, - }], - ["circle", - { - r: 2, - cy: 12, - cx: 14, - }], - ["circle", - { - r: 1, - cy: 19, - cx: 29, - }], - ["path", { d: "M26.5 30a3.5 3.5 0 113.5-3.5 3.504 3.504 0 01-3.5 3.5zm0-5a1.5 1.5 0 101.5 1.5 1.502 1.502 0 00-1.5-1.5zM14 30a3.958 3.958 0 01-2.126-.621 6.998 6.998 0 114.11-6.838A3.992 3.992 0 0114 30zm-1.884-3.028l.539.495a1.992 1.992 0 102.004-3.343l-.691-.243.03-.847a5.008 5.008 0 10-2.517 4.302zM24 16a6.007 6.007 0 01-6-6 5.325 5.325 0 01.027-.533A3.956 3.956 0 0116 6a4.005 4.005 0 014-4 3.956 3.956 0 013.467 2.027C23.648 4.01 23.825 4 24 4a6 6 0 010 12zM20 4a2.002 2.002 0 00-2 2 1.98 1.98 0 001.43 1.902l.902.27-.215.917A3.994 3.994 0 1024 6a4.006 4.006 0 00-.912.116l-.916.214-.27-.9A1.98 1.98 0 0020 4zM6.5 11A4.5 4.5 0 1111 6.5 4.505 4.505 0 016.5 11zm0-7A2.5 2.5 0 109 6.5 2.503 2.503 0 006.5 4z" }]]; +export const HEAT_MAP_02 = svg( + ["circle", + { + r: 2, + cy: 20, + cx: 21, + }], + ["circle", + { + r: 2, + cy: 12, + cx: 14, + }], + ["circle", + { + r: 1, + cy: 19, + cx: 29, + }], + ["path", { d: "M26.5 30a3.5 3.5 0 113.5-3.5 3.504 3.504 0 01-3.5 3.5zm0-5a1.5 1.5 0 101.5 1.5 1.502 1.502 0 00-1.5-1.5zM14 30a3.958 3.958 0 01-2.126-.621 6.998 6.998 0 114.11-6.838A3.992 3.992 0 0114 30zm-1.884-3.028l.539.495a1.992 1.992 0 102.004-3.343l-.691-.243.03-.847a5.008 5.008 0 10-2.517 4.302zM24 16a6.007 6.007 0 01-6-6 5.325 5.325 0 01.027-.533A3.956 3.956 0 0116 6a4.005 4.005 0 014-4 3.956 3.956 0 013.467 2.027C23.648 4.01 23.825 4 24 4a6 6 0 010 12zM20 4a2.002 2.002 0 00-2 2 1.98 1.98 0 001.43 1.902l.902.27-.215.917A3.994 3.994 0 1024 6a4.006 4.006 0 00-.912.116l-.916.214-.27-.9A1.98 1.98 0 0020 4zM6.5 11A4.5 4.5 0 1111 6.5 4.505 4.505 0 016.5 11zm0-7A2.5 2.5 0 109 6.5 2.503 2.503 0 006.5 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/heat-map-03.ts b/packages/hiccup-carbon-icons/src/heat-map-03.ts index 672d06da9b..166b774b8d 100644 --- a/packages/hiccup-carbon-icons/src/heat-map-03.ts +++ b/packages/hiccup-carbon-icons/src/heat-map-03.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HEAT_MAP_03 */ // prettier-ignore -export const HEAT_MAP_03: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 3H5a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h22a2.002 2.002 0 002-2V5a2.002 2.002 0 00-2-2zm-8 6h-6V5h6zm0 2v4h-6v-4zm-8 0v4H5v-4zm0 6v4H5v-4zm2 0h6v4h-6zm8-2v-4h6v4zM5 23h6v4H5zm16 4v-4h6v4z" }]]; +export const HEAT_MAP_03 = svg( + ["path", { d: "M27 3H5a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h22a2.002 2.002 0 002-2V5a2.002 2.002 0 00-2-2zm-8 6h-6V5h6zm0 2v4h-6v-4zm-8 0v4H5v-4zm0 6v4H5v-4zm2 0h6v4h-6zm8-2v-4h6v4zM5 23h6v4H5zm16 4v-4h6v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/heat-map.ts b/packages/hiccup-carbon-icons/src/heat-map.ts index 4cb5217b76..d0504b87ef 100644 --- a/packages/hiccup-carbon-icons/src/heat-map.ts +++ b/packages/hiccup-carbon-icons/src/heat-map.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HEAT_MAP */ // prettier-ignore -export const HEAT_MAP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 18h2v2h-2zM28 16h2v2h-2zM14 6h2v2h-2zM16 22h-4v-6a2.002 2.002 0 00-2-2H4a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h6v4a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zM4 22v-6h6v6zm8 6v-4h4v4zM28 30h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-4-6v4h4v-4zM28 2h-6a2.002 2.002 0 00-2 2v6h-2a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h2a2.002 2.002 0 002-2v-2h6a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zM18 14v-2h2v2zm4-4V4h6v6zM8 10H4a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM4 4v4h4V4z" }]]; +export const HEAT_MAP = svg( + ["path", { d: "M20 18h2v2h-2zM28 16h2v2h-2zM14 6h2v2h-2zM16 22h-4v-6a2.002 2.002 0 00-2-2H4a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h6v4a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zM4 22v-6h6v6zm8 6v-4h4v4zM28 30h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-4-6v4h4v-4zM28 2h-6a2.002 2.002 0 00-2 2v6h-2a2.002 2.002 0 00-2 2v2a2.002 2.002 0 002 2h2a2.002 2.002 0 002-2v-2h6a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zM18 14v-2h2v2zm4-4V4h6v6zM8 10H4a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM4 4v4h4V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/helicopter.ts b/packages/hiccup-carbon-icons/src/helicopter.ts index 50b8456bca..18fc76ef5f 100644 --- a/packages/hiccup-carbon-icons/src/helicopter.ts +++ b/packages/hiccup-carbon-icons/src/helicopter.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HELICOPTER */ // prettier-ignore -export const HELICOPTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 8V6H8v2h10v4H4V8H2v8h2v-2h6.22l2.053 8.213A4.992 4.992 0 0017.123 26H26a4.005 4.005 0 004-4v-2.638a2 2 0 00-.464-1.28l-4.468-5.362a1.997 1.997 0 00-1.536-.72H20V8zm-4 16h-8.877a2.995 2.995 0 01-2.91-2.272L12.281 14H18v6h10v2a2.002 2.002 0 01-2 2zm-2.468-10l3.333 4H20v-4z" }]]; +export const HELICOPTER = svg( + ["path", { d: "M30 8V6H8v2h10v4H4V8H2v8h2v-2h6.22l2.053 8.213A4.992 4.992 0 0017.123 26H26a4.005 4.005 0 004-4v-2.638a2 2 0 00-.464-1.28l-4.468-5.362a1.997 1.997 0 00-1.536-.72H20V8zm-4 16h-8.877a2.995 2.995 0 01-2.91-2.272L12.281 14H18v6h10v2a2.002 2.002 0 01-2 2zm-2.468-10l3.333 4H20v-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/help-desk.ts b/packages/hiccup-carbon-icons/src/help-desk.ts index 71cd6829e2..7d63b1c85b 100644 --- a/packages/hiccup-carbon-icons/src/help-desk.ts +++ b/packages/hiccup-carbon-icons/src/help-desk.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HELP_DESK */ // prettier-ignore -export const HELP_DESK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 10h-6a3.003 3.003 0 00-3 3v6a2.002 2.002 0 002 2v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-7a2.002 2.002 0 002-2v-6a3.003 3.003 0 00-3-3zm1 9h-2v9h-4v-9h-2v-6a1 1 0 011-1h6a1 1 0 011 1zM20 5a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2zM14 16v-3a3.003 3.003 0 00-3-3H5a3.003 3.003 0 00-3 3v3H0v2h16v-2zM4 13a1 1 0 011-1h6a1 1 0 011 1v3H4zM4 5a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2z" }]]; +export const HELP_DESK = svg( + ["path", { d: "M27 10h-6a3.003 3.003 0 00-3 3v6a2.002 2.002 0 002 2v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-7a2.002 2.002 0 002-2v-6a3.003 3.003 0 00-3-3zm1 9h-2v9h-4v-9h-2v-6a1 1 0 011-1h6a1 1 0 011 1zM20 5a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2zM14 16v-3a3.003 3.003 0 00-3-3H5a3.003 3.003 0 00-3 3v3H0v2h16v-2zM4 13a1 1 0 011-1h6a1 1 0 011 1v3H4zM4 5a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/help-filled.ts b/packages/hiccup-carbon-icons/src/help-filled.ts index 809e2d42a2..75b790d798 100644 --- a/packages/hiccup-carbon-icons/src/help-filled.ts +++ b/packages/hiccup-carbon-icons/src/help-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HELP_FILLED */ // prettier-ignore -export const HELP_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 23a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 25zm1.142-7.754v2.501h-2.25V15h2.125a2.376 2.376 0 000-4.753h-1.5a2.378 2.378 0 00-2.375 2.375v.638h-2.25v-.638A4.628 4.628 0 0115.517 8h1.5a4.624 4.624 0 01.125 9.246z" }]]; +export const HELP_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 23a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 25zm1.142-7.754v2.501h-2.25V15h2.125a2.376 2.376 0 000-4.753h-1.5a2.378 2.378 0 00-2.375 2.375v.638h-2.25v-.638A4.628 4.628 0 0115.517 8h1.5a4.624 4.624 0 01.125 9.246z" }] +); diff --git a/packages/hiccup-carbon-icons/src/help.ts b/packages/hiccup-carbon-icons/src/help.ts index 06d676d49c..d5a4139eee 100644 --- a/packages/hiccup-carbon-icons/src/help.ts +++ b/packages/hiccup-carbon-icons/src/help.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HELP */ // prettier-ignore -export const HELP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["circle", - { - r: 1.5, - cy: 23.5, - cx: 16, - }], - ["path", { d: "M17 8h-1.5a4.49 4.49 0 00-4.5 4.5v.5h2v-.5a2.5 2.5 0 012.5-2.5H17a2.5 2.5 0 010 5h-2v4.5h2V17a4.5 4.5 0 000-9z" }]]; +export const HELP = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["circle", + { + r: 1.5, + cy: 23.5, + cx: 16, + }], + ["path", { d: "M17 8h-1.5a4.49 4.49 0 00-4.5 4.5v.5h2v-.5a2.5 2.5 0 012.5-2.5H17a2.5 2.5 0 010 5h-2v4.5h2V17a4.5 4.5 0 000-9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/home.ts b/packages/hiccup-carbon-icons/src/home.ts index ede412c252..f6b7711deb 100644 --- a/packages/hiccup-carbon-icons/src/home.ts +++ b/packages/hiccup-carbon-icons/src/home.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HOME */ // prettier-ignore -export const HOME: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16.61 2.21a1 1 0 00-1.24 0L1 13.42 2.24 15 4 13.62V26a2 2 0 002 2h20a2 2 0 002-2V13.63L29.76 15 31 13.43zM18 26h-4v-8h4zm2 0v-8a2 2 0 00-2-2h-4a2 2 0 00-2 2v8H6V12.06l10-7.79 10 7.8V26z" }]]; +export const HOME = svg( + ["path", { d: "M16.61 2.21a1 1 0 00-1.24 0L1 13.42 2.24 15 4 13.62V26a2 2 0 002 2h20a2 2 0 002-2V13.63L29.76 15 31 13.43zM18 26h-4v-8h4zm2 0v-8a2 2 0 00-2-2h-4a2 2 0 00-2 2v8H6V12.06l10-7.79 10 7.8V26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hospital-bed.ts b/packages/hiccup-carbon-icons/src/hospital-bed.ts index 25e20eb547..a02fc40097 100644 --- a/packages/hiccup-carbon-icons/src/hospital-bed.ts +++ b/packages/hiccup-carbon-icons/src/hospital-bed.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HOSPITAL_BED */ // prettier-ignore -export const HOSPITAL_BED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 16h-8a2.002 2.002 0 00-2 2v6H4V14H2v16h2v-4h24v4h2v-9a5.006 5.006 0 00-5-5zm3 8H17v-6h8a3.003 3.003 0 013 3z" }], - ["path", { d: "M9.5 17A1.5 1.5 0 118 18.5 1.502 1.502 0 019.5 17m0-2a3.5 3.5 0 103.5 3.5A3.5 3.5 0 009.5 15zM21 6h-4V2h-2v4h-4v2h4v4h2V8h4V6z" }]]; +export const HOSPITAL_BED = svg( + ["path", { d: "M25 16h-8a2.002 2.002 0 00-2 2v6H4V14H2v16h2v-4h24v4h2v-9a5.006 5.006 0 00-5-5zm3 8H17v-6h8a3.003 3.003 0 013 3z" }], + ["path", { d: "M9.5 17A1.5 1.5 0 118 18.5 1.502 1.502 0 019.5 17m0-2a3.5 3.5 0 103.5 3.5A3.5 3.5 0 009.5 15zM21 6h-4V2h-2v4h-4v2h4v4h2V8h4V6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hospital.ts b/packages/hiccup-carbon-icons/src/hospital.ts index ed18c8ca4e..d348962ca0 100644 --- a/packages/hiccup-carbon-icons/src/hospital.ts +++ b/packages/hiccup-carbon-icons/src/hospital.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HOSPITAL */ // prettier-ignore -export const HOSPITAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 10h-4V6h-2v4h-4v2h4v4h2v-4h4v-2z" }], - ["path", { d: "M28 10h-2V4a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v6H4a2.002 2.002 0 00-2 2v18h28V12a2.002 2.002 0 00-2-2zM14 28v-6h4v6zm6 0v-7a1 1 0 00-1-1h-6a1 1 0 00-1 1v7H4V12h4V4h16v8h4v16z" }]]; +export const HOSPITAL = svg( + ["path", { d: "M21 10h-4V6h-2v4h-4v2h4v4h2v-4h4v-2z" }], + ["path", { d: "M28 10h-2V4a2.002 2.002 0 00-2-2H8a2.002 2.002 0 00-2 2v6H4a2.002 2.002 0 00-2 2v18h28V12a2.002 2.002 0 00-2-2zM14 28v-6h4v6zm6 0v-7a1 1 0 00-1-1h-6a1 1 0 00-1 1v7H4V12h4V4h16v8h4v16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hotel.ts b/packages/hiccup-carbon-icons/src/hotel.ts index e3ad4572c3..0cea725a56 100644 --- a/packages/hiccup-carbon-icons/src/hotel.ts +++ b/packages/hiccup-carbon-icons/src/hotel.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HOTEL */ // prettier-ignore -export const HOTEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9.5 15A1.5 1.5 0 118 16.5 1.5 1.5 0 019.5 15m0-2a3.5 3.5 0 103.5 3.5A3.5 3.5 0 009.5 13z" }], - ["path", { d: "M25 14h-8a2 2 0 00-2 2v6H4V10.6l12-6.46 12.53 6.74.94-1.76-13-7a1 1 0 00-.94 0l-13 7A1 1 0 002 10v20h2v-6h24v6h2V19a5 5 0 00-5-5zm-8 8v-6h8a3 3 0 013 3v3z" }]]; +export const HOTEL = svg( + ["path", { d: "M9.5 15A1.5 1.5 0 118 16.5 1.5 1.5 0 019.5 15m0-2a3.5 3.5 0 103.5 3.5A3.5 3.5 0 009.5 13z" }], + ["path", { d: "M25 14h-8a2 2 0 00-2 2v6H4V10.6l12-6.46 12.53 6.74.94-1.76-13-7a1 1 0 00-.94 0l-13 7A1 1 0 002 10v20h2v-6h24v6h2V19a5 5 0 00-5-5zm-8 8v-6h8a3 3 0 013 3v3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hourglass.ts b/packages/hiccup-carbon-icons/src/hourglass.ts index 8ff0ca62ec..02cb20d07c 100644 --- a/packages/hiccup-carbon-icons/src/hourglass.ts +++ b/packages/hiccup-carbon-icons/src/hourglass.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HOURGLASS */ // prettier-ignore -export const HOURGLASS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 19h2v2h-2zM15 23h2v2h-2z" }], - ["path", { d: "M23 11.67V4h3V2H6v2h3v7.67a2 2 0 00.4 1.2L11.75 16 9.4 19.13a2 2 0 00-.4 1.2V28H6v2h20v-2h-3v-7.67a2 2 0 00-.4-1.2L20.25 16l2.35-3.13a2 2 0 00.4-1.2zM21 4v7H11V4zm0 16.33V28H11v-7.67L14.25 16 12 13h8l-2.25 3z" }]]; +export const HOURGLASS = svg( + ["path", { d: "M15 19h2v2h-2zM15 23h2v2h-2z" }], + ["path", { d: "M23 11.67V4h3V2H6v2h3v7.67a2 2 0 00.4 1.2L11.75 16 9.4 19.13a2 2 0 00-.4 1.2V28H6v2h20v-2h-3v-7.67a2 2 0 00-.4-1.2L20.25 16l2.35-3.13a2 2 0 00.4-1.2zM21 4v7H11V4zm0 16.33V28H11v-7.67L14.25 16 12 13h8l-2.25 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/html-reference.ts b/packages/hiccup-carbon-icons/src/html-reference.ts index c530ed0940..fa54646ade 100644 --- a/packages/hiccup-carbon-icons/src/html-reference.ts +++ b/packages/hiccup-carbon-icons/src/html-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HTML_REFERENCE */ // prettier-ignore -export const HTML_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 14V6h-2v10h6v-2h-4zM24 6h-2l-1.5 4L19 6h-2v10h2V9l1.5 4L22 9v7h2V6zM9 8h2v8h2V8h2V6H9v2zM5 6v4H2V6H0v10h2v-4h3v4h2V6H5z" }]]; +export const HTML_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 14V6h-2v10h6v-2h-4zM24 6h-2l-1.5 4L19 6h-2v10h2V9l1.5 4L22 9v7h2V6zM9 8h2v8h2V8h2V6H9v2zM5 6v4H2V6H0v10h2v-4h3v4h2V6H5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/html.ts b/packages/hiccup-carbon-icons/src/html.ts index 59504523d7..795bd15000 100644 --- a/packages/hiccup-carbon-icons/src/html.ts +++ b/packages/hiccup-carbon-icons/src/html.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HTML */ // prettier-ignore -export const HTML: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 19v-8h-2v10h6v-2h-4zM24 11h-2l-1.5 4-1.5-4h-2v10h2v-7l1.5 4 1.5-4v7h2V11zM9 13h2v8h2v-8h2v-2H9v2zM5 11v4H2v-4H0v10h2v-4h3v4h2V11H5z" }]]; +export const HTML = svg( + ["path", { d: "M28 19v-8h-2v10h6v-2h-4zM24 11h-2l-1.5 4-1.5-4h-2v10h2v-7l1.5 4 1.5-4v7h2V11zM9 13h2v8h2v-8h2v-2H9v2zM5 11v4H2v-4H0v10h2v-4h3v4h2V11H5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/http.ts b/packages/hiccup-carbon-icons/src/http.ts index 96b30ad1b7..fc90e904d8 100644 --- a/packages/hiccup-carbon-icons/src/http.ts +++ b/packages/hiccup-carbon-icons/src/http.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HTTP */ // prettier-ignore -export const HTTP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 11h-5v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3zM10 13h2v8h2v-8h2v-2h-6v2zM23 11h-6v2h2v8h2v-8h2v-2zM6 11v4H3v-4H1v10h2v-4h3v4h2V11H6z" }]]; +export const HTTP = svg( + ["path", { d: "M30 11h-5v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3zM10 13h2v8h2v-8h2v-2h-6v2zM23 11h-6v2h2v8h2v-8h2v-2zM6 11v4H3v-4H1v10h2v-4h3v4h2V11H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/humidity-alt.ts b/packages/hiccup-carbon-icons/src/humidity-alt.ts index f81be3c516..bdce85dd59 100644 --- a/packages/hiccup-carbon-icons/src/humidity-alt.ts +++ b/packages/hiccup-carbon-icons/src/humidity-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HUMIDITY_ALT */ // prettier-ignore -export const HUMIDITY_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 12a3.898 3.898 0 01-4-3.777 3.902 3.902 0 01.653-2.064l2.517-3.745a1.038 1.038 0 011.66 0l2.485 3.696A3.97 3.97 0 0130 8.223 3.898 3.898 0 0126 12zm0-7.237l-1.656 2.463a1.89 1.89 0 00-.344.997 2.014 2.014 0 004 0 1.98 1.98 0 00-.375-1.047zM23.5 30h-15a6.496 6.496 0 01-1.3-12.862 8.994 8.994 0 0117.6 0A6.496 6.496 0 0123.5 30zM16 12a7 7 0 00-6.941 6.145l-.1.812-.815.064A4.496 4.496 0 008.5 28h15a4.496 4.496 0 00.356-8.979l-.815-.064-.099-.812A7.002 7.002 0 0016 12z" }]]; +export const HUMIDITY_ALT = svg( + ["path", { d: "M26 12a3.898 3.898 0 01-4-3.777 3.902 3.902 0 01.653-2.064l2.517-3.745a1.038 1.038 0 011.66 0l2.485 3.696A3.97 3.97 0 0130 8.223 3.898 3.898 0 0126 12zm0-7.237l-1.656 2.463a1.89 1.89 0 00-.344.997 2.014 2.014 0 004 0 1.98 1.98 0 00-.375-1.047zM23.5 30h-15a6.496 6.496 0 01-1.3-12.862 8.994 8.994 0 0117.6 0A6.496 6.496 0 0123.5 30zM16 12a7 7 0 00-6.941 6.145l-.1.812-.815.064A4.496 4.496 0 008.5 28h15a4.496 4.496 0 00.356-8.979l-.815-.064-.099-.812A7.002 7.002 0 0016 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/humidity.ts b/packages/hiccup-carbon-icons/src/humidity.ts index ff4e0e3b24..1c4d751e7e 100644 --- a/packages/hiccup-carbon-icons/src/humidity.ts +++ b/packages/hiccup-carbon-icons/src/humidity.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HUMIDITY */ // prettier-ignore -export const HUMIDITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.476 13.993L16.847 3.437a1.04 1.04 0 00-1.694 0L8.494 14.043A9.986 9.986 0 007 19a9 9 0 0018 0 10.063 10.063 0 00-1.524-5.007zM16 26a7.009 7.009 0 01-7-7 7.978 7.978 0 011.218-3.943l.935-1.49 10.074 10.074A6.977 6.977 0 0116 26.001z" }]]; +export const HUMIDITY = svg( + ["path", { d: "M23.476 13.993L16.847 3.437a1.04 1.04 0 00-1.694 0L8.494 14.043A9.986 9.986 0 007 19a9 9 0 0018 0 10.063 10.063 0 00-1.524-5.007zM16 26a7.009 7.009 0 01-7-7 7.978 7.978 0 011.218-3.943l.935-1.49 10.074 10.074A6.977 6.977 0 0116 26.001z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hurricane.ts b/packages/hiccup-carbon-icons/src/hurricane.ts index b1aa298c94..b2e3efd7ef 100644 --- a/packages/hiccup-carbon-icons/src/hurricane.ts +++ b/packages/hiccup-carbon-icons/src/hurricane.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HURRICANE */ // prettier-ignore -export const HURRICANE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.652 4.182l-2.177 2.514-1.404 1.621 1.715 1.288A7.936 7.936 0 0123.996 16l.001.058.002.041c.018.432.241 10.111-14.654 11.722l2.18-2.517 1.404-1.621-1.715-1.288A7.936 7.936 0 018.004 16l-.001-.058L8 15.901c-.018-.431-.24-10.094 14.651-11.719M24.998 2l-.05.001C5.254 2.915 6.005 16 6.005 16a9.975 9.975 0 004.01 7.995l-3.777 4.36A1.004 1.004 0 007.002 30l.05-.001C26.747 29.085 25.995 16 25.995 16a9.976 9.976 0 00-4.009-7.995l3.776-4.36A1.004 1.004 0 0024.998 2z" }]]; +export const HURRICANE = svg( + ["path", { d: "M22.652 4.182l-2.177 2.514-1.404 1.621 1.715 1.288A7.936 7.936 0 0123.996 16l.001.058.002.041c.018.432.241 10.111-14.654 11.722l2.18-2.517 1.404-1.621-1.715-1.288A7.936 7.936 0 018.004 16l-.001-.058L8 15.901c-.018-.431-.24-10.094 14.651-11.719M24.998 2l-.05.001C5.254 2.915 6.005 16 6.005 16a9.975 9.975 0 004.01 7.995l-3.777 4.36A1.004 1.004 0 007.002 30l.05-.001C26.747 29.085 25.995 16 25.995 16a9.976 9.976 0 00-4.009-7.995l3.776-4.36A1.004 1.004 0 0024.998 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/hybrid-networking.ts b/packages/hiccup-carbon-icons/src/hybrid-networking.ts index dcfbd088af..a1d242a2af 100644 --- a/packages/hiccup-carbon-icons/src/hybrid-networking.ts +++ b/packages/hiccup-carbon-icons/src/hybrid-networking.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#HYBRID_NETWORKING */ // prettier-ignore -export const HYBRID_NETWORKING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 24.184V20h-2v4.184a3 3 0 102 0z" }], - ["path", { d: "M26 12a3.996 3.996 0 00-3.858 3H9.858a4 4 0 100 2h12.284A3.993 3.993 0 1026 12zM6 18a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 0a2 2 0 112-2 2.002 2.002 0 01-2 2z" }], - ["path", { d: "M19 5a3 3 0 10-4 2.816V12h2V7.816A2.992 2.992 0 0019 5z" }]]; +export const HYBRID_NETWORKING = svg( + ["path", { d: "M17 24.184V20h-2v4.184a3 3 0 102 0z" }], + ["path", { d: "M26 12a3.996 3.996 0 00-3.858 3H9.858a4 4 0 100 2h12.284A3.993 3.993 0 1026 12zM6 18a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 0a2 2 0 112-2 2.002 2.002 0 01-2 2z" }], + ["path", { d: "M19 5a3 3 0 10-4 2.816V12h2V7.816A2.992 2.992 0 0019 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/ibm-cloud.ts b/packages/hiccup-carbon-icons/src/ibm-cloud.ts index 83a1239223..a2b874083a 100644 --- a/packages/hiccup-carbon-icons/src/ibm-cloud.ts +++ b/packages/hiccup-carbon-icons/src/ibm-cloud.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IBM_CLOUD */ // prettier-ignore -export const IBM_CLOUD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.58 13.65a9.733 9.733 0 00-18.294 3.889A6.75 6.75 0 007 31h16a8.746 8.746 0 001.58-17.35zM23 29.5H7a5.237 5.237 0 01-.7-10.43 9.726 9.726 0 001.104 3.785.75.75 0 101.322-.71 8.25 8.25 0 0114.026-8.632 8.754 8.754 0 00-6.315 2.95.75.75 0 101.124.992A7.25 7.25 0 1123 29.5zM31.898 10.255a.758.758 0 00-1.036-.278l-3.02 1.744a.759.759 0 10.758 1.314l3.02-1.744a.759.759 0 00.278-1.036zM22.676 7.87a.758.758 0 001.037-.278l1.744-3.02a.759.759 0 00-1.314-.758l-1.744 3.02a.759.759 0 00.277 1.036zM16 6.081a.759.759 0 00.759-.759V1.835a.759.759 0 10-1.518 0v3.487a.759.759 0 00.759.76zM8.287 7.592a.759.759 0 001.314-.759l-1.744-3.02a.759.759 0 10-1.314.76zM4.159 11.721l-3.02-1.744a.759.759 0 10-.76 1.314L3.4 13.035a.759.759 0 10.759-1.314z" }]]; +export const IBM_CLOUD = svg( + ["path", { d: "M24.58 13.65a9.733 9.733 0 00-18.294 3.889A6.75 6.75 0 007 31h16a8.746 8.746 0 001.58-17.35zM23 29.5H7a5.237 5.237 0 01-.7-10.43 9.726 9.726 0 001.104 3.785.75.75 0 101.322-.71 8.25 8.25 0 0114.026-8.632 8.754 8.754 0 00-6.315 2.95.75.75 0 101.124.992A7.25 7.25 0 1123 29.5zM31.898 10.255a.758.758 0 00-1.036-.278l-3.02 1.744a.759.759 0 10.758 1.314l3.02-1.744a.759.759 0 00.278-1.036zM22.676 7.87a.758.758 0 001.037-.278l1.744-3.02a.759.759 0 00-1.314-.758l-1.744 3.02a.759.759 0 00.277 1.036zM16 6.081a.759.759 0 00.759-.759V1.835a.759.759 0 10-1.518 0v3.487a.759.759 0 00.759.76zM8.287 7.592a.759.759 0 001.314-.759l-1.744-3.02a.759.759 0 10-1.314.76zM4.159 11.721l-3.02-1.744a.759.759 0 10-.76 1.314L3.4 13.035a.759.759 0 10.759-1.314z" }] +); diff --git a/packages/hiccup-carbon-icons/src/ibm-security.ts b/packages/hiccup-carbon-icons/src/ibm-security.ts index f5d2eba489..9d9130d5cc 100644 --- a/packages/hiccup-carbon-icons/src/ibm-security.ts +++ b/packages/hiccup-carbon-icons/src/ibm-security.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IBM_SECURITY */ // prettier-ignore -export const IBM_SECURITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 0L4 5.978v14.066a12 12 0 0024 0V5.978zm6.83 27.314L16 23.912v2.228l5.036 2.509A10.002 10.002 0 016 20.044V7.21l10-4.982L26 7.21v3.75L16 5.978v2.228l10 4.982v3.75l-10-4.982v2.228l10 4.982v.878a9.905 9.905 0 01-.37 2.687L16 17.934v2.228l8.895 4.431a10.025 10.025 0 01-2.065 2.721z" }]]; +export const IBM_SECURITY = svg( + ["path", { d: "M16 0L4 5.978v14.066a12 12 0 0024 0V5.978zm6.83 27.314L16 23.912v2.228l5.036 2.509A10.002 10.002 0 016 20.044V7.21l10-4.982L26 7.21v3.75L16 5.978v2.228l10 4.982v3.75l-10-4.982v2.228l10 4.982v.878a9.905 9.905 0 01-.37 2.687L16 17.934v2.228l8.895 4.431a10.025 10.025 0 01-2.065 2.721z" }] +); diff --git a/packages/hiccup-carbon-icons/src/idea.ts b/packages/hiccup-carbon-icons/src/idea.ts index fcca64244b..2f0eb7e7f4 100644 --- a/packages/hiccup-carbon-icons/src/idea.ts +++ b/packages/hiccup-carbon-icons/src/idea.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IDEA */ // prettier-ignore -export const IDEA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11 24h10v2H11zM13 28h6v2h-6zM16 2A10 10 0 006 12a9.19 9.19 0 003.46 7.62c1 .93 1.54 1.46 1.54 2.38h2c0-1.84-1.11-2.87-2.19-3.86A7.2 7.2 0 018 12a8 8 0 0116 0 7.2 7.2 0 01-2.82 6.14c-1.07 1-2.18 2-2.18 3.86h2c0-.92.53-1.45 1.54-2.39A9.18 9.18 0 0026 12 10 10 0 0016 2z" }]]; +export const IDEA = svg( + ["path", { d: "M11 24h10v2H11zM13 28h6v2h-6zM16 2A10 10 0 006 12a9.19 9.19 0 003.46 7.62c1 .93 1.54 1.46 1.54 2.38h2c0-1.84-1.11-2.87-2.19-3.86A7.2 7.2 0 018 12a8 8 0 0116 0 7.2 7.2 0 01-2.82 6.14c-1.07 1-2.18 2-2.18 3.86h2c0-.92.53-1.45 1.54-2.39A9.18 9.18 0 0026 12 10 10 0 0016 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/identification.ts b/packages/hiccup-carbon-icons/src/identification.ts index f90a0b6a07..d73f8460e6 100644 --- a/packages/hiccup-carbon-icons/src/identification.ts +++ b/packages/hiccup-carbon-icons/src/identification.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IDENTIFICATION */ // prettier-ignore -export const IDENTIFICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6v20H4V6h24m0-2H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2z" }], - ["path", { d: "M6 10h7v2H6zM6 14h4v2H6zM23 18h-6a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM20 17a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2z" }]]; +export const IDENTIFICATION = svg( + ["path", { d: "M28 6v20H4V6h24m0-2H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2z" }], + ["path", { d: "M6 10h7v2H6zM6 14h4v2H6zM23 18h-6a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM20 17a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/image-medical.ts b/packages/hiccup-carbon-icons/src/image-medical.ts index 1bb67cc3b8..ffb8974b52 100644 --- a/packages/hiccup-carbon-icons/src/image-medical.ts +++ b/packages/hiccup-carbon-icons/src/image-medical.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IMAGE_MEDICAL */ // prettier-ignore -export const IMAGE_MEDICAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6v20H6V6h20m0-2H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2z" }], - ["path", { d: "M22 16v-2h-5v-2h3v-2h-3V8h-2v2h-3v2h3v2h-5v2h5v2h-5v2h5v2h-3v2h8v-2h-3v-2h5v-2h-5v-2h5z" }]]; +export const IMAGE_MEDICAL = svg( + ["path", { d: "M26 6v20H6V6h20m0-2H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2z" }], + ["path", { d: "M22 16v-2h-5v-2h3v-2h-3V8h-2v2h-3v2h3v2h-5v2h5v2h-5v2h5v2h-3v2h8v-2h-3v-2h5v-2h-5v-2h5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/image-reference.ts b/packages/hiccup-carbon-icons/src/image-reference.ts index fe3dac73e1..d9f2c5cec0 100644 --- a/packages/hiccup-carbon-icons/src/image-reference.ts +++ b/packages/hiccup-carbon-icons/src/image-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IMAGE_REFERENCE */ // prettier-ignore -export const IMAGE_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM19 14a3 3 0 10-3-3 3 3 0 003 3zm0-4a1 1 0 11-1 1 1 1 0 011-1z" }], - ["path", { d: "M26 4H6a2 2 0 00-2 2v10h2V6h20v15.17l-3.59-3.59a2 2 0 00-2.82 0L18 19.17 11.83 13l-1.414 1.415L14 18l2.59 2.59a2 2 0 002.82 0L21 19l5 5v2H16v2h10a2 2 0 002-2V6a2 2 0 00-2-2z" }]]; +export const IMAGE_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM19 14a3 3 0 10-3-3 3 3 0 003 3zm0-4a1 1 0 11-1 1 1 1 0 011-1z" }], + ["path", { d: "M26 4H6a2 2 0 00-2 2v10h2V6h20v15.17l-3.59-3.59a2 2 0 00-2.82 0L18 19.17 11.83 13l-1.414 1.415L14 18l2.59 2.59a2 2 0 002.82 0L21 19l5 5v2H16v2h10a2 2 0 002-2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/image-search.ts b/packages/hiccup-carbon-icons/src/image-search.ts index ffbbbd2a98..0dfe830051 100644 --- a/packages/hiccup-carbon-icons/src/image-search.ts +++ b/packages/hiccup-carbon-icons/src/image-search.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IMAGE_SEARCH */ // prettier-ignore -export const IMAGE_SEARCH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 14a5.99 5.99 0 00-4.885 9.471L14 28.586 15.414 30l5.115-5.115A5.997 5.997 0 1024 14zm0 10a4 4 0 114-4 4.005 4.005 0 01-4 4zM17 12a3 3 0 10-3-3 3.003 3.003 0 003 3zm0-4a1 1 0 11-1 1 1 1 0 011-1z" }], - ["path", { d: "M12 24H4v-6.003L9 13l5.586 5.586L16 17.168l-5.586-5.585a2 2 0 00-2.828 0L4 15.168V4h20v6h2V4a2.002 2.002 0 00-2-2H4a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h8z" }]]; +export const IMAGE_SEARCH = svg( + ["path", { d: "M24 14a5.99 5.99 0 00-4.885 9.471L14 28.586 15.414 30l5.115-5.115A5.997 5.997 0 1024 14zm0 10a4 4 0 114-4 4.005 4.005 0 01-4 4zM17 12a3 3 0 10-3-3 3.003 3.003 0 003 3zm0-4a1 1 0 11-1 1 1 1 0 011-1z" }], + ["path", { d: "M12 24H4v-6.003L9 13l5.586 5.586L16 17.168l-5.586-5.585a2 2 0 00-2.828 0L4 15.168V4h20v6h2V4a2.002 2.002 0 00-2-2H4a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/image.ts b/packages/hiccup-carbon-icons/src/image.ts index 2746eed7c9..cdfe9f9c31 100644 --- a/packages/hiccup-carbon-icons/src/image.ts +++ b/packages/hiccup-carbon-icons/src/image.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IMAGE */ // prettier-ignore -export const IMAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 14a3 3 0 10-3-3 3 3 0 003 3zm0-4a1 1 0 11-1 1 1 1 0 011-1z" }], - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm0 22H6v-6l5-5 5.59 5.59a2 2 0 002.82 0L21 19l5 5zm0-4.83l-3.59-3.59a2 2 0 00-2.82 0L18 19.17l-5.59-5.59a2 2 0 00-2.82 0L6 17.17V6h20z" }]]; +export const IMAGE = svg( + ["path", { d: "M19 14a3 3 0 10-3-3 3 3 0 003 3zm0-4a1 1 0 11-1 1 1 1 0 011-1z" }], + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm0 22H6v-6l5-5 5.59 5.59a2 2 0 002.82 0L21 19l5 5zm0-4.83l-3.59-3.59a2 2 0 00-2.82 0L18 19.17l-5.59-5.59a2 2 0 00-2.82 0L6 17.17V6h20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/improve-relevance.ts b/packages/hiccup-carbon-icons/src/improve-relevance.ts index 87f367ccda..6c8b1943f1 100644 --- a/packages/hiccup-carbon-icons/src/improve-relevance.ts +++ b/packages/hiccup-carbon-icons/src/improve-relevance.ts @@ -1,15 +1,17 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IMPROVE_RELEVANCE */ // prettier-ignore -export const IMPROVE_RELEVANCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 26.59L19.41 24 18 25.41l4 4 8-8L28.59 20 22 26.59z" }], - ["circle", - { - r: 2, - cy: 16, - cx: 16, - }], - ["path", { d: "M16 22a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }], - ["path", { d: "M28 16a12 12 0 10-12 12v-2a10 10 0 1110-10z" }]]; +export const IMPROVE_RELEVANCE = svg( + ["path", { d: "M22 26.59L19.41 24 18 25.41l4 4 8-8L28.59 20 22 26.59z" }], + ["circle", + { + r: 2, + cy: 16, + cx: 16, + }], + ["path", { d: "M16 22a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }], + ["path", { d: "M28 16a12 12 0 10-12 12v-2a10 10 0 1110-10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/in-progress-error.ts b/packages/hiccup-carbon-icons/src/in-progress-error.ts index d4810ea371..c275554938 100644 --- a/packages/hiccup-carbon-icons/src/in-progress-error.ts +++ b/packages/hiccup-carbon-icons/src/in-progress-error.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IN_PROGRESS_ERROR */ // prettier-ignore -export const IN_PROGRESS_ERROR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }], - ["path", { d: "M14 2a12 12 0 102 23.82v-2.022A10 10 0 1114 4v10l4.343 4.343A7.975 7.975 0 0124 16h1.82A11.93 11.93 0 0014 2z" }]]; +export const IN_PROGRESS_ERROR = svg( + ["path", { d: "M30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }], + ["path", { d: "M14 2a12 12 0 102 23.82v-2.022A10 10 0 1114 4v10l4.343 4.343A7.975 7.975 0 0124 16h1.82A11.93 11.93 0 0014 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/in-progress-warning.ts b/packages/hiccup-carbon-icons/src/in-progress-warning.ts index 08da85cfae..d058616e06 100644 --- a/packages/hiccup-carbon-icons/src/in-progress-warning.ts +++ b/packages/hiccup-carbon-icons/src/in-progress-warning.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IN_PROGRESS_WARNING */ // prettier-ignore -export const IN_PROGRESS_WARNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }], - ["path", { d: "M18.746 22.8A9.999 9.999 0 1114 4v10l6.097 6.097 1.22-2.44A2.985 2.985 0 0124 16h1.82A11.993 11.993 0 1014 26a11.934 11.934 0 003.394-.497z" }]]; +export const IN_PROGRESS_WARNING = svg( + ["path", { d: "M27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }], + ["path", { d: "M18.746 22.8A9.999 9.999 0 1114 4v10l6.097 6.097 1.22-2.44A2.985 2.985 0 0124 16h1.82A11.993 11.993 0 1014 26a11.934 11.934 0 003.394-.497z" }] +); diff --git a/packages/hiccup-carbon-icons/src/in-progress.ts b/packages/hiccup-carbon-icons/src/in-progress.ts index 7f2e378f02..786bd4eaf4 100644 --- a/packages/hiccup-carbon-icons/src/in-progress.ts +++ b/packages/hiccup-carbon-icons/src/in-progress.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IN_PROGRESS */ // prettier-ignore -export const IN_PROGRESS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm0 26a12 12 0 010-24v12l8.481 8.481A11.963 11.963 0 0116 28z" }]]; +export const IN_PROGRESS = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14.016 14.016 0 0016 2zm0 26a12 12 0 010-24v12l8.481 8.481A11.963 11.963 0 0116 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/incomplete-cancel.ts b/packages/hiccup-carbon-icons/src/incomplete-cancel.ts index b3d851d2bc..01404812bb 100644 --- a/packages/hiccup-carbon-icons/src/incomplete-cancel.ts +++ b/packages/hiccup-carbon-icons/src/incomplete-cancel.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INCOMPLETE_CANCEL */ // prettier-ignore -export const INCOMPLETE_CANCEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 21.41L28.59 20 25 23.59 21.41 20 20 21.41 23.59 25 20 28.59 21.41 30 25 26.41 28.59 30 30 28.59 26.41 25 30 21.41zM14 26a12 12 0 010-24zM17.826 4.764a10.029 10.029 0 013.242 2.168L22.48 5.52a12.036 12.036 0 00-3.89-2.602zM26 14a11.93 11.93 0 00-.917-4.59l-1.847.764A9.943 9.943 0 0124 14z" }]]; +export const INCOMPLETE_CANCEL = svg( + ["path", { d: "M30 21.41L28.59 20 25 23.59 21.41 20 20 21.41 23.59 25 20 28.59 21.41 30 25 26.41 28.59 30 30 28.59 26.41 25 30 21.41zM14 26a12 12 0 010-24zM17.826 4.764a10.029 10.029 0 013.242 2.168L22.48 5.52a12.036 12.036 0 00-3.89-2.602zM26 14a11.93 11.93 0 00-.917-4.59l-1.847.764A9.943 9.943 0 0124 14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/incomplete-error.ts b/packages/hiccup-carbon-icons/src/incomplete-error.ts index 99349f6ef8..ac80c24901 100644 --- a/packages/hiccup-carbon-icons/src/incomplete-error.ts +++ b/packages/hiccup-carbon-icons/src/incomplete-error.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INCOMPLETE_ERROR */ // prettier-ignore -export const INCOMPLETE_ERROR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 26a12 12 0 010-24zM17.826 4.764a10.029 10.029 0 013.242 2.168L22.48 5.52a12.036 12.036 0 00-3.89-2.602zM26 14a11.93 11.93 0 00-.917-4.59l-1.847.764A9.943 9.943 0 0124 14zM30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }]]; +export const INCOMPLETE_ERROR = svg( + ["path", { d: "M14 26a12 12 0 010-24zM17.826 4.764a10.029 10.029 0 013.242 2.168L22.48 5.52a12.036 12.036 0 00-3.89-2.602zM26 14a11.93 11.93 0 00-.917-4.59l-1.847.764A9.943 9.943 0 0124 14zM30 24a6 6 0 10-6 6 6.007 6.007 0 006-6zm-2 0a3.952 3.952 0 01-.567 2.019l-5.452-5.452A3.953 3.953 0 0124 20a4.005 4.005 0 014 4zm-8 0a3.952 3.952 0 01.567-2.019l5.452 5.452A3.953 3.953 0 0124 28a4.005 4.005 0 01-4-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/incomplete-warning.ts b/packages/hiccup-carbon-icons/src/incomplete-warning.ts index 0d67fbfedb..197c05ec11 100644 --- a/packages/hiccup-carbon-icons/src/incomplete-warning.ts +++ b/packages/hiccup-carbon-icons/src/incomplete-warning.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INCOMPLETE_WARNING */ // prettier-ignore -export const INCOMPLETE_WARNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 26a12 12 0 010-24zM17.826 4.764a10.029 10.029 0 013.242 2.168L22.48 5.52a12.036 12.036 0 00-3.89-2.602zM26 14a11.93 11.93 0 00-.917-4.59l-1.847.764A9.943 9.943 0 0124 14zM27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }]]; +export const INCOMPLETE_WARNING = svg( + ["path", { d: "M14 26a12 12 0 010-24zM17.826 4.764a10.029 10.029 0 013.242 2.168L22.48 5.52a12.036 12.036 0 00-3.89-2.602zM26 14a11.93 11.93 0 00-.917-4.59l-1.847.764A9.943 9.943 0 0124 14zM27.38 28h-6.762L24 21.236zM24 18a1 1 0 00-.895.553l-5 10A1 1 0 0019 30h10a1 1 0 00.921-1.39l-5.026-10.057A1 1 0 0024 18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/incomplete.ts b/packages/hiccup-carbon-icons/src/incomplete.ts index b8d6e95f5a..076100d93d 100644 --- a/packages/hiccup-carbon-icons/src/incomplete.ts +++ b/packages/hiccup-carbon-icons/src/incomplete.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INCOMPLETE */ // prettier-ignore -export const INCOMPLETE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.764 6.86l1.285-1.532a13.976 13.976 0 00-4.182-2.441l-.683 1.878a11.973 11.973 0 013.58 2.094zM27.81 14l1.968-.413a13.889 13.889 0 00-1.638-4.541L26.409 10a12.52 12.52 0 011.401 4zM20.184 27.235l.683 1.878a13.976 13.976 0 004.182-2.44l-1.285-1.532a11.973 11.973 0 01-3.58 2.094zM26.409 22l1.731 1a14.14 14.14 0 001.638-4.587l-1.968-.347A12.152 12.152 0 0126.409 22zM16 30V2a14 14 0 000 28z" }]]; +export const INCOMPLETE = svg( + ["path", { d: "M23.764 6.86l1.285-1.532a13.976 13.976 0 00-4.182-2.441l-.683 1.878a11.973 11.973 0 013.58 2.094zM27.81 14l1.968-.413a13.889 13.889 0 00-1.638-4.541L26.409 10a12.52 12.52 0 011.401 4zM20.184 27.235l.683 1.878a13.976 13.976 0 004.182-2.44l-1.285-1.532a11.973 11.973 0 01-3.58 2.094zM26.409 22l1.731 1a14.14 14.14 0 001.638-4.587l-1.968-.347A12.152 12.152 0 0126.409 22zM16 30V2a14 14 0 000 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/increase-level.ts b/packages/hiccup-carbon-icons/src/increase-level.ts index a68ae9562d..4fe5a3ecc2 100644 --- a/packages/hiccup-carbon-icons/src/increase-level.ts +++ b/packages/hiccup-carbon-icons/src/increase-level.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INCREASE_LEVEL */ // prettier-ignore -export const INCREASE_LEVEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 4l-5 3.75v6.5L15 12l-5 3.75v6.5L7 20l-5 3.75V30h2v-5.25l3-2.25 3 2.25V30h2V16.75l3-2.25 3 2.25V30h2V8.75l3-2.25 3 2.25V30h2V7.75L23 4z" }]]; +export const INCREASE_LEVEL = svg( + ["path", { d: "M23 4l-5 3.75v6.5L15 12l-5 3.75v6.5L7 20l-5 3.75V30h2v-5.25l3-2.25 3 2.25V30h2V16.75l3-2.25 3 2.25V30h2V8.75l3-2.25 3 2.25V30h2V7.75L23 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/industry.ts b/packages/hiccup-carbon-icons/src/industry.ts index dad7c36b17..ac15455044 100644 --- a/packages/hiccup-carbon-icons/src/industry.ts +++ b/packages/hiccup-carbon-icons/src/industry.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INDUSTRY */ // prettier-ignore -export const INDUSTRY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.53 6.15a1 1 0 00-1 0L20 10.38V7a1 1 0 00-1.45-.89L10 10.38V3a1 1 0 00-1-1H3a1 1 0 00-1 1v25h28V7a1 1 0 00-.47-.85zM22 26h-4v-7h4zm6 0h-4v-8a1 1 0 00-1-1h-6a1 1 0 00-1 1v8H4V4h4v9.62l10-5v5l10-5z" }]]; +export const INDUSTRY = svg( + ["path", { d: "M29.53 6.15a1 1 0 00-1 0L20 10.38V7a1 1 0 00-1.45-.89L10 10.38V3a1 1 0 00-1-1H3a1 1 0 00-1 1v25h28V7a1 1 0 00-.47-.85zM22 26h-4v-7h4zm6 0h-4v-8a1 1 0 00-1-1h-6a1 1 0 00-1 1v8H4V4h4v9.62l10-5v5l10-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/information-filled.ts b/packages/hiccup-carbon-icons/src/information-filled.ts index 9374354089..25caa71b5c 100644 --- a/packages/hiccup-carbon-icons/src/information-filled.ts +++ b/packages/hiccup-carbon-icons/src/information-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INFORMATION_FILLED */ // prettier-ignore -export const INFORMATION_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 5a1.5 1.5 0 11-1.5 1.5A1.5 1.5 0 0116 7zm4 17.125h-8v-2.25h2.875v-6.75H13v-2.25h4.125v9H20z" }]]; +export const INFORMATION_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 5a1.5 1.5 0 11-1.5 1.5A1.5 1.5 0 0116 7zm4 17.125h-8v-2.25h2.875v-6.75H13v-2.25h4.125v9H20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/information-square-filled.ts b/packages/hiccup-carbon-icons/src/information-square-filled.ts index 93ba1cd0fe..3db388240c 100644 --- a/packages/hiccup-carbon-icons/src/information-square-filled.ts +++ b/packages/hiccup-carbon-icons/src/information-square-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INFORMATION_SQUARE_FILLED */ // prettier-ignore -export const INFORMATION_SQUARE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM16 7a1.5 1.5 0 11-1.5 1.5A1.5 1.5 0 0116 7zm4 17h-8v-2h3v-7h-2v-2h4v9h3z" }]]; +export const INFORMATION_SQUARE_FILLED = svg( + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM16 7a1.5 1.5 0 11-1.5 1.5A1.5 1.5 0 0116 7zm4 17h-8v-2h3v-7h-2v-2h4v9h3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/information-square.ts b/packages/hiccup-carbon-icons/src/information-square.ts index 0452d04632..5f685a42e9 100644 --- a/packages/hiccup-carbon-icons/src/information-square.ts +++ b/packages/hiccup-carbon-icons/src/information-square.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INFORMATION_SQUARE */ // prettier-ignore -export const INFORMATION_SQUARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 22v-8h-4v2h2v6h-3v2h8v-2h-3zM16 8a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 8z" }], - ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2zM6 6v20h20V6z" }]]; +export const INFORMATION_SQUARE = svg( + ["path", { d: "M17 22v-8h-4v2h2v6h-3v2h8v-2h-3zM16 8a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 8z" }], + ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2zM6 6v20h20V6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/information.ts b/packages/hiccup-carbon-icons/src/information.ts index cad6ff9fb7..ea57f5e1f3 100644 --- a/packages/hiccup-carbon-icons/src/information.ts +++ b/packages/hiccup-carbon-icons/src/information.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INFORMATION */ // prettier-ignore -export const INFORMATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 22v-9h-4v2h2v7h-3v2h8v-2h-3zM16 7a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 7z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14 14 0 01-14 14zm0-26a12 12 0 1012 12A12 12 0 0016 4z" }]]; +export const INFORMATION = svg( + ["path", { d: "M17 22v-9h-4v2h2v7h-3v2h8v-2h-3zM16 7a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 7z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14 14 0 01-14 14zm0-26a12 12 0 1012 12A12 12 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/insert-page.ts b/packages/hiccup-carbon-icons/src/insert-page.ts index 3e8fb8c23b..80cdb2a07e 100644 --- a/packages/hiccup-carbon-icons/src/insert-page.ts +++ b/packages/hiccup-carbon-icons/src/insert-page.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INSERT_PAGE */ // prettier-ignore -export const INSERT_PAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 30h-2V20H12v10h-2V20a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2zM5.17 16L2 19.17l1.411 1.419L8 16l-4.58-4.58L2 12.83 5.17 16zM24 14H12a2.002 2.002 0 01-2-2V2h2v10h12V2h2v10a2.002 2.002 0 01-2 2z" }]]; +export const INSERT_PAGE = svg( + ["path", { d: "M26 30h-2V20H12v10h-2V20a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2zM5.17 16L2 19.17l1.411 1.419L8 16l-4.58-4.58L2 12.83 5.17 16zM24 14H12a2.002 2.002 0 01-2-2V2h2v10h12V2h2v10a2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/insert.ts b/packages/hiccup-carbon-icons/src/insert.ts index c80bf07f34..c745ffd185 100644 --- a/packages/hiccup-carbon-icons/src/insert.ts +++ b/packages/hiccup-carbon-icons/src/insert.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INSERT */ // prettier-ignore -export const INSERT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 9h9V2H2zm2-5h5v3H4zM2 19h9v-7H2zm2-5h5v3H4zM2 29h9v-7H2zm2-5h5v3H4zM27 9h-9l3.41-3.59L20 4l-6 6 6 6 1.41-1.41L18 11h9a1 1 0 011 1v12a1 1 0 01-1 1H15v2h12a3 3 0 003-3V12a3 3 0 00-3-3z" }]]; +export const INSERT = svg( + ["path", { d: "M2 9h9V2H2zm2-5h5v3H4zM2 19h9v-7H2zm2-5h5v3H4zM2 29h9v-7H2zm2-5h5v3H4zM27 9h-9l3.41-3.59L20 4l-6 6 6 6 1.41-1.41L18 11h9a1 1 0 011 1v12a1 1 0 01-1 1H15v2h12a3 3 0 003-3V12a3 3 0 00-3-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/integration.ts b/packages/hiccup-carbon-icons/src/integration.ts index 4b9b233822..bec824c0dd 100644 --- a/packages/hiccup-carbon-icons/src/integration.ts +++ b/packages/hiccup-carbon-icons/src/integration.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INTEGRATION */ // prettier-ignore -export const INTEGRATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.88 15.52l-6-11A1 1 0 0023 4H9a1 1 0 00-.88.52l-6 11a1 1 0 000 1l6 11A1 1 0 009 28h14a1 1 0 00.88-.52l6-11a1 1 0 000-.96zM22.93 7l4.39 8h-9.5zM16 14.14L10.82 6h10.36zM9.07 7l5.11 8h-9.5zM4.68 17h9.5l-5.11 8zm11.32.86L21.18 26H10.82zM22.93 25l-5.11-8h9.5z" }]]; +export const INTEGRATION = svg( + ["path", { d: "M29.88 15.52l-6-11A1 1 0 0023 4H9a1 1 0 00-.88.52l-6 11a1 1 0 000 1l6 11A1 1 0 009 28h14a1 1 0 00.88-.52l6-11a1 1 0 000-.96zM22.93 7l4.39 8h-9.5zM16 14.14L10.82 6h10.36zM9.07 7l5.11 8h-9.5zM4.68 17h9.5l-5.11 8zm11.32.86L21.18 26H10.82zM22.93 25l-5.11-8h9.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/interactions.ts b/packages/hiccup-carbon-icons/src/interactions.ts index 355931e7c7..74d999bb3d 100644 --- a/packages/hiccup-carbon-icons/src/interactions.ts +++ b/packages/hiccup-carbon-icons/src/interactions.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INTERACTIONS */ // prettier-ignore -export const INTERACTIONS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18h-4v-4h-2v14h6a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM20 6.076l-.744-1.857L16 5.522V2h-2v3.523L10.744 4.22 10 6.077l3.417 1.367L10.9 10.8l1.6 1.2L15 8.667 17.5 12l1.6-1.2-2.517-3.357L20 6.076zM10 18H5v2h5v2H6a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2.002 2.002 0 00-2-2zm0 8H6v-2h4z" }]]; +export const INTERACTIONS = svg( + ["path", { d: "M26 18h-4v-4h-2v14h6a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM20 6.076l-.744-1.857L16 5.522V2h-2v3.523L10.744 4.22 10 6.077l3.417 1.367L10.9 10.8l1.6 1.2L15 8.667 17.5 12l1.6-1.2-2.517-3.357L20 6.076zM10 18H5v2h5v2H6a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2.002 2.002 0 00-2-2zm0 8H6v-2h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/inventory-management.ts b/packages/hiccup-carbon-icons/src/inventory-management.ts index 0e309c9290..a5d5e92131 100644 --- a/packages/hiccup-carbon-icons/src/inventory-management.ts +++ b/packages/hiccup-carbon-icons/src/inventory-management.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#INVENTORY_MANAGEMENT */ // prettier-ignore -export const INVENTORY_MANAGEMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 24h4v4h-4zM26 24h4v4h-4zM19 17h4v4h-4zM26 17h4v4h-4z" }], - ["path", { d: "M17 24H4V10h24v5h2v-5a2.002 2.002 0 00-2-2h-6V4a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2v4H4a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h13zM12 4h8v4h-8z" }]]; +export const INVENTORY_MANAGEMENT = svg( + ["path", { d: "M19 24h4v4h-4zM26 24h4v4h-4zM19 17h4v4h-4zM26 17h4v4h-4z" }], + ["path", { d: "M17 24H4V10h24v5h2v-5a2.002 2.002 0 00-2-2h-6V4a2.002 2.002 0 00-2-2h-8a2.002 2.002 0 00-2 2v4H4a2.002 2.002 0 00-2 2v14a2.002 2.002 0 002 2h13zM12 4h8v4h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/iot-connect.ts b/packages/hiccup-carbon-icons/src/iot-connect.ts index 47dc24abfc..226c4892c0 100644 --- a/packages/hiccup-carbon-icons/src/iot-connect.ts +++ b/packages/hiccup-carbon-icons/src/iot-connect.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IOT_CONNECT */ // prettier-ignore -export const IOT_CONNECT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 19h-4v-4h-2v9H8V8h9V6h-4V2h-2v4H8a2.002 2.002 0 00-2 2v3H2v2h4v6H2v2h4v3a2.002 2.002 0 002 2h3v4h2v-4h6v4h2v-4h3a2.003 2.003 0 002-2v-3h4z" }], - ["path", { d: "M26 2a4.004 4.004 0 00-4 4 3.956 3.956 0 00.567 2.02L19.586 11H11v10h10v-8.586l2.98-2.98A3.955 3.955 0 0026 10a4 4 0 000-8zm-7 17h-6v-6h6zm7-11a2 2 0 112-2 2.002 2.002 0 01-2 2z" }]]; +export const IOT_CONNECT = svg( + ["path", { d: "M30 19h-4v-4h-2v9H8V8h9V6h-4V2h-2v4H8a2.002 2.002 0 00-2 2v3H2v2h4v6H2v2h4v3a2.002 2.002 0 002 2h3v4h2v-4h6v4h2v-4h3a2.003 2.003 0 002-2v-3h4z" }], + ["path", { d: "M26 2a4.004 4.004 0 00-4 4 3.956 3.956 0 00.567 2.02L19.586 11H11v10h10v-8.586l2.98-2.98A3.955 3.955 0 0026 10a4 4 0 000-8zm-7 17h-6v-6h6zm7-11a2 2 0 112-2 2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/iot-platform.ts b/packages/hiccup-carbon-icons/src/iot-platform.ts index 2d86fab575..1f0d111f2f 100644 --- a/packages/hiccup-carbon-icons/src/iot-platform.ts +++ b/packages/hiccup-carbon-icons/src/iot-platform.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#IOT_PLATFORM */ // prettier-ignore -export const IOT_PLATFORM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 19h-4v-4h-2v9H8V8h9V6h-4V2h-2v4H8a2.002 2.002 0 00-2 2v3H2v2h4v6H2v2h4v3a2.002 2.002 0 002 2h3v4h2v-4h6v4h2v-4h3a2.003 2.003 0 002-2v-3h4z" }], - ["path", { d: "M21 21H11V11h10zm-8-2h6v-6h-6zM31 13h-2A10.012 10.012 0 0019 3V1a12.013 12.013 0 0112 12z" }], - ["path", { d: "M26 13h-2a5.006 5.006 0 00-5-5V6a7.008 7.008 0 017 7z" }]]; +export const IOT_PLATFORM = svg( + ["path", { d: "M30 19h-4v-4h-2v9H8V8h9V6h-4V2h-2v4H8a2.002 2.002 0 00-2 2v3H2v2h4v6H2v2h4v3a2.002 2.002 0 002 2h3v4h2v-4h6v4h2v-4h3a2.003 2.003 0 002-2v-3h4z" }], + ["path", { d: "M21 21H11V11h10zm-8-2h6v-6h-6zM31 13h-2A10.012 10.012 0 0019 3V1a12.013 12.013 0 0112 12z" }], + ["path", { d: "M26 13h-2a5.006 5.006 0 00-5-5V6a7.008 7.008 0 017 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/iso-filled.ts b/packages/hiccup-carbon-icons/src/iso-filled.ts index 76b3c1f681..874e89a50c 100644 --- a/packages/hiccup-carbon-icons/src/iso-filled.ts +++ b/packages/hiccup-carbon-icons/src/iso-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ISO_FILLED */ // prettier-ignore -export const ISO_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 13h3v6h-3z" }], - ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM8 21H6V11h2zm9-8h-5v2h3a2 2 0 012 2v2a2 2 0 01-2 2h-5v-2h5v-2h-3a2 2 0 01-2-2v-2a2 2 0 012-2h5zm9 6a2 2 0 01-2 2h-3a2 2 0 01-2-2v-6a2 2 0 012-2h3a2 2 0 012 2z" }]]; +export const ISO_FILLED = svg( + ["path", { d: "M21 13h3v6h-3z" }], + ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM8 21H6V11h2zm9-8h-5v2h3a2 2 0 012 2v2a2 2 0 01-2 2h-5v-2h5v-2h-3a2 2 0 01-2-2v-2a2 2 0 012-2h5zm9 6a2 2 0 01-2 2h-3a2 2 0 01-2-2v-6a2 2 0 012-2h3a2 2 0 012 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/iso-outline.ts b/packages/hiccup-carbon-icons/src/iso-outline.ts index 45ba39d1b3..87fd9d6e73 100644 --- a/packages/hiccup-carbon-icons/src/iso-outline.ts +++ b/packages/hiccup-carbon-icons/src/iso-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ISO_OUTLINE */ // prettier-ignore -export const ISO_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 21h-3a2 2 0 01-2-2v-6a2 2 0 012-2h3a2 2 0 012 2v6a2 2 0 01-2 2zm-3-8v6h3v-6zM15 21h-5v-2h5v-2h-3a2 2 0 01-2-2v-2a2 2 0 012-2h5v2h-5v2h3a2 2 0 012 2v2a2 2 0 01-2 2zM6 11h2v10H6z" }], - ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM4 24V8h24v16z" }]]; +export const ISO_OUTLINE = svg( + ["path", { d: "M24 21h-3a2 2 0 01-2-2v-6a2 2 0 012-2h3a2 2 0 012 2v6a2 2 0 01-2 2zm-3-8v6h3v-6zM15 21h-5v-2h5v-2h-3a2 2 0 01-2-2v-2a2 2 0 012-2h5v2h-5v2h3a2 2 0 012 2v2a2 2 0 01-2 2zM6 11h2v10H6z" }], + ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zM4 24V8h24v16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/iso.ts b/packages/hiccup-carbon-icons/src/iso.ts index e7a4ee4446..af1fdfd208 100644 --- a/packages/hiccup-carbon-icons/src/iso.ts +++ b/packages/hiccup-carbon-icons/src/iso.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ISO */ // prettier-ignore -export const ISO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 23h-4a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zm-4-12v10h4V11zM18 23h-6v-2h6v-4h-4a2 2 0 01-2-2v-4a2 2 0 012-2h6v2h-6v4h4a2 2 0 012 2v4a2 2 0 01-2 2zM2 11h3v10H2v2h8v-2H7V11h3V9H2v2z" }]]; +export const ISO = svg( + ["path", { d: "M28 23h-4a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zm-4-12v10h4V11zM18 23h-6v-2h6v-4h-4a2 2 0 01-2-2v-4a2 2 0 012-2h6v2h-6v4h4a2 2 0 012 2v4a2 2 0 01-2 2zM2 11h3v10H2v2h8v-2H7V11h3V9H2v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/join-inner.ts b/packages/hiccup-carbon-icons/src/join-inner.ts index db8386186b..d9cbc85b09 100644 --- a/packages/hiccup-carbon-icons/src/join-inner.ts +++ b/packages/hiccup-carbon-icons/src/join-inner.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JOIN_INNER */ // prettier-ignore -export const JOIN_INNER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 6a9.935 9.935 0 00-4 .842 9.999 9.999 0 100 18.318A9.998 9.998 0 1020 6zm-8 18a8 8 0 111.757-15.798 9.973 9.973 0 000 15.598A7.992 7.992 0 0112 24zm8 0a7.992 7.992 0 01-1.757-.2 9.973 9.973 0 000-15.599A7.997 7.997 0 1120 24z" }]]; +export const JOIN_INNER = svg( + ["path", { d: "M20 6a9.935 9.935 0 00-4 .842 9.999 9.999 0 100 18.318A9.998 9.998 0 1020 6zm-8 18a8 8 0 111.757-15.798 9.973 9.973 0 000 15.598A7.992 7.992 0 0112 24zm8 0a7.992 7.992 0 01-1.757-.2 9.973 9.973 0 000-15.599A7.997 7.997 0 1120 24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/join-left.ts b/packages/hiccup-carbon-icons/src/join-left.ts index 51b61714a6..0f3f8eba80 100644 --- a/packages/hiccup-carbon-icons/src/join-left.ts +++ b/packages/hiccup-carbon-icons/src/join-left.ts @@ -1,10 +1,12 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JOIN_LEFT */ // prettier-ignore -export const JOIN_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 6a9.927 9.927 0 00-3.997.84 9.976 9.976 0 012.245 1.36 8 8 0 110 15.601 9.976 9.976 0 01-2.245 1.36A9.998 9.998 0 1020 6z" }], - ["path", { d: "M12 16a8.01 8.01 0 006.248 7.8 9.986 9.986 0 000-15.6A8.01 8.01 0 0012 16z" }], - ["path", { d: "M12 16a8.01 8.01 0 016.248-7.8 9.976 9.976 0 00-2.245-1.36 9.99 9.99 0 000 18.32 9.976 9.976 0 002.245-1.36A8.01 8.01 0 0112 16z" }], - ["path", { d: "M10 16a10.01 10.01 0 016.003-9.16 10 10 0 100 18.32A10.01 10.01 0 0110 16z" }]]; +export const JOIN_LEFT = svg( + ["path", { d: "M20 6a9.927 9.927 0 00-3.997.84 9.976 9.976 0 012.245 1.36 8 8 0 110 15.601 9.976 9.976 0 01-2.245 1.36A9.998 9.998 0 1020 6z" }], + ["path", { d: "M12 16a8.01 8.01 0 006.248 7.8 9.986 9.986 0 000-15.6A8.01 8.01 0 0012 16z" }], + ["path", { d: "M12 16a8.01 8.01 0 016.248-7.8 9.976 9.976 0 00-2.245-1.36 9.99 9.99 0 000 18.32 9.976 9.976 0 002.245-1.36A8.01 8.01 0 0112 16z" }], + ["path", { d: "M10 16a10.01 10.01 0 016.003-9.16 10 10 0 100 18.32A10.01 10.01 0 0110 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/join-outer.ts b/packages/hiccup-carbon-icons/src/join-outer.ts index e95cb2e22b..9e3cb14b15 100644 --- a/packages/hiccup-carbon-icons/src/join-outer.ts +++ b/packages/hiccup-carbon-icons/src/join-outer.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JOIN_OUTER */ // prettier-ignore -export const JOIN_OUTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 6a9.954 9.954 0 00-4 .838 9.995 9.995 0 010 18.324A9.999 9.999 0 1020 6zM10 16a9.998 9.998 0 016-9.162 10 10 0 100 18.324A9.998 9.998 0 0110 16z" }]]; +export const JOIN_OUTER = svg( + ["path", { d: "M20 6a9.954 9.954 0 00-4 .838 9.995 9.995 0 010 18.324A9.999 9.999 0 1020 6zM10 16a9.998 9.998 0 016-9.162 10 10 0 100 18.324A9.998 9.998 0 0110 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/join-right.ts b/packages/hiccup-carbon-icons/src/join-right.ts index 860922ac36..6eddfd9b8c 100644 --- a/packages/hiccup-carbon-icons/src/join-right.ts +++ b/packages/hiccup-carbon-icons/src/join-right.ts @@ -1,10 +1,12 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JOIN_RIGHT */ // prettier-ignore -export const JOIN_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 6a9.95 9.95 0 00-4.003.84 9.99 9.99 0 010 18.32A9.999 9.999 0 1020 6z" }], - ["path", { d: "M20 16a8.01 8.01 0 00-6.248-7.8 9.976 9.976 0 012.245-1.36 9.99 9.99 0 010 18.32 9.976 9.976 0 01-2.245-1.36A8.01 8.01 0 0020 16z" }], - ["path", { d: "M10 16a9.976 9.976 0 003.752 7.8 7.994 7.994 0 000-15.6A9.976 9.976 0 0010 16z" }], - ["path", { d: "M12 24a8 8 0 111.752-15.8 9.976 9.976 0 012.245-1.36 10 10 0 100 18.32 9.976 9.976 0 01-2.245-1.36A7.973 7.973 0 0112 24z" }]]; +export const JOIN_RIGHT = svg( + ["path", { d: "M20 6a9.95 9.95 0 00-4.003.84 9.99 9.99 0 010 18.32A9.999 9.999 0 1020 6z" }], + ["path", { d: "M20 16a8.01 8.01 0 00-6.248-7.8 9.976 9.976 0 012.245-1.36 9.99 9.99 0 010 18.32 9.976 9.976 0 01-2.245-1.36A8.01 8.01 0 0020 16z" }], + ["path", { d: "M10 16a9.976 9.976 0 003.752 7.8 7.994 7.994 0 000-15.6A9.976 9.976 0 0010 16z" }], + ["path", { d: "M12 24a8 8 0 111.752-15.8 9.976 9.976 0 012.245-1.36 10 10 0 100 18.32 9.976 9.976 0 01-2.245-1.36A7.973 7.973 0 0112 24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/jpg.ts b/packages/hiccup-carbon-icons/src/jpg.ts index e76510ce67..b7d695cec4 100644 --- a/packages/hiccup-carbon-icons/src/jpg.ts +++ b/packages/hiccup-carbon-icons/src/jpg.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JPG */ // prettier-ignore -export const JPG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 23h-6a2 2 0 01-2-2V11a2 2 0 012-2h6v2h-6v10h4v-4h-2v-2h4zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM8 23H4a2 2 0 01-2-2v-2h2v2h4V9h2v12a2 2 0 01-2 2z" }]]; +export const JPG = svg( + ["path", { d: "M30 23h-6a2 2 0 01-2-2V11a2 2 0 012-2h6v2h-6v10h4v-4h-2v-2h4zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM8 23H4a2 2 0 01-2-2v-2h2v2h4V9h2v12a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/json-reference.ts b/packages/hiccup-carbon-icons/src/json-reference.ts index d5b73d85c9..660a8a499f 100644 --- a/packages/hiccup-carbon-icons/src/json-reference.ts +++ b/packages/hiccup-carbon-icons/src/json-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JSON_REFERENCE */ // prettier-ignore -export const JSON_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM29 12l-2-6h-2v10h2v-6l2 6h2V6h-2v6zM21.334 6h-2.667A1.668 1.668 0 0017 7.667v6.667A1.668 1.668 0 0018.666 16h2.667A1.668 1.668 0 0023 14.334V7.667A1.668 1.668 0 0021.334 6zM21 14h-2V8h2zM9 7.667V10a2.002 2.002 0 002 2h2v2H9v2h4.333A1.668 1.668 0 0015 14.334V12a2.002 2.002 0 00-2-2h-2V8h4V6h-4.334A1.668 1.668 0 009 7.667zM5 14H3v-2H1v2.333A1.668 1.668 0 002.667 16h2.667A1.668 1.668 0 007 14.334V6H5z" }]]; +export const JSON_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM29 12l-2-6h-2v10h2v-6l2 6h2V6h-2v6zM21.334 6h-2.667A1.668 1.668 0 0017 7.667v6.667A1.668 1.668 0 0018.666 16h2.667A1.668 1.668 0 0023 14.334V7.667A1.668 1.668 0 0021.334 6zM21 14h-2V8h2zM9 7.667V10a2.002 2.002 0 002 2h2v2H9v2h4.333A1.668 1.668 0 0015 14.334V12a2.002 2.002 0 00-2-2h-2V8h4V6h-4.334A1.668 1.668 0 009 7.667zM5 14H3v-2H1v2.333A1.668 1.668 0 002.667 16h2.667A1.668 1.668 0 007 14.334V6H5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/json.ts b/packages/hiccup-carbon-icons/src/json.ts index c74e10d002..87dfd509de 100644 --- a/packages/hiccup-carbon-icons/src/json.ts +++ b/packages/hiccup-carbon-icons/src/json.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JSON */ // prettier-ignore -export const JSON: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M31 11v10h-2l-2-6v6h-2V11h2l2 6v-6h2zM21.334 21h-2.667A1.668 1.668 0 0117 19.334v-6.667A1.668 1.668 0 0118.666 11h2.667A1.668 1.668 0 0123 12.666v6.667A1.668 1.668 0 0121.334 21zM19 19h2v-6h-2zM13.334 21H9v-2h4v-2h-2a2.002 2.002 0 01-2-2v-2.334A1.668 1.668 0 0110.666 11H15v2h-4v2h2a2.002 2.002 0 012 2v2.333A1.668 1.668 0 0113.334 21zM5.333 21H2.667A1.668 1.668 0 011 19.334V17h2v2h2v-8h2v8.334A1.668 1.668 0 015.333 21z" }]]; +export const JSON = svg( + ["path", { d: "M31 11v10h-2l-2-6v6h-2V11h2l2 6v-6h2zM21.334 21h-2.667A1.668 1.668 0 0117 19.334v-6.667A1.668 1.668 0 0118.666 11h2.667A1.668 1.668 0 0123 12.666v6.667A1.668 1.668 0 0121.334 21zM19 19h2v-6h-2zM13.334 21H9v-2h4v-2h-2a2.002 2.002 0 01-2-2v-2.334A1.668 1.668 0 0110.666 11H15v2h-4v2h2a2.002 2.002 0 012 2v2.333A1.668 1.668 0 0113.334 21zM5.333 21H2.667A1.668 1.668 0 011 19.334V17h2v2h2v-8h2v8.334A1.668 1.668 0 015.333 21z" }] +); diff --git a/packages/hiccup-carbon-icons/src/jump-link.ts b/packages/hiccup-carbon-icons/src/jump-link.ts index ddaa2440e0..d78b578ad3 100644 --- a/packages/hiccup-carbon-icons/src/jump-link.ts +++ b/packages/hiccup-carbon-icons/src/jump-link.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#JUMP_LINK */ // prettier-ignore -export const JUMP_LINK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13.414 17.586L18 22.172V8H8V6h10a2.002 2.002 0 012 2v14.172l4.586-4.586L26 19l-7 7-7-7z" }]]; +export const JUMP_LINK = svg( + ["path", { d: "M13.414 17.586L18 22.172V8H8V6h10a2.002 2.002 0 012 2v14.172l4.586-4.586L26 19l-7 7-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/keyboard.ts b/packages/hiccup-carbon-icons/src/keyboard.ts index 2f8a74a40e..c7395942f0 100644 --- a/packages/hiccup-carbon-icons/src/keyboard.ts +++ b/packages/hiccup-carbon-icons/src/keyboard.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#KEYBOARD */ // prettier-ignore -export const KEYBOARD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 26H4a2 2 0 01-2-2V10a2 2 0 012-2h24a2 2 0 012 2v14a2 2 0 01-2 2zM4 10v14h24V10z" }], - ["path", { d: "M10 20h11v2H10zM6 12h2v2H6zM10 12h2v2h-2zM14 12h2v2h-2zM18 12h2v2h-2zM6 20h2v2H6zM6 16h2v2H6zM10 16h2v2h-2zM14 16h2v2h-2zM22 12h4v2h-4zM22 16h4v2h-4zM18 16h2v2h-2zM23 20h3v2h-3z" }]]; +export const KEYBOARD = svg( + ["path", { d: "M28 26H4a2 2 0 01-2-2V10a2 2 0 012-2h24a2 2 0 012 2v14a2 2 0 01-2 2zM4 10v14h24V10z" }], + ["path", { d: "M10 20h11v2H10zM6 12h2v2H6zM10 12h2v2h-2zM14 12h2v2h-2zM18 12h2v2h-2zM6 20h2v2H6zM6 16h2v2H6zM10 16h2v2h-2zM14 16h2v2h-2zM22 12h4v2h-4zM22 16h4v2h-4zM18 16h2v2h-2zM23 20h3v2h-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/language.ts b/packages/hiccup-carbon-icons/src/language.ts index 6b299c72cd..45bb4a45d4 100644 --- a/packages/hiccup-carbon-icons/src/language.ts +++ b/packages/hiccup-carbon-icons/src/language.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LANGUAGE */ // prettier-ignore -export const LANGUAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 19h6v2h-6zM18 15h12v2H18zM18 11h12v2H18zM14 21v-2H9v-2H7v2H2v2h8.215a8.591 8.591 0 01-2.216 3.977A9.273 9.273 0 016.552 23H4.333a10.855 10.855 0 002.145 3.297A14.658 14.658 0 013 28.127L3.702 30a16.42 16.42 0 004.29-2.336A16.488 16.488 0 0012.299 30L13 28.127A14.664 14.664 0 019.523 26.3a10.313 10.313 0 002.729-5.3zM11.167 13h2.166L8.75 2H6.583L2 13h2.166L5 11h5.333zM5.833 9l1.833-4.4L9.5 9z" }]]; +export const LANGUAGE = svg( + ["path", { d: "M18 19h6v2h-6zM18 15h12v2H18zM18 11h12v2H18zM14 21v-2H9v-2H7v2H2v2h8.215a8.591 8.591 0 01-2.216 3.977A9.273 9.273 0 016.552 23H4.333a10.855 10.855 0 002.145 3.297A14.658 14.658 0 013 28.127L3.702 30a16.42 16.42 0 004.29-2.336A16.488 16.488 0 0012.299 30L13 28.127A14.664 14.664 0 019.523 26.3a10.313 10.313 0 002.729-5.3zM11.167 13h2.166L8.75 2H6.583L2 13h2.166L5 11h5.333zM5.833 9l1.833-4.4L9.5 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/laptop.ts b/packages/hiccup-carbon-icons/src/laptop.ts index 6000f140c7..f8edc4f99a 100644 --- a/packages/hiccup-carbon-icons/src/laptop.ts +++ b/packages/hiccup-carbon-icons/src/laptop.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LAPTOP */ // prettier-ignore -export const LAPTOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 24.005H6a2.002 2.002 0 01-2-2v-14a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v14a2.003 2.003 0 01-2 2zm-20-16v14h20v-14zM2 26.005h28v2H2z" }]]; +export const LAPTOP = svg( + ["path", { d: "M26 24.005H6a2.002 2.002 0 01-2-2v-14a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v14a2.003 2.003 0 01-2 2zm-20-16v14h20v-14zM2 26.005h28v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/lasso.ts b/packages/hiccup-carbon-icons/src/lasso.ts index 51a45d8611..50ecf5b3c7 100644 --- a/packages/hiccup-carbon-icons/src/lasso.ts +++ b/packages/hiccup-carbon-icons/src/lasso.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LASSO */ // prettier-ignore -export const LASSO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 2h-8a9.984 9.984 0 00-4.965 18.655C7.025 20.77 7 20.882 7 21a3.993 3.993 0 002.91 3.83A4.005 4.005 0 016 28H4v2h2a6.004 6.004 0 005.928-5.12 3.997 3.997 0 002.93-2.88H20a10 10 0 000-20zm-9 21a2 2 0 112-2 2.002 2.002 0 01-2 2zm9-3h-5.142a3.984 3.984 0 00-7.15-1.264A7.99 7.99 0 0112 4h8a8 8 0 010 16z" }]]; +export const LASSO = svg( + ["path", { d: "M20 2h-8a9.984 9.984 0 00-4.965 18.655C7.025 20.77 7 20.882 7 21a3.993 3.993 0 002.91 3.83A4.005 4.005 0 016 28H4v2h2a6.004 6.004 0 005.928-5.12 3.997 3.997 0 002.93-2.88H20a10 10 0 000-20zm-9 21a2 2 0 112-2 2.002 2.002 0 01-2 2zm9-3h-5.142a3.984 3.984 0 00-7.15-1.264A7.99 7.99 0 0112 4h8a8 8 0 010 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/launch.ts b/packages/hiccup-carbon-icons/src/launch.ts index c84bd515ce..447feeb6e3 100644 --- a/packages/hiccup-carbon-icons/src/launch.ts +++ b/packages/hiccup-carbon-icons/src/launch.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LAUNCH */ // prettier-ignore -export const LAUNCH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 28H6a2 2 0 01-2-2V6a2 2 0 012-2h9v2H6v20h20v-9h2v9a2 2 0 01-2 2z" }], - ["path", { d: "M21 2v2h5.59L18 12.59 19.41 14 28 5.41V11h2V2h-9z" }]]; +export const LAUNCH = svg( + ["path", { d: "M26 28H6a2 2 0 01-2-2V6a2 2 0 012-2h9v2H6v20h20v-9h2v9a2 2 0 01-2 2z" }], + ["path", { d: "M21 2v2h5.59L18 12.59 19.41 14 28 5.41V11h2V2h-9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/legend.ts b/packages/hiccup-carbon-icons/src/legend.ts index 0a59aa9479..9c18eede4b 100644 --- a/packages/hiccup-carbon-icons/src/legend.ts +++ b/packages/hiccup-carbon-icons/src/legend.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LEGEND */ // prettier-ignore -export const LEGEND: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 22h14v2H16z" }], - ["rect", { rx: 1 }], - ["path", { d: "M16 8h14v2H16zM9.5 12h-5a.5.5 0 01-.447-.724l2.5-5.022a.52.52 0 01.894 0l2.5 5.023A.5.5 0 019.5 12z" }]]; +export const LEGEND = svg( + ["path", { d: "M16 22h14v2H16z" }], + ["rect", { rx: 1 }], + ["path", { d: "M16 8h14v2H16zM9.5 12h-5a.5.5 0 01-.447-.724l2.5-5.022a.52.52 0 01.894 0l2.5 5.023A.5.5 0 019.5 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-aa.ts b/packages/hiccup-carbon-icons/src/letter-aa.ts index 89aa89777f..f68fceed89 100644 --- a/packages/hiccup-carbon-icons/src/letter-aa.ts +++ b/packages/hiccup-carbon-icons/src/letter-aa.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_AA */ // prettier-ignore -export const LETTER_AA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 13h-5v2h5v2h-4a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2 2 0 00-2-2zm0 8h-4v-2h4zM13 9H9a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5z" }]]; +export const LETTER_AA = svg( + ["path", { d: "M23 13h-5v2h5v2h-4a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2 2 0 00-2-2zm0 8h-4v-2h4zM13 9H9a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-bb.ts b/packages/hiccup-carbon-icons/src/letter-bb.ts index 9f38d51a6d..5449f91d34 100644 --- a/packages/hiccup-carbon-icons/src/letter-bb.ts +++ b/packages/hiccup-carbon-icons/src/letter-bb.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_BB */ // prettier-ignore -export const LETTER_BB: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 13h-4V9h-2v14h6a2 2 0 002-2v-6a2 2 0 00-2-2zm-4 8v-6h4v6zM15 12a3 3 0 00-3-3H7v14h5a3 3 0 003-3v-2a3 3 0 00-.78-2 3 3 0 00.78-2zm-6-1h3a1 1 0 011 1v2a1 1 0 01-1 1H9zm4 9a1 1 0 01-1 1H9v-4h3a1 1 0 011 1z" }]]; +export const LETTER_BB = svg( + ["path", { d: "M23 13h-4V9h-2v14h6a2 2 0 002-2v-6a2 2 0 00-2-2zm-4 8v-6h4v6zM15 12a3 3 0 00-3-3H7v14h5a3 3 0 003-3v-2a3 3 0 00-.78-2 3 3 0 00.78-2zm-6-1h3a1 1 0 011 1v2a1 1 0 01-1 1H9zm4 9a1 1 0 01-1 1H9v-4h3a1 1 0 011 1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-cc.ts b/packages/hiccup-carbon-icons/src/letter-cc.ts index 885865b306..d2266a925e 100644 --- a/packages/hiccup-carbon-icons/src/letter-cc.ts +++ b/packages/hiccup-carbon-icons/src/letter-cc.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_CC */ // prettier-ignore -export const LETTER_CC: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 23h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5v2h-5v6h5zM15 23H9a2 2 0 01-2-2V11a2 2 0 012-2h6v2H9v10h6z" }]]; +export const LETTER_CC = svg( + ["path", { d: "M24 23h-5a2 2 0 01-2-2v-6a2 2 0 012-2h5v2h-5v6h5zM15 23H9a2 2 0 01-2-2V11a2 2 0 012-2h6v2H9v10h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-dd.ts b/packages/hiccup-carbon-icons/src/letter-dd.ts index 16cba5924d..3950a78f5a 100644 --- a/packages/hiccup-carbon-icons/src/letter-dd.ts +++ b/packages/hiccup-carbon-icons/src/letter-dd.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_DD */ // prettier-ignore -export const LETTER_DD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 9v4h-4a2 2 0 00-2 2v6a2 2 0 002 2h6V9zm-4 6h4v6h-4zM11 23H7V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2H9z" }]]; +export const LETTER_DD = svg( + ["path", { d: "M23 9v4h-4a2 2 0 00-2 2v6a2 2 0 002 2h6V9zm-4 6h4v6h-4zM11 23H7V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2H9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-ee.ts b/packages/hiccup-carbon-icons/src/letter-ee.ts index c4d8d4539c..c33f927936 100644 --- a/packages/hiccup-carbon-icons/src/letter-ee.ts +++ b/packages/hiccup-carbon-icons/src/letter-ee.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_EE */ // prettier-ignore -export const LETTER_EE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 11V9.02H7V23h8v-2H9v-4h5v-2H9v-4h6zM25 19v-4a2 2 0 00-2-2h-4a2 2 0 00-2 2v6a2 2 0 002 2h5v-2h-5v-2zm-6-4h4v2h-4z" }]]; +export const LETTER_EE = svg( + ["path", { d: "M15 11V9.02H7V23h8v-2H9v-4h5v-2H9v-4h6zM25 19v-4a2 2 0 00-2-2h-4a2 2 0 00-2 2v6a2 2 0 002 2h5v-2h-5v-2zm-6-4h4v2h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-ff.ts b/packages/hiccup-carbon-icons/src/letter-ff.ts index 3e08a5149c..b3e0970e3b 100644 --- a/packages/hiccup-carbon-icons/src/letter-ff.ts +++ b/packages/hiccup-carbon-icons/src/letter-ff.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_FF */ // prettier-ignore -export const LETTER_FF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 11V9H8v14h2v-6h5v-2h-5v-4h6zM24 11V9h-3a2 2 0 00-2 2v2h-2v2h2v8h2v-8h3v-2h-3v-2z" }]]; +export const LETTER_FF = svg( + ["path", { d: "M16 11V9H8v14h2v-6h5v-2h-5v-4h6zM24 11V9h-3a2 2 0 00-2 2v2h-2v2h2v8h2v-8h3v-2h-3v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-gg.ts b/packages/hiccup-carbon-icons/src/letter-gg.ts index 8183d81bde..83b7109a71 100644 --- a/packages/hiccup-carbon-icons/src/letter-gg.ts +++ b/packages/hiccup-carbon-icons/src/letter-gg.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_GG */ // prettier-ignore -export const LETTER_GG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 13a2 2 0 00-2 2v6a2 2 0 002 2h4v2h-5v2h5a2 2 0 002-2V13zm4 8h-4v-6h4zM15 23H9a2 2 0 01-2-2V11a2 2 0 012-2h6v2H9v10h4v-4h-2v-2h4z" }]]; +export const LETTER_GG = svg( + ["path", { d: "M19 13a2 2 0 00-2 2v6a2 2 0 002 2h4v2h-5v2h5a2 2 0 002-2V13zm4 8h-4v-6h4zM15 23H9a2 2 0 01-2-2V11a2 2 0 012-2h6v2H9v10h4v-4h-2v-2h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-hh.ts b/packages/hiccup-carbon-icons/src/letter-hh.ts index c34127ffe0..4a6c2015a5 100644 --- a/packages/hiccup-carbon-icons/src/letter-hh.ts +++ b/packages/hiccup-carbon-icons/src/letter-hh.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_HH */ // prettier-ignore -export const LETTER_HH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 9v6H9V9H7v14h2v-6h4v6h2V9h-2zM23 13h-4V9h-2v14h2v-8h4v8h2v-8a2 2 0 00-2-2z" }]]; +export const LETTER_HH = svg( + ["path", { d: "M13 9v6H9V9H7v14h2v-6h4v6h2V9h-2zM23 13h-4V9h-2v14h2v-8h4v8h2v-8a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-ii.ts b/packages/hiccup-carbon-icons/src/letter-ii.ts index 3f26b6e9bf..85bc7f7cb7 100644 --- a/packages/hiccup-carbon-icons/src/letter-ii.ts +++ b/packages/hiccup-carbon-icons/src/letter-ii.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_II */ // prettier-ignore -export const LETTER_II: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 11h3v10h-3v2h8v-2h-3V11h3V9h-8v2zM20 13h2v10h-2zM20 9h2v2h-2z" }]]; +export const LETTER_II = svg( + ["path", { d: "M10 11h3v10h-3v2h8v-2h-3V11h3V9h-8v2zM20 13h2v10h-2zM20 9h2v2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-jj.ts b/packages/hiccup-carbon-icons/src/letter-jj.ts index 35678950b5..e7c1f18bea 100644 --- a/packages/hiccup-carbon-icons/src/letter-jj.ts +++ b/packages/hiccup-carbon-icons/src/letter-jj.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_JJ */ // prettier-ignore -export const LETTER_JJ: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 9h2v2h-2zM20 25h-3v2h3a2 2 0 002-2V13h-2zM14 23h-4a2 2 0 01-2-2v-2h2v2h4V9h2v12a2 2 0 01-2 2z" }]]; +export const LETTER_JJ = svg( + ["path", { d: "M20 9h2v2h-2zM20 25h-3v2h3a2 2 0 002-2V13h-2zM14 23h-4a2 2 0 01-2-2v-2h2v2h4V9h2v12a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-kk.ts b/packages/hiccup-carbon-icons/src/letter-kk.ts index 9aadeb4f0a..83346e255a 100644 --- a/packages/hiccup-carbon-icons/src/letter-kk.ts +++ b/packages/hiccup-carbon-icons/src/letter-kk.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_KK */ // prettier-ignore -export const LETTER_KK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 9h-2.11L9 15.55V9H7v14h2v-4.29l.93-1.49L12.89 23H15l-3.89-7.57L15 9zM22.78 23H25l-3.78-6L25 13h-2.24L19 17.17V9h-2v14h2v-3.75l.96-1.04L22.78 23z" }]]; +export const LETTER_KK = svg( + ["path", { d: "M15 9h-2.11L9 15.55V9H7v14h2v-4.29l.93-1.49L12.89 23H15l-3.89-7.57L15 9zM22.78 23H25l-3.78-6L25 13h-2.24L19 17.17V9h-2v14h2v-3.75l.96-1.04L22.78 23z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-ll.ts b/packages/hiccup-carbon-icons/src/letter-ll.ts index 8bc9338362..975950068e 100644 --- a/packages/hiccup-carbon-icons/src/letter-ll.ts +++ b/packages/hiccup-carbon-icons/src/letter-ll.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_LL */ // prettier-ignore -export const LETTER_LL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11 21V9H9v14h8v-2h-6zM23 23h-2a2 2 0 01-2-2V9h2v12h2z" }]]; +export const LETTER_LL = svg( + ["path", { d: "M11 21V9H9v14h8v-2h-6zM23 23h-2a2 2 0 01-2-2V9h2v12h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-mm.ts b/packages/hiccup-carbon-icons/src/letter-mm.ts index 9ee1423f57..2fc4b0a0aa 100644 --- a/packages/hiccup-carbon-icons/src/letter-mm.ts +++ b/packages/hiccup-carbon-icons/src/letter-mm.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_MM */ // prettier-ignore -export const LETTER_MM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 13h-8v10h2v-8h2v8h2v-8h2v8h2v-8a2 2 0 00-2-2zM12 9l-1.52 5-.48 1.98L9.54 14 8 9H6v14h2v-8l-.16-2 .58 2L10 19.63 11.58 15l.58-2-.16 2v8h2V9h-2z" }]]; +export const LETTER_MM = svg( + ["path", { d: "M24 13h-8v10h2v-8h2v8h2v-8h2v8h2v-8a2 2 0 00-2-2zM12 9l-1.52 5-.48 1.98L9.54 14 8 9H6v14h2v-8l-.16-2 .58 2L10 19.63 11.58 15l.58-2-.16 2v8h2V9h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-nn.ts b/packages/hiccup-carbon-icons/src/letter-nn.ts index 2a04710dd1..1924baafbf 100644 --- a/packages/hiccup-carbon-icons/src/letter-nn.ts +++ b/packages/hiccup-carbon-icons/src/letter-nn.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_NN */ // prettier-ignore -export const LETTER_NN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 23h-2v-8h-4v8h-2V13h6a2 2 0 012 2zM13 19L9.32 9H7v14h2V13l3.68 10H15V9h-2v10z" }]]; +export const LETTER_NN = svg( + ["path", { d: "M25 23h-2v-8h-4v8h-2V13h6a2 2 0 012 2zM13 19L9.32 9H7v14h2V13l3.68 10H15V9h-2v10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-oo.ts b/packages/hiccup-carbon-icons/src/letter-oo.ts index e8611d43d7..f6e0066453 100644 --- a/packages/hiccup-carbon-icons/src/letter-oo.ts +++ b/packages/hiccup-carbon-icons/src/letter-oo.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_OO */ // prettier-ignore -export const LETTER_OO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 23h-4a2 2 0 01-2-2v-6a2 2 0 012-2h4a2 2 0 012 2v6a2 2 0 01-2 2zm-4-8v6h4v-6zM13 23H9a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zM9 11v10h4V11z" }]]; +export const LETTER_OO = svg( + ["path", { d: "M23 23h-4a2 2 0 01-2-2v-6a2 2 0 012-2h4a2 2 0 012 2v6a2 2 0 01-2 2zm-4-8v6h4v-6zM13 23H9a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zM9 11v10h4V11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-pp.ts b/packages/hiccup-carbon-icons/src/letter-pp.ts index d1b50eb419..ef7e8aaa02 100644 --- a/packages/hiccup-carbon-icons/src/letter-pp.ts +++ b/packages/hiccup-carbon-icons/src/letter-pp.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_PP */ // prettier-ignore -export const LETTER_PP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 13h-6v14h2v-4h4a2 2 0 002-2v-6a2 2 0 00-2-2zm-4 8v-6h4v6zM9 23H7V9h6a2 2 0 012 2v5a2 2 0 01-2 2H9zm0-7h4v-5H9z" }]]; +export const LETTER_PP = svg( + ["path", { d: "M23 13h-6v14h2v-4h4a2 2 0 002-2v-6a2 2 0 00-2-2zm-4 8v-6h4v6zM9 23H7V9h6a2 2 0 012 2v5a2 2 0 01-2 2H9zm0-7h4v-5H9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-qq.ts b/packages/hiccup-carbon-icons/src/letter-qq.ts index eda5d7e87d..d87429f5ad 100644 --- a/packages/hiccup-carbon-icons/src/letter-qq.ts +++ b/packages/hiccup-carbon-icons/src/letter-qq.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_QQ */ // prettier-ignore -export const LETTER_QQ: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 13a2 2 0 00-2 2v6a2 2 0 002 2h4v4h2V13zm4 8h-4v-6h4zM13 9H9a2 2 0 00-2 2v10a2 2 0 002 2h1v2a2 2 0 002 2h2v-2h-2v-2h1a2 2 0 002-2V11a2 2 0 00-2-2zM9 21V11h4v10z" }]]; +export const LETTER_QQ = svg( + ["path", { d: "M19 13a2 2 0 00-2 2v6a2 2 0 002 2h4v4h2V13zm4 8h-4v-6h4zM13 9H9a2 2 0 00-2 2v10a2 2 0 002 2h1v2a2 2 0 002 2h2v-2h-2v-2h1a2 2 0 002-2V11a2 2 0 00-2-2zM9 21V11h4v10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-rr.ts b/packages/hiccup-carbon-icons/src/letter-rr.ts index 03829cd7b8..b2175df08c 100644 --- a/packages/hiccup-carbon-icons/src/letter-rr.ts +++ b/packages/hiccup-carbon-icons/src/letter-rr.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_RR */ // prettier-ignore -export const LETTER_RR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 15v-4a2 2 0 00-2-2H8v14h2v-6h1.48l2.34 6H16l-2.33-6H14a2 2 0 002-2zm-6-4h4v4h-4zM24 13h-6v10h2v-8h4v-2z" }]]; +export const LETTER_RR = svg( + ["path", { d: "M16 15v-4a2 2 0 00-2-2H8v14h2v-6h1.48l2.34 6H16l-2.33-6H14a2 2 0 002-2zm-6-4h4v4h-4zM24 13h-6v10h2v-8h4v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-ss.ts b/packages/hiccup-carbon-icons/src/letter-ss.ts index 729ad1c23a..af4e86e544 100644 --- a/packages/hiccup-carbon-icons/src/letter-ss.ts +++ b/packages/hiccup-carbon-icons/src/letter-ss.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_SS */ // prettier-ignore -export const LETTER_SS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 23h-5v-2h5v-2h-3a2 2 0 01-2-2v-2a2 2 0 012-2h5v2h-5v2h3a2 2 0 012 2v2a2 2 0 01-2 2zM13 23H7v-2h6v-4H9a2 2 0 01-2-2v-4a2 2 0 012-2h6v2H9v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }]]; +export const LETTER_SS = svg( + ["path", { d: "M22 23h-5v-2h5v-2h-3a2 2 0 01-2-2v-2a2 2 0 012-2h5v2h-5v2h3a2 2 0 012 2v2a2 2 0 01-2 2zM13 23H7v-2h6v-4H9a2 2 0 01-2-2v-4a2 2 0 012-2h6v2H9v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-tt.ts b/packages/hiccup-carbon-icons/src/letter-tt.ts index 63dddc4ec5..76817ec8f2 100644 --- a/packages/hiccup-carbon-icons/src/letter-tt.ts +++ b/packages/hiccup-carbon-icons/src/letter-tt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_TT */ // prettier-ignore -export const LETTER_TT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 11h3v12h2V11h3V9H8v2zM23 15v-2h-3v-2h-2v2h-2v2h2v6a2 2 0 002 2h3v-2h-3v-6z" }]]; +export const LETTER_TT = svg( + ["path", { d: "M8 11h3v12h2V11h3V9H8v2zM23 15v-2h-3v-2h-2v2h-2v2h2v6a2 2 0 002 2h3v-2h-3v-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-uu.ts b/packages/hiccup-carbon-icons/src/letter-uu.ts index 565f367856..c8b9e37f70 100644 --- a/packages/hiccup-carbon-icons/src/letter-uu.ts +++ b/packages/hiccup-carbon-icons/src/letter-uu.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_UU */ // prettier-ignore -export const LETTER_UU: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 23h-4a2 2 0 01-2-2v-8h2v8h4v-8h2v8a2 2 0 01-2 2zM13 23H9a2 2 0 01-2-2V9h2v12h4V9h2v12a2 2 0 01-2 2z" }]]; +export const LETTER_UU = svg( + ["path", { d: "M23 23h-4a2 2 0 01-2-2v-8h2v8h4v-8h2v8a2 2 0 01-2 2zM13 23H9a2 2 0 01-2-2V9h2v12h4V9h2v12a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-vv.ts b/packages/hiccup-carbon-icons/src/letter-vv.ts index 251011e394..6f0abe0052 100644 --- a/packages/hiccup-carbon-icons/src/letter-vv.ts +++ b/packages/hiccup-carbon-icons/src/letter-vv.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_VV */ // prettier-ignore -export const LETTER_VV: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 13h-1.75L21 22.03 18.79 13H17l2.5 10h3L25 13zM13 9l-2 13L9 9H7l2.52 14h2.96L15 9h-2z" }]]; +export const LETTER_VV = svg( + ["path", { d: "M25 13h-1.75L21 22.03 18.79 13H17l2.5 10h3L25 13zM13 9l-2 13L9 9H7l2.52 14h2.96L15 9h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-ww.ts b/packages/hiccup-carbon-icons/src/letter-ww.ts index 51cb822dd9..aee6f132ea 100644 --- a/packages/hiccup-carbon-icons/src/letter-ww.ts +++ b/packages/hiccup-carbon-icons/src/letter-ww.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_WW */ // prettier-ignore -export const LETTER_WW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.3 13l-.91 8.61L22 13h-2l-1.39 8.61L17.7 13H16l1.36 10h2.28L21 14.63 22.36 23h2.28L26 13h-1.7zM12.21 9l-.34 8-.26 4.54L11.2 18l-.68-5.46H8.5L7.82 18l-.41 3.54L7.16 17l-.35-8h-1.8l1 14h2.27l.76-4.93L9.5 14l.01-.03.01.03.46 4.07.76 4.93h2.27l1-14h-1.8z" }]]; +export const LETTER_WW = svg( + ["path", { d: "M24.3 13l-.91 8.61L22 13h-2l-1.39 8.61L17.7 13H16l1.36 10h2.28L21 14.63 22.36 23h2.28L26 13h-1.7zM12.21 9l-.34 8-.26 4.54L11.2 18l-.68-5.46H8.5L7.82 18l-.41 3.54L7.16 17l-.35-8h-1.8l1 14h2.27l.76-4.93L9.5 14l.01-.03.01.03.46 4.07.76 4.93h2.27l1-14h-1.8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-xx.ts b/packages/hiccup-carbon-icons/src/letter-xx.ts index f33a75f448..4987b1ef76 100644 --- a/packages/hiccup-carbon-icons/src/letter-xx.ts +++ b/packages/hiccup-carbon-icons/src/letter-xx.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_XX */ // prettier-ignore -export const LETTER_XX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 9h-2l-2 6-2-6H7l2.75 7L7 23h2l2-6 2 6h2l-2.76-7L15 9zM25 13h-2l-2 3.9-2-3.9h-2l2.91 5L17 23h2l2-3.8 2 3.8h2l-2.9-5 2.9-5z" }]]; +export const LETTER_XX = svg( + ["path", { d: "M15 9h-2l-2 6-2-6H7l2.75 7L7 23h2l2-6 2 6h2l-2.76-7L15 9zM25 13h-2l-2 3.9-2-3.9h-2l2.91 5L17 23h2l2-3.8 2 3.8h2l-2.9-5 2.9-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-yy.ts b/packages/hiccup-carbon-icons/src/letter-yy.ts index e6f4a924e0..94d9bf8470 100644 --- a/packages/hiccup-carbon-icons/src/letter-yy.ts +++ b/packages/hiccup-carbon-icons/src/letter-yy.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_YY */ // prettier-ignore -export const LETTER_YY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 9h-2l-2 7-2-7H7l3 9v5h2v-5l3-9zM23 13l-2 7.52L19.08 13H17l3.15 9.87-.62 2.13H17v2h2.26a2 2 0 001.91-1.42L25 13z" }]]; +export const LETTER_YY = svg( + ["path", { d: "M15 9h-2l-2 7-2-7H7l3 9v5h2v-5l3-9zM23 13l-2 7.52L19.08 13H17l3.15 9.87-.62 2.13H17v2h2.26a2 2 0 001.91-1.42L25 13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/letter-zz.ts b/packages/hiccup-carbon-icons/src/letter-zz.ts index f248f24fd0..57b768b1e6 100644 --- a/packages/hiccup-carbon-icons/src/letter-zz.ts +++ b/packages/hiccup-carbon-icons/src/letter-zz.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LETTER_ZZ */ // prettier-ignore -export const LETTER_ZZ: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 15v-2h-8v2h5.5L17 21v2h8v-2h-5.49L25 15zM15 9H7v2h6L7 21v2h8v-2H9l6-10V9z" }]]; +export const LETTER_ZZ = svg( + ["path", { d: "M25 15v-2h-8v2h5.5L17 21v2h8v-2h-5.49L25 15zM15 9H7v2h6L7 21v2h8v-2H9l6-10V9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/light-filled.ts b/packages/hiccup-carbon-icons/src/light-filled.ts index fdb244b53c..2637f2316e 100644 --- a/packages/hiccup-carbon-icons/src/light-filled.ts +++ b/packages/hiccup-carbon-icons/src/light-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIGHT_FILLED */ // prettier-ignore -export const LIGHT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 2h2v4.96h-2zM21.687 8.89l3.507-3.507 1.414 1.415-3.507 3.507zM25.04 15H30v2h-4.96zM21.693 23.103l1.414-1.414 3.507 3.508L25.2 26.61zM15 25.04h2V30h-2zM5.397 25.202l3.507-3.507 1.414 1.414-3.507 3.508zM2 15h4.96v2H2zM5.39 6.803L6.806 5.39l3.507 3.508-1.414 1.414zM16 10a6 6 0 106 6 6 6 0 00-6-6z" }]]; +export const LIGHT_FILLED = svg( + ["path", { d: "M15 2h2v4.96h-2zM21.687 8.89l3.507-3.507 1.414 1.415-3.507 3.507zM25.04 15H30v2h-4.96zM21.693 23.103l1.414-1.414 3.507 3.508L25.2 26.61zM15 25.04h2V30h-2zM5.397 25.202l3.507-3.507 1.414 1.414-3.507 3.508zM2 15h4.96v2H2zM5.39 6.803L6.806 5.39l3.507 3.508-1.414 1.414zM16 10a6 6 0 106 6 6 6 0 00-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/light.ts b/packages/hiccup-carbon-icons/src/light.ts index 523c86b6d2..6d59af3651 100644 --- a/packages/hiccup-carbon-icons/src/light.ts +++ b/packages/hiccup-carbon-icons/src/light.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIGHT */ // prettier-ignore -export const LIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 2h2v4.96h-2zM21.687 8.89l3.507-3.507 1.414 1.415-3.507 3.507zM25.04 15H30v2h-4.96zM21.693 23.103l1.414-1.414 3.507 3.508L25.2 26.61zM15 25.04h2V30h-2zM5.397 25.202l3.507-3.507 1.414 1.414-3.507 3.508zM2 15h4.96v2H2zM5.39 6.803L6.806 5.39l3.507 3.508-1.414 1.414zM16 12a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6z" }]]; +export const LIGHT = svg( + ["path", { d: "M15 2h2v4.96h-2zM21.687 8.89l3.507-3.507 1.414 1.415-3.507 3.507zM25.04 15H30v2h-4.96zM21.693 23.103l1.414-1.414 3.507 3.508L25.2 26.61zM15 25.04h2V30h-2zM5.397 25.202l3.507-3.507 1.414 1.414-3.507 3.508zM2 15h4.96v2H2zM5.39 6.803L6.806 5.39l3.507 3.508-1.414 1.414zM16 12a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/lightning.ts b/packages/hiccup-carbon-icons/src/lightning.ts index 11f8cd579f..4e91607b5e 100644 --- a/packages/hiccup-carbon-icons/src/lightning.ts +++ b/packages/hiccup-carbon-icons/src/lightning.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIGHTNING */ // prettier-ignore -export const LIGHTNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08zM17.75 13l2-9H11.8L9.26 15h5.91l-1.59 10.28L23 13z" }]]; +export const LIGHTNING = svg( + ["path", { d: "M11.61 29.92a1 1 0 01-.6-1.07L12.83 17H8a1 1 0 01-1-1.23l3-13A1 1 0 0111 2h10a1 1 0 01.78.37 1 1 0 01.2.85L20.25 11H25a1 1 0 01.9.56 1 1 0 01-.11 1l-13 17A1 1 0 0112 30a1.09 1.09 0 01-.39-.08zM17.75 13l2-9H11.8L9.26 15h5.91l-1.59 10.28L23 13z" }] +); diff --git a/packages/hiccup-carbon-icons/src/link.ts b/packages/hiccup-carbon-icons/src/link.ts index cafb581570..25fbd68643 100644 --- a/packages/hiccup-carbon-icons/src/link.ts +++ b/packages/hiccup-carbon-icons/src/link.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LINK */ // prettier-ignore -export const LINK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.25 6.76a6 6 0 00-8.5 0l1.42 1.42a4 4 0 115.67 5.67l-8 8a4 4 0 11-5.67-5.66l1.41-1.42-1.41-1.42-1.42 1.42a6 6 0 000 8.5A6 6 0 0017 25a6 6 0 004.27-1.76l8-8a6 6 0 00-.02-8.48z" }], - ["path", { d: "M4.19 24.82a4 4 0 010-5.67l8-8a4 4 0 015.67 0A3.94 3.94 0 0119 14a4 4 0 01-1.17 2.85L15.71 19l1.42 1.42 2.12-2.12a6 6 0 00-8.51-8.51l-8 8a6 6 0 000 8.51A6 6 0 007 28a6.07 6.07 0 004.28-1.76l-1.42-1.42a4 4 0 01-5.67 0z" }]]; +export const LINK = svg( + ["path", { d: "M29.25 6.76a6 6 0 00-8.5 0l1.42 1.42a4 4 0 115.67 5.67l-8 8a4 4 0 11-5.67-5.66l1.41-1.42-1.41-1.42-1.42 1.42a6 6 0 000 8.5A6 6 0 0017 25a6 6 0 004.27-1.76l8-8a6 6 0 00-.02-8.48z" }], + ["path", { d: "M4.19 24.82a4 4 0 010-5.67l8-8a4 4 0 015.67 0A3.94 3.94 0 0119 14a4 4 0 01-1.17 2.85L15.71 19l1.42 1.42 2.12-2.12a6 6 0 00-8.51-8.51l-8 8a6 6 0 000 8.51A6 6 0 007 28a6.07 6.07 0 004.28-1.76l-1.42-1.42a4 4 0 01-5.67 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/list-boxes.ts b/packages/hiccup-carbon-icons/src/list-boxes.ts index c54c3f64af..68f439e67e 100644 --- a/packages/hiccup-carbon-icons/src/list-boxes.ts +++ b/packages/hiccup-carbon-icons/src/list-boxes.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIST_BOXES */ // prettier-ignore -export const LIST_BOXES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 8h14v2H16zM16 22h14v2H16zM10 14H4a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zM4 6v6h6.001L10 6zM10 28H4a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6.001L10 20z" }]]; +export const LIST_BOXES = svg( + ["path", { d: "M16 8h14v2H16zM16 22h14v2H16zM10 14H4a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zM4 6v6h6.001L10 6zM10 28H4a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6.001L10 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/list-bulleted.ts b/packages/hiccup-carbon-icons/src/list-bulleted.ts index 855f8db9b5..952d028d98 100644 --- a/packages/hiccup-carbon-icons/src/list-bulleted.ts +++ b/packages/hiccup-carbon-icons/src/list-bulleted.ts @@ -1,19 +1,21 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIST_BULLETED */ // prettier-ignore -export const LIST_BULLETED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 3, - cy: 9, - cx: 7, - }], - ["circle", - { - r: 3, - cy: 23, - cx: 7, - }], - ["path", { d: "M16 22h14v2H16zM16 8h14v2H16z" }]]; +export const LIST_BULLETED = svg( + ["circle", + { + r: 3, + cy: 9, + cx: 7, + }], + ["circle", + { + r: 3, + cy: 23, + cx: 7, + }], + ["path", { d: "M16 22h14v2H16zM16 8h14v2H16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/list-checked.ts b/packages/hiccup-carbon-icons/src/list-checked.ts index 7557fcd07b..7e0d382f60 100644 --- a/packages/hiccup-carbon-icons/src/list-checked.ts +++ b/packages/hiccup-carbon-icons/src/list-checked.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIST_CHECKED */ // prettier-ignore -export const LIST_CHECKED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 8h14v2H16zM6 10.59L3.41 8 2 9.41l4 4 8-8L12.59 4 6 10.59zM16 22h14v2H16zM6 24.59L3.41 22 2 23.41l4 4 8-8L12.59 18 6 24.59z" }]]; +export const LIST_CHECKED = svg( + ["path", { d: "M16 8h14v2H16zM6 10.59L3.41 8 2 9.41l4 4 8-8L12.59 4 6 10.59zM16 22h14v2H16zM6 24.59L3.41 22 2 23.41l4 4 8-8L12.59 18 6 24.59z" }] +); diff --git a/packages/hiccup-carbon-icons/src/list-dropdown.ts b/packages/hiccup-carbon-icons/src/list-dropdown.ts index 1d5f33f85c..094f3b6de9 100644 --- a/packages/hiccup-carbon-icons/src/list-dropdown.ts +++ b/packages/hiccup-carbon-icons/src/list-dropdown.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIST_DROPDOWN */ // prettier-ignore -export const LIST_DROPDOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6V2H2v10h9v18h19V6zM4 10V4h20v2H11v4zm24 18H13V8h15z" }], - ["path", { d: "M15 11h2v2h-2zM19 11h7v2h-7zM15 17h2v2h-2zM19 17h7v2h-7zM15 23h2v2h-2zM19 23h7v2h-7z" }]]; +export const LIST_DROPDOWN = svg( + ["path", { d: "M26 6V2H2v10h9v18h19V6zM4 10V4h20v2H11v4zm24 18H13V8h15z" }], + ["path", { d: "M15 11h2v2h-2zM19 11h7v2h-7zM15 17h2v2h-2zM19 17h7v2h-7zM15 23h2v2h-2zM19 23h7v2h-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/list-numbered.ts b/packages/hiccup-carbon-icons/src/list-numbered.ts index b4bda73ced..b38355461c 100644 --- a/packages/hiccup-carbon-icons/src/list-numbered.ts +++ b/packages/hiccup-carbon-icons/src/list-numbered.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIST_NUMBERED */ // prettier-ignore -export const LIST_NUMBERED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 22h14v2H16zM16 8h14v2H16zM8 12V4H6v1H4v2h2v5H4v2h6v-2H8zM10 28H4v-4a2 2 0 012-2h2v-2H4v-2h4a2 2 0 012 2v2a2 2 0 01-2 2H6v2h4z" }]]; +export const LIST_NUMBERED = svg( + ["path", { d: "M16 22h14v2H16zM16 8h14v2H16zM8 12V4H6v1H4v2h2v5H4v2h6v-2H8zM10 28H4v-4a2 2 0 012-2h2v-2H4v-2h4a2 2 0 012 2v2a2 2 0 01-2 2H6v2h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/list.ts b/packages/hiccup-carbon-icons/src/list.ts index 061deb15e5..02c7c83fac 100644 --- a/packages/hiccup-carbon-icons/src/list.ts +++ b/packages/hiccup-carbon-icons/src/list.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LIST */ // prettier-ignore -export const LIST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 6h18v2H10zM10 24h18v2H10zM10 15h18v2H10zM4 15h2v2H4zM4 6h2v2H4zM4 24h2v2H4z" }]]; +export const LIST = svg( + ["path", { d: "M10 6h18v2H10zM10 24h18v2H10zM10 15h18v2H10zM4 15h2v2H4zM4 6h2v2H4zM4 24h2v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/location.ts b/packages/hiccup-carbon-icons/src/location.ts index 33452ecea6..2f1917b5f0 100644 --- a/packages/hiccup-carbon-icons/src/location.ts +++ b/packages/hiccup-carbon-icons/src/location.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOCATION */ // prettier-ignore -export const LOCATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 18a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }], - ["path", { d: "M16 30l-8.436-9.949a35.076 35.076 0 01-.348-.451A10.889 10.889 0 015 13a11 11 0 0122 0 10.884 10.884 0 01-2.215 6.597l-.001.003s-.3.394-.345.447zM8.812 18.395c.002 0 .234.308.287.374L16 26.908l6.91-8.15c.044-.055.278-.365.279-.366A8.901 8.901 0 0025 13a9 9 0 10-18 0 8.905 8.905 0 001.813 5.395z" }]]; +export const LOCATION = svg( + ["path", { d: "M16 18a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }], + ["path", { d: "M16 30l-8.436-9.949a35.076 35.076 0 01-.348-.451A10.889 10.889 0 015 13a11 11 0 0122 0 10.884 10.884 0 01-2.215 6.597l-.001.003s-.3.394-.345.447zM8.812 18.395c.002 0 .234.308.287.374L16 26.908l6.91-8.15c.044-.055.278-.365.279-.366A8.901 8.901 0 0025 13a9 9 0 10-18 0 8.905 8.905 0 001.813 5.395z" }] +); diff --git a/packages/hiccup-carbon-icons/src/locked.ts b/packages/hiccup-carbon-icons/src/locked.ts index 18efcec5d8..bf9cfca411 100644 --- a/packages/hiccup-carbon-icons/src/locked.ts +++ b/packages/hiccup-carbon-icons/src/locked.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOCKED */ // prettier-ignore -export const LOCKED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 14h-2V8a6 6 0 00-12 0v6H8a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V16a2 2 0 00-2-2zM12 8a4 4 0 018 0v6h-8zm12 20H8V16h16z" }]]; +export const LOCKED = svg( + ["path", { d: "M24 14h-2V8a6 6 0 00-12 0v6H8a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V16a2 2 0 00-2-2zM12 8a4 4 0 018 0v6h-8zm12 20H8V16h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/login.ts b/packages/hiccup-carbon-icons/src/login.ts index d0499bb1a6..0f35515823 100644 --- a/packages/hiccup-carbon-icons/src/login.ts +++ b/packages/hiccup-carbon-icons/src/login.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGIN */ // prettier-ignore -export const LOGIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 30H14a2 2 0 01-2-2v-3h2v3h12V4H14v3h-2V4a2 2 0 012-2h12a2 2 0 012 2v24a2 2 0 01-2 2z" }], - ["path", { d: "M14.59 20.59L18.17 17H4v-2h14.17l-3.58-3.59L16 10l6 6-6 6-1.41-1.41z" }]]; +export const LOGIN = svg( + ["path", { d: "M26 30H14a2 2 0 01-2-2v-3h2v3h12V4H14v3h-2V4a2 2 0 012-2h12a2 2 0 012 2v24a2 2 0 01-2 2z" }], + ["path", { d: "M14.59 20.59L18.17 17H4v-2h14.17l-3.58-3.59L16 10l6 6-6 6-1.41-1.41z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-digg.ts b/packages/hiccup-carbon-icons/src/logo-digg.ts index eeed683532..53a06c5aab 100644 --- a/packages/hiccup-carbon-icons/src/logo-digg.ts +++ b/packages/hiccup-carbon-icons/src/logo-digg.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_DIGG */ // prettier-ignore -export const LOGO_DIGG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6.48 7.6v3.92H2V21h7.28V7.6zm0 11.2H4.8v-5h1.68zM10.4 11.52h2.8v9.52h-2.8zM10.4 7.6h2.8v2.8h-2.8zM14.32 11.52V21h4.48v1.12h-4.48v2.28h7.28V11.52zm4.48 7.28h-1.68v-5h1.68zM22.72 11.52V21h4.48v1.12h-4.48v2.28H30V11.52zm4.48 7.28h-1.68v-5h1.68z" }]]; +export const LOGO_DIGG = svg( + ["path", { d: "M6.48 7.6v3.92H2V21h7.28V7.6zm0 11.2H4.8v-5h1.68zM10.4 11.52h2.8v9.52h-2.8zM10.4 7.6h2.8v2.8h-2.8zM14.32 11.52V21h4.48v1.12h-4.48v2.28h7.28V11.52zm4.48 7.28h-1.68v-5h1.68zM22.72 11.52V21h4.48v1.12h-4.48v2.28H30V11.52zm4.48 7.28h-1.68v-5h1.68z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-facebook.ts b/packages/hiccup-carbon-icons/src/logo-facebook.ts index e242fceb9b..3ced52776b 100644 --- a/packages/hiccup-carbon-icons/src/logo-facebook.ts +++ b/packages/hiccup-carbon-icons/src/logo-facebook.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_FACEBOOK */ // prettier-ignore -export const LOGO_FACEBOOK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.67 4H5.33A1.34 1.34 0 004 5.33v21.34A1.34 1.34 0 005.33 28h11.49v-9.28H13.7v-3.63h3.12v-2.67c0-3.1 1.89-4.79 4.67-4.79.93 0 1.86 0 2.79.14V11h-1.91c-1.51 0-1.8.72-1.8 1.77v2.31h3.6l-.47 3.63h-3.13V28h6.1A1.34 1.34 0 0028 26.67V5.33A1.34 1.34 0 0026.67 4z" }]]; +export const LOGO_FACEBOOK = svg( + ["path", { d: "M26.67 4H5.33A1.34 1.34 0 004 5.33v21.34A1.34 1.34 0 005.33 28h11.49v-9.28H13.7v-3.63h3.12v-2.67c0-3.1 1.89-4.79 4.67-4.79.93 0 1.86 0 2.79.14V11h-1.91c-1.51 0-1.8.72-1.8 1.77v2.31h3.6l-.47 3.63h-3.13V28h6.1A1.34 1.34 0 0028 26.67V5.33A1.34 1.34 0 0026.67 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-flickr.ts b/packages/hiccup-carbon-icons/src/logo-flickr.ts index 95cc4a296e..dbe20aef5c 100644 --- a/packages/hiccup-carbon-icons/src/logo-flickr.ts +++ b/packages/hiccup-carbon-icons/src/logo-flickr.ts @@ -1,18 +1,20 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_FLICKR */ // prettier-ignore -export const LOGO_FLICKR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 6, - cy: 16, - cx: 8, - }], - ["circle", - { - r: 6, - cy: 16, - cx: 24, - }]]; +export const LOGO_FLICKR = svg( + ["circle", + { + r: 6, + cy: 16, + cx: 8, + }], + ["circle", + { + r: 6, + cy: 16, + cx: 24, + }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-github.ts b/packages/hiccup-carbon-icons/src/logo-github.ts index 3edfce8169..e812ed6d76 100644 --- a/packages/hiccup-carbon-icons/src/logo-github.ts +++ b/packages/hiccup-carbon-icons/src/logo-github.ts @@ -1,11 +1,13 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_GITHUB */ // prettier-ignore -export const LOGO_GITHUB: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", - { - "fill-rule": "evenodd", - d: "M16 2a14 14 0 00-4.43 27.28c.7.13 1-.3 1-.67v-2.38c-3.89.84-4.71-1.88-4.71-1.88a3.71 3.71 0 00-1.62-2.05c-1.27-.86.1-.85.1-.85a2.94 2.94 0 012.14 1.45 3 3 0 004.08 1.16 2.93 2.93 0 01.88-1.87c-3.1-.36-6.37-1.56-6.37-6.92a5.4 5.4 0 011.44-3.76 5 5 0 01.14-3.7s1.17-.38 3.85 1.43a13.3 13.3 0 017 0c2.67-1.81 3.84-1.43 3.84-1.43a5 5 0 01.14 3.7 5.4 5.4 0 011.44 3.76c0 5.38-3.27 6.56-6.39 6.91a3.33 3.33 0 01.95 2.59v3.84c0 .46.25.81 1 .67A14 14 0 0016 2z", - }]]; +export const LOGO_GITHUB = svg( + ["path", + { + "fill-rule": "evenodd", + d: "M16 2a14 14 0 00-4.43 27.28c.7.13 1-.3 1-.67v-2.38c-3.89.84-4.71-1.88-4.71-1.88a3.71 3.71 0 00-1.62-2.05c-1.27-.86.1-.85.1-.85a2.94 2.94 0 012.14 1.45 3 3 0 004.08 1.16 2.93 2.93 0 01.88-1.87c-3.1-.36-6.37-1.56-6.37-6.92a5.4 5.4 0 011.44-3.76 5 5 0 01.14-3.7s1.17-.38 3.85 1.43a13.3 13.3 0 017 0c2.67-1.81 3.84-1.43 3.84-1.43a5 5 0 01.14 3.7 5.4 5.4 0 011.44 3.76c0 5.38-3.27 6.56-6.39 6.91a3.33 3.33 0 01.95 2.59v3.84c0 .46.25.81 1 .67A14 14 0 0016 2z", + }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-glassdoor.ts b/packages/hiccup-carbon-icons/src/logo-glassdoor.ts index 1930b9711c..5d584348b4 100644 --- a/packages/hiccup-carbon-icons/src/logo-glassdoor.ts +++ b/packages/hiccup-carbon-icons/src/logo-glassdoor.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_GLASSDOOR */ // prettier-ignore -export const LOGO_GLASSDOOR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10.828 28h10.344a3.43 3.43 0 003.43-3.43V10.33h-3.43v14.24H7.398a3.43 3.43 0 003.43 3.43z" }], - ["path", { d: "M21.172 4H10.828a3.43 3.43 0 00-3.43 3.43v14.24h3.43V7.43h13.774A3.43 3.43 0 0021.172 4z" }]]; +export const LOGO_GLASSDOOR = svg( + ["path", { d: "M10.828 28h10.344a3.43 3.43 0 003.43-3.43V10.33h-3.43v14.24H7.398a3.43 3.43 0 003.43 3.43z" }], + ["path", { d: "M21.172 4H10.828a3.43 3.43 0 00-3.43 3.43v14.24h3.43V7.43h13.774A3.43 3.43 0 0021.172 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-instagram.ts b/packages/hiccup-carbon-icons/src/logo-instagram.ts index f57b1986d4..89fd21860a 100644 --- a/packages/hiccup-carbon-icons/src/logo-instagram.ts +++ b/packages/hiccup-carbon-icons/src/logo-instagram.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_INSTAGRAM */ // prettier-ignore -export const LOGO_INSTAGRAM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.44, - cy: 9.594, - cx: 22.406, - }], - ["path", { d: "M16 9.838A6.162 6.162 0 1022.162 16 6.162 6.162 0 0016 9.838zM16 20a4 4 0 114-4 4 4 0 01-4 4z" }], - ["path", { d: "M16 6.162c3.204 0 3.584.012 4.849.07a6.642 6.642 0 012.228.413 3.975 3.975 0 012.278 2.278 6.642 6.642 0 01.413 2.228c.058 1.265.07 1.645.07 4.85s-.012 3.583-.07 4.848a6.642 6.642 0 01-.413 2.228 3.975 3.975 0 01-2.278 2.278 6.642 6.642 0 01-2.228.413c-1.265.058-1.645.07-4.849.07s-3.584-.012-4.849-.07a6.642 6.642 0 01-2.228-.413 3.975 3.975 0 01-2.278-2.278 6.642 6.642 0 01-.413-2.228c-.058-1.265-.07-1.645-.07-4.849s.012-3.584.07-4.849a6.642 6.642 0 01.413-2.228 3.975 3.975 0 012.278-2.278 6.642 6.642 0 012.228-.413c1.265-.058 1.645-.07 4.849-.07M16 4c-3.259 0-3.668.014-4.948.072a8.807 8.807 0 00-2.912.558 6.136 6.136 0 00-3.51 3.51 8.807 8.807 0 00-.558 2.913C4.014 12.333 4 12.74 4 16s.014 3.668.072 4.948a8.807 8.807 0 00.558 2.912 6.136 6.136 0 003.51 3.51 8.807 8.807 0 002.913.558c1.28.058 1.688.072 4.947.072s3.668-.014 4.948-.072a8.807 8.807 0 002.913-.558 6.136 6.136 0 003.51-3.51 8.807 8.807 0 00.557-2.913C27.986 19.667 28 19.26 28 16s-.014-3.668-.072-4.948a8.807 8.807 0 00-.558-2.912 6.136 6.136 0 00-3.51-3.51 8.807 8.807 0 00-2.913-.557C19.667 4.013 19.26 4 16 4z" }]]; +export const LOGO_INSTAGRAM = svg( + ["circle", + { + r: 1.44, + cy: 9.594, + cx: 22.406, + }], + ["path", { d: "M16 9.838A6.162 6.162 0 1022.162 16 6.162 6.162 0 0016 9.838zM16 20a4 4 0 114-4 4 4 0 01-4 4z" }], + ["path", { d: "M16 6.162c3.204 0 3.584.012 4.849.07a6.642 6.642 0 012.228.413 3.975 3.975 0 012.278 2.278 6.642 6.642 0 01.413 2.228c.058 1.265.07 1.645.07 4.85s-.012 3.583-.07 4.848a6.642 6.642 0 01-.413 2.228 3.975 3.975 0 01-2.278 2.278 6.642 6.642 0 01-2.228.413c-1.265.058-1.645.07-4.849.07s-3.584-.012-4.849-.07a6.642 6.642 0 01-2.228-.413 3.975 3.975 0 01-2.278-2.278 6.642 6.642 0 01-.413-2.228c-.058-1.265-.07-1.645-.07-4.849s.012-3.584.07-4.849a6.642 6.642 0 01.413-2.228 3.975 3.975 0 012.278-2.278 6.642 6.642 0 012.228-.413c1.265-.058 1.645-.07 4.849-.07M16 4c-3.259 0-3.668.014-4.948.072a8.807 8.807 0 00-2.912.558 6.136 6.136 0 00-3.51 3.51 8.807 8.807 0 00-.558 2.913C4.014 12.333 4 12.74 4 16s.014 3.668.072 4.948a8.807 8.807 0 00.558 2.912 6.136 6.136 0 003.51 3.51 8.807 8.807 0 002.913.558c1.28.058 1.688.072 4.947.072s3.668-.014 4.948-.072a8.807 8.807 0 002.913-.558 6.136 6.136 0 003.51-3.51 8.807 8.807 0 00.557-2.913C27.986 19.667 28 19.26 28 16s-.014-3.668-.072-4.948a8.807 8.807 0 00-.558-2.912 6.136 6.136 0 00-3.51-3.51 8.807 8.807 0 00-2.913-.557C19.667 4.013 19.26 4 16 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-jupyter.ts b/packages/hiccup-carbon-icons/src/logo-jupyter.ts index de66ec1f3f..34d93fd2b4 100644 --- a/packages/hiccup-carbon-icons/src/logo-jupyter.ts +++ b/packages/hiccup-carbon-icons/src/logo-jupyter.ts @@ -1,20 +1,22 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_JUPYTER */ // prettier-ignore -export const LOGO_JUPYTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, +export const LOGO_JUPYTER = svg( + ["g", + ["path", { d: "M26.077 3.588a1.69 1.69 0 11-1.76-1.585 1.67 1.67 0 011.76 1.585z" }]], + ["g", ["g", - ["path", { d: "M26.077 3.588a1.69 1.69 0 11-1.76-1.585 1.67 1.67 0 011.76 1.585z" }]], + ["path", { d: "M16.22 23.111c-4.487 0-8.43-1.61-10.47-3.988a11.162 11.162 0 0020.938 0c-2.034 2.378-5.962 3.988-10.469 3.988z" }]]], + ["g", ["g", - ["g", - ["path", { d: "M16.22 23.111c-4.487 0-8.43-1.61-10.47-3.988a11.162 11.162 0 0020.938 0c-2.034 2.378-5.962 3.988-10.469 3.988z" }]]], + ["path", { d: "M16.22 7.648c4.486 0 8.43 1.61 10.468 3.988a11.162 11.162 0 00-20.938 0c2.04-2.382 5.963-3.988 10.47-3.988z" }]]], + ["g", ["g", - ["g", - ["path", { d: "M16.22 7.648c4.486 0 8.43 1.61 10.468 3.988a11.162 11.162 0 00-20.938 0c2.04-2.382 5.963-3.988 10.47-3.988z" }]]], + ["path", { d: "M10.043 27.739a2.108 2.108 0 11-.203-.798 2.128 2.128 0 01.203.798z" }]]], + ["g", ["g", - ["g", - ["path", { d: "M10.043 27.739a2.108 2.108 0 11-.203-.798 2.128 2.128 0 01.203.798z" }]]], - ["g", - ["g", - ["path", { d: "M6.26 7.106A1.226 1.226 0 117.452 5.83 1.242 1.242 0 016.26 7.106z" }]]]]; + ["path", { d: "M6.26 7.106A1.226 1.226 0 117.452 5.83 1.242 1.242 0 016.26 7.106z" }]]] +); diff --git a/packages/hiccup-carbon-icons/src/logo-linkedin.ts b/packages/hiccup-carbon-icons/src/logo-linkedin.ts index dd8868e96b..39572b2f63 100644 --- a/packages/hiccup-carbon-icons/src/logo-linkedin.ts +++ b/packages/hiccup-carbon-icons/src/logo-linkedin.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_LINKEDIN */ // prettier-ignore -export const LOGO_LINKEDIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.21 4H5.79A1.78 1.78 0 004 5.73V26.2a1.77 1.77 0 001.79 1.73h20.42A1.77 1.77 0 0028 26.2V5.73A1.78 1.78 0 0026.21 4zm-15.1 20.41H7.59V13h3.52zm-1.72-13a2.07 2.07 0 01-2.07-2.02 2 2 0 012.07-2.07 2.07 2.07 0 010 4.13zm15.09 12.93H21v-5.58c0-1.33 0-3.06-1.86-3.06S17 17.16 17 18.63v5.65h-3.56V13h3.32v1.5h.07a3.72 3.72 0 013.39-1.86c3.59 0 4.26 2.4 4.26 5.45z" }]]; +export const LOGO_LINKEDIN = svg( + ["path", { d: "M26.21 4H5.79A1.78 1.78 0 004 5.73V26.2a1.77 1.77 0 001.79 1.73h20.42A1.77 1.77 0 0028 26.2V5.73A1.78 1.78 0 0026.21 4zm-15.1 20.41H7.59V13h3.52zm-1.72-13a2.07 2.07 0 01-2.07-2.02 2 2 0 012.07-2.07 2.07 2.07 0 010 4.13zm15.09 12.93H21v-5.58c0-1.33 0-3.06-1.86-3.06S17 17.16 17 18.63v5.65h-3.56V13h3.32v1.5h.07a3.72 3.72 0 013.39-1.86c3.59 0 4.26 2.4 4.26 5.45z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-livestream.ts b/packages/hiccup-carbon-icons/src/logo-livestream.ts index 4f182356cf..de5bd3efaf 100644 --- a/packages/hiccup-carbon-icons/src/logo-livestream.ts +++ b/packages/hiccup-carbon-icons/src/logo-livestream.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_LIVESTREAM */ // prettier-ignore -export const LOGO_LIVESTREAM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.49 23.71h-7.54a3.12 3.12 0 01-2.41-1A14.91 14.91 0 0110 18.88c-1.3-2.6-2.54-5.22-3.82-7.82-.39-.8-.82-1.56-1.28-2.32A7.84 7.84 0 002 5.6h3.57a45.63 45.63 0 017 .61 8.09 8.09 0 016.34 5.09 48.51 48.51 0 012.17 7.36 26 26 0 001.41 5.05zM28.1 26.38a2.93 2.93 0 01-2.74-2.64 42.08 42.08 0 01-.14-4.9 48 48 0 00-.61-7.58 3.75 3.75 0 00-.83-2h2.65c.54 0 .73.37.89.78a12.1 12.1 0 01.68 3.24c.29 2.72.31 5.45.33 8.18a10.94 10.94 0 000 1.15c.09.78.4 1.1 1.17 1.08.5 0 .5-.06.5-.06v2.69a8.62 8.62 0 01-1.9.06z" }]]; +export const LOGO_LIVESTREAM = svg( + ["path", { d: "M22.49 23.71h-7.54a3.12 3.12 0 01-2.41-1A14.91 14.91 0 0110 18.88c-1.3-2.6-2.54-5.22-3.82-7.82-.39-.8-.82-1.56-1.28-2.32A7.84 7.84 0 002 5.6h3.57a45.63 45.63 0 017 .61 8.09 8.09 0 016.34 5.09 48.51 48.51 0 012.17 7.36 26 26 0 001.41 5.05zM28.1 26.38a2.93 2.93 0 01-2.74-2.64 42.08 42.08 0 01-.14-4.9 48 48 0 00-.61-7.58 3.75 3.75 0 00-.83-2h2.65c.54 0 .73.37.89.78a12.1 12.1 0 01.68 3.24c.29 2.72.31 5.45.33 8.18a10.94 10.94 0 000 1.15c.09.78.4 1.1 1.17 1.08.5 0 .5-.06.5-.06v2.69a8.62 8.62 0 01-1.9.06z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-medium.ts b/packages/hiccup-carbon-icons/src/logo-medium.ts index be28b2dbb3..8d224611a3 100644 --- a/packages/hiccup-carbon-icons/src/logo-medium.ts +++ b/packages/hiccup-carbon-icons/src/logo-medium.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_MEDIUM */ // prettier-ignore -export const LOGO_MEDIUM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 4v24h24V4zm19.939 5.687L22.65 10.92a.377.377 0 00-.143.361v9.068a.377.377 0 00.143.361l1.257 1.234v.27h-6.323v-.27l1.303-1.264c.128-.128.128-.166.128-.36v-7.33l-3.62 9.196h-.49l-4.215-9.196v6.163a.85.85 0 00.233.707l1.694 2.055v.27H7.815v-.27L9.51 19.86a.82.82 0 00.218-.707v-7.127a.623.623 0 00-.203-.526L8.019 9.687v-.271h4.674l3.613 7.923 3.176-7.924h4.456z" }]]; +export const LOGO_MEDIUM = svg( + ["path", { d: "M4 4v24h24V4zm19.939 5.687L22.65 10.92a.377.377 0 00-.143.361v9.068a.377.377 0 00.143.361l1.257 1.234v.27h-6.323v-.27l1.303-1.264c.128-.128.128-.166.128-.36v-7.33l-3.62 9.196h-.49l-4.215-9.196v6.163a.85.85 0 00.233.707l1.694 2.055v.27H7.815v-.27L9.51 19.86a.82.82 0 00.218-.707v-7.127a.623.623 0 00-.203-.526L8.019 9.687v-.271h4.674l3.613 7.923 3.176-7.924h4.456z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-openshift.ts b/packages/hiccup-carbon-icons/src/logo-openshift.ts index 93ff27b8cf..bd39d865fb 100644 --- a/packages/hiccup-carbon-icons/src/logo-openshift.ts +++ b/packages/hiccup-carbon-icons/src/logo-openshift.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_OPENSHIFT */ // prettier-ignore -export const LOGO_OPENSHIFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.461 15.797a12.135 12.135 0 00-1.179-4.317L29 10.13a11.988 11.988 0 00-1.028-1.738l-1.743.635a11.988 11.988 0 00-21.71 7.913l1.747-.642a12.19 12.19 0 00.331 1.985l-3.713 1.355A12.145 12.145 0 004.757 23.7l1.966-.716.002.004a11.886 11.886 0 004.67 3.89 12.013 12.013 0 0015.945-5.804 11.873 11.873 0 001.08-5.992zm-2.92 3.496a7.8 7.8 0 01-10.353 3.775 7.72 7.72 0 01-2.271-1.613l-1.985.724a7.84 7.84 0 01-2.074-3.99l3.725-1.357a7.817 7.817 0 01-.123-2.066l-1.752.637A7.773 7.773 0 0119.765 8.94h.006a7.744 7.744 0 012.265 1.615l1.744-.634a7.801 7.801 0 011.229 1.656l-3.71 1.36a7.824 7.824 0 01.977 4.388l1.968-.716a7.671 7.671 0 01-.703 2.684z" }]]; +export const LOGO_OPENSHIFT = svg( + ["path", { d: "M26.461 15.797a12.135 12.135 0 00-1.179-4.317L29 10.13a11.988 11.988 0 00-1.028-1.738l-1.743.635a11.988 11.988 0 00-21.71 7.913l1.747-.642a12.19 12.19 0 00.331 1.985l-3.713 1.355A12.145 12.145 0 004.757 23.7l1.966-.716.002.004a11.886 11.886 0 004.67 3.89 12.013 12.013 0 0015.945-5.804 11.873 11.873 0 001.08-5.992zm-2.92 3.496a7.8 7.8 0 01-10.353 3.775 7.72 7.72 0 01-2.271-1.613l-1.985.724a7.84 7.84 0 01-2.074-3.99l3.725-1.357a7.817 7.817 0 01-.123-2.066l-1.752.637A7.773 7.773 0 0119.765 8.94h.006a7.744 7.744 0 012.265 1.615l1.744-.634a7.801 7.801 0 011.229 1.656l-3.71 1.36a7.824 7.824 0 01.977 4.388l1.968-.716a7.671 7.671 0 01-.703 2.684z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-pinterest.ts b/packages/hiccup-carbon-icons/src/logo-pinterest.ts index e3849f3cd4..ea6dbec726 100644 --- a/packages/hiccup-carbon-icons/src/logo-pinterest.ts +++ b/packages/hiccup-carbon-icons/src/logo-pinterest.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_PINTEREST */ // prettier-ignore -export const LOGO_PINTEREST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 00-5.1 27 13.24 13.24 0 010-4l1.65-7a5.05 5.05 0 01-.38-2c0-1.94 1.13-3.4 2.53-3.4a1.76 1.76 0 011.77 2c0 1.2-.76 3-1.16 4.66a2 2 0 002.08 2.53c2.48 0 4.4-2.63 4.4-6.41a5.53 5.53 0 00-5.85-5.7 6.06 6.06 0 00-6.32 6.08 5.42 5.42 0 001 3.19.44.44 0 01.1.4c-.11.44-.35 1.4-.39 1.59s-.21.31-.47.19c-1.75-.82-2.84-3.37-2.84-5.43 0-4.41 3.21-8.47 9.25-8.47 4.85 0 8.63 3.46 8.63 8.09 0 4.82-3 8.7-7.27 8.7a3.76 3.76 0 01-3.21-1.6l-.87 3.33a15.55 15.55 0 01-1.74 3.67A14.17 14.17 0 0016 30a14 14 0 000-28" }]]; +export const LOGO_PINTEREST = svg( + ["path", { d: "M16 2a14 14 0 00-5.1 27 13.24 13.24 0 010-4l1.65-7a5.05 5.05 0 01-.38-2c0-1.94 1.13-3.4 2.53-3.4a1.76 1.76 0 011.77 2c0 1.2-.76 3-1.16 4.66a2 2 0 002.08 2.53c2.48 0 4.4-2.63 4.4-6.41a5.53 5.53 0 00-5.85-5.7 6.06 6.06 0 00-6.32 6.08 5.42 5.42 0 001 3.19.44.44 0 01.1.4c-.11.44-.35 1.4-.39 1.59s-.21.31-.47.19c-1.75-.82-2.84-3.37-2.84-5.43 0-4.41 3.21-8.47 9.25-8.47 4.85 0 8.63 3.46 8.63 8.09 0 4.82-3 8.7-7.27 8.7a3.76 3.76 0 01-3.21-1.6l-.87 3.33a15.55 15.55 0 01-1.74 3.67A14.17 14.17 0 0016 30a14 14 0 000-28" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-python.ts b/packages/hiccup-carbon-icons/src/logo-python.ts index fd8bfa9d83..24dd251a87 100644 --- a/packages/hiccup-carbon-icons/src/logo-python.ts +++ b/packages/hiccup-carbon-icons/src/logo-python.ts @@ -1,10 +1,12 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_PYTHON */ // prettier-ignore -export const LOGO_PYTHON: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.488 9.14v2.966a4.284 4.284 0 01-4.173 4.236h-6.672a3.408 3.408 0 00-3.34 3.394v6.36c0 1.81 1.574 2.876 3.34 3.395a11.176 11.176 0 006.672 0c1.682-.487 3.34-1.467 3.34-3.394V23.55h-6.672v-.849h10.012c1.941 0 2.665-1.354 3.34-3.386a11.464 11.464 0 000-6.79c-.48-1.932-1.396-3.386-3.34-3.386zm-3.752 16.108a1.273 1.273 0 11-1.254 1.269 1.26 1.26 0 011.254-1.27z" }], - ["path", { d: "M19.736 25.248a1.273 1.273 0 11-1.254 1.269 1.26 1.26 0 011.254-1.27z" }], - ["path", { d: "M15.835 2a19.072 19.072 0 00-3.192.273c-2.827.499-3.34 1.544-3.34 3.472V8.29h6.68v.849H6.796a4.17 4.17 0 00-4.173 3.387 12.486 12.486 0 000 6.789c.475 1.977 1.609 3.386 3.55 3.386H8.47V19.65a4.245 4.245 0 014.173-4.15h6.672a3.365 3.365 0 003.34-3.394V5.745a3.729 3.729 0 00-3.34-3.472A20.838 20.838 0 0015.835 2zm-3.612 2.048a1.273 1.273 0 11-1.254 1.277 1.268 1.268 0 011.254-1.277z" }], - ["path", { d: "M12.223 4.048a1.273 1.273 0 11-1.254 1.277 1.268 1.268 0 011.254-1.277z" }]]; +export const LOGO_PYTHON = svg( + ["path", { d: "M23.488 9.14v2.966a4.284 4.284 0 01-4.173 4.236h-6.672a3.408 3.408 0 00-3.34 3.394v6.36c0 1.81 1.574 2.876 3.34 3.395a11.176 11.176 0 006.672 0c1.682-.487 3.34-1.467 3.34-3.394V23.55h-6.672v-.849h10.012c1.941 0 2.665-1.354 3.34-3.386a11.464 11.464 0 000-6.79c-.48-1.932-1.396-3.386-3.34-3.386zm-3.752 16.108a1.273 1.273 0 11-1.254 1.269 1.26 1.26 0 011.254-1.27z" }], + ["path", { d: "M19.736 25.248a1.273 1.273 0 11-1.254 1.269 1.26 1.26 0 011.254-1.27z" }], + ["path", { d: "M15.835 2a19.072 19.072 0 00-3.192.273c-2.827.499-3.34 1.544-3.34 3.472V8.29h6.68v.849H6.796a4.17 4.17 0 00-4.173 3.387 12.486 12.486 0 000 6.789c.475 1.977 1.609 3.386 3.55 3.386H8.47V19.65a4.245 4.245 0 014.173-4.15h6.672a3.365 3.365 0 003.34-3.394V5.745a3.729 3.729 0 00-3.34-3.472A20.838 20.838 0 0015.835 2zm-3.612 2.048a1.273 1.273 0 11-1.254 1.277 1.268 1.268 0 011.254-1.277z" }], + ["path", { d: "M12.223 4.048a1.273 1.273 0 11-1.254 1.277 1.268 1.268 0 011.254-1.277z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-quora.ts b/packages/hiccup-carbon-icons/src/logo-quora.ts index f594dc51ee..fbc74ab5c8 100644 --- a/packages/hiccup-carbon-icons/src/logo-quora.ts +++ b/packages/hiccup-carbon-icons/src/logo-quora.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_QUORA */ // prettier-ignore -export const LOGO_QUORA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 23.86h-2a1.72 1.72 0 01-1.73 1.72c-1.15 0-1.82-.86-2.58-2a11 11 0 004.79-9.1c.09-7.19-5.85-11.89-12.17-11.89S3 7.37 3 14.37s6 11.79 12.17 11.79a10.71 10.71 0 003.07-.48c1.15 2.11 2.59 3.74 5.46 3.74a5 5 0 005.3-5.56zm-8.14-3.45a6.31 6.31 0 00-5.56-3.16 6 6 0 00-3.74 1.15l.64 1.6a2.56 2.56 0 01.86-.1c1.82 0 3 1.53 4.12 3.64a7.58 7.58 0 01-1.91.19C10.86 23.76 9 20.6 9 14.47s1.91-9.3 6.23-9.3 6.32 3.16 6.32 9.3a20.68 20.68 0 01-.72 5.94z" }]]; +export const LOGO_QUORA = svg( + ["path", { d: "M29 23.86h-2a1.72 1.72 0 01-1.73 1.72c-1.15 0-1.82-.86-2.58-2a11 11 0 004.79-9.1c.09-7.19-5.85-11.89-12.17-11.89S3 7.37 3 14.37s6 11.79 12.17 11.79a10.71 10.71 0 003.07-.48c1.15 2.11 2.59 3.74 5.46 3.74a5 5 0 005.3-5.56zm-8.14-3.45a6.31 6.31 0 00-5.56-3.16 6 6 0 00-3.74 1.15l.64 1.6a2.56 2.56 0 01.86-.1c1.82 0 3 1.53 4.12 3.64a7.58 7.58 0 01-1.91.19C10.86 23.76 9 20.6 9 14.47s1.91-9.3 6.23-9.3 6.32 3.16 6.32 9.3a20.68 20.68 0 01-.72 5.94z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-r-script.ts b/packages/hiccup-carbon-icons/src/logo-r-script.ts index 22284e9399..bef9d1fe66 100644 --- a/packages/hiccup-carbon-icons/src/logo-r-script.ts +++ b/packages/hiccup-carbon-icons/src/logo-r-script.ts @@ -1,11 +1,13 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_R_SCRIPT */ // prettier-ignore -export const LOGO_R_SCRIPT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", - { - "fill-rule": "evenodd", - d: "M30 14.784c0-5.178-6.268-9.376-14-9.376S2 9.606 2 14.784c0 4.615 4.981 8.442 11.536 9.223v2.991l4.776-.001v-2.974a19.381 19.381 0 003.342-.665L23.593 27l5.397-.002-3.252-5.485C28.363 19.809 30 17.426 30 14.784zm-22.498.7c0-3.54 4.764-6.41 10.641-6.41s10.214 1.963 10.214 6.41a5.47 5.47 0 01-3.398 5.126 3.225 3.225 0 00-.298-.175 10.473 10.473 0 00-1.34-.505s4.174-.31 4.174-4.466-4.368-4.234-4.368-4.234h-9.59v10.025c-3.567-1.035-6.035-3.227-6.035-5.771zm13.742 1.845l-2.893.001.001-2.68h2.892a1.248 1.248 0 011.34 1.316 1.323 1.323 0 01-1.34 1.363zm-2.933 3.495h1.283a.878.878 0 01.64.291 3.292 3.292 0 01.51.63 22.403 22.403 0 01-2.432.145z", - }]]; +export const LOGO_R_SCRIPT = svg( + ["path", + { + "fill-rule": "evenodd", + d: "M30 14.784c0-5.178-6.268-9.376-14-9.376S2 9.606 2 14.784c0 4.615 4.981 8.442 11.536 9.223v2.991l4.776-.001v-2.974a19.381 19.381 0 003.342-.665L23.593 27l5.397-.002-3.252-5.485C28.363 19.809 30 17.426 30 14.784zm-22.498.7c0-3.54 4.764-6.41 10.641-6.41s10.214 1.963 10.214 6.41a5.47 5.47 0 01-3.398 5.126 3.225 3.225 0 00-.298-.175 10.473 10.473 0 00-1.34-.505s4.174-.31 4.174-4.466-4.368-4.234-4.368-4.234h-9.59v10.025c-3.567-1.035-6.035-3.227-6.035-5.771zm13.742 1.845l-2.893.001.001-2.68h2.892a1.248 1.248 0 011.34 1.316 1.323 1.323 0 01-1.34 1.363zm-2.933 3.495h1.283a.878.878 0 01.64.291 3.292 3.292 0 01.51.63 22.403 22.403 0 01-2.432.145z", + }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-skype.ts b/packages/hiccup-carbon-icons/src/logo-skype.ts index 7dc0c35cf3..000a0847e4 100644 --- a/packages/hiccup-carbon-icons/src/logo-skype.ts +++ b/packages/hiccup-carbon-icons/src/logo-skype.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_SKYPE */ // prettier-ignore -export const LOGO_SKYPE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.91 17.88a11.63 11.63 0 00.15-1.88A12.06 12.06 0 0016 3.94a11.63 11.63 0 00-1.88.15 7.29 7.29 0 00-10 10A11.63 11.63 0 003.94 16 12.06 12.06 0 0016 28.06a11.63 11.63 0 001.88-.15 7.29 7.29 0 0010-10zm-6.18 3.6a5 5 0 01-2.24 1.73 9 9 0 01-3.48.62A8.41 8.41 0 0112 23a5.2 5.2 0 01-1.82-1.63 3.59 3.59 0 01-.7-2 1.36 1.36 0 01.43-1A1.56 1.56 0 0111 18a1.38 1.38 0 01.91.32 2.5 2.5 0 01.63.94 5.83 5.83 0 00.66 1.18 2.61 2.61 0 001 .78 3.87 3.87 0 001.69.31 4 4 0 002.34-.62 1.8 1.8 0 00.89-1.53 1.54 1.54 0 00-.47-1.17 3.09 3.09 0 00-1.25-.7c-.52-.17-1.21-.34-2.08-.53a16 16 0 01-2.91-.98 4.78 4.78 0 01-1.89-1.4 3.5 3.5 0 01-.7-2.21 3.65 3.65 0 01.74-2.24 4.7 4.7 0 012.14-1.5 9.51 9.51 0 013.3-.48 8.63 8.63 0 012.59.35 5.81 5.81 0 011.83.92 3.91 3.91 0 011.06 1.21 2.62 2.62 0 01.34 1.25 1.4 1.4 0 01-.43 1 1.43 1.43 0 01-1.07.46 1.25 1.25 0 01-.89-.28 3.36 3.36 0 01-.65-.87 3.79 3.79 0 00-1.05-1.31 3.13 3.13 0 00-1.95-.46 3.64 3.64 0 00-2 .5 1.44 1.44 0 00-.76 1.2 1.15 1.15 0 00.25.75 2.21 2.21 0 00.72.55 4.74 4.74 0 00.92.36c.32.09.84.22 1.57.39.92.2 1.74.42 2.49.66a7.61 7.61 0 011.9.88 3.59 3.59 0 011.23 1.31 4 4 0 01.4 1.96 4.24 4.24 0 01-.77 2.48z" }]]; +export const LOGO_SKYPE = svg( + ["path", { d: "M27.91 17.88a11.63 11.63 0 00.15-1.88A12.06 12.06 0 0016 3.94a11.63 11.63 0 00-1.88.15 7.29 7.29 0 00-10 10A11.63 11.63 0 003.94 16 12.06 12.06 0 0016 28.06a11.63 11.63 0 001.88-.15 7.29 7.29 0 0010-10zm-6.18 3.6a5 5 0 01-2.24 1.73 9 9 0 01-3.48.62A8.41 8.41 0 0112 23a5.2 5.2 0 01-1.82-1.63 3.59 3.59 0 01-.7-2 1.36 1.36 0 01.43-1A1.56 1.56 0 0111 18a1.38 1.38 0 01.91.32 2.5 2.5 0 01.63.94 5.83 5.83 0 00.66 1.18 2.61 2.61 0 001 .78 3.87 3.87 0 001.69.31 4 4 0 002.34-.62 1.8 1.8 0 00.89-1.53 1.54 1.54 0 00-.47-1.17 3.09 3.09 0 00-1.25-.7c-.52-.17-1.21-.34-2.08-.53a16 16 0 01-2.91-.98 4.78 4.78 0 01-1.89-1.4 3.5 3.5 0 01-.7-2.21 3.65 3.65 0 01.74-2.24 4.7 4.7 0 012.14-1.5 9.51 9.51 0 013.3-.48 8.63 8.63 0 012.59.35 5.81 5.81 0 011.83.92 3.91 3.91 0 011.06 1.21 2.62 2.62 0 01.34 1.25 1.4 1.4 0 01-.43 1 1.43 1.43 0 01-1.07.46 1.25 1.25 0 01-.89-.28 3.36 3.36 0 01-.65-.87 3.79 3.79 0 00-1.05-1.31 3.13 3.13 0 00-1.95-.46 3.64 3.64 0 00-2 .5 1.44 1.44 0 00-.76 1.2 1.15 1.15 0 00.25.75 2.21 2.21 0 00.72.55 4.74 4.74 0 00.92.36c.32.09.84.22 1.57.39.92.2 1.74.42 2.49.66a7.61 7.61 0 011.9.88 3.59 3.59 0 011.23 1.31 4 4 0 01.4 1.96 4.24 4.24 0 01-.77 2.48z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-slack.ts b/packages/hiccup-carbon-icons/src/logo-slack.ts index 2e5dc54609..8a22478e44 100644 --- a/packages/hiccup-carbon-icons/src/logo-slack.ts +++ b/packages/hiccup-carbon-icons/src/logo-slack.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_SLACK */ // prettier-ignore -export const LOGO_SLACK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9.042 19.166a2.521 2.521 0 11-2.52-2.521h2.52zM10.313 19.166a2.521 2.521 0 015.042 0v6.313a2.521 2.521 0 11-5.042 0zM12.834 9.042a2.521 2.521 0 112.521-2.52v2.52zM12.834 10.313a2.521 2.521 0 010 5.042H6.52a2.521 2.521 0 110-5.042zM22.958 12.834a2.521 2.521 0 112.52 2.521h-2.52zM21.687 12.834a2.521 2.521 0 01-5.042 0V6.52a2.521 2.521 0 115.042 0zM19.166 22.958a2.521 2.521 0 11-2.521 2.52v-2.52zM19.166 21.687a2.521 2.521 0 010-5.042h6.313a2.521 2.521 0 110 5.042z" }]]; +export const LOGO_SLACK = svg( + ["path", { d: "M9.042 19.166a2.521 2.521 0 11-2.52-2.521h2.52zM10.313 19.166a2.521 2.521 0 015.042 0v6.313a2.521 2.521 0 11-5.042 0zM12.834 9.042a2.521 2.521 0 112.521-2.52v2.52zM12.834 10.313a2.521 2.521 0 010 5.042H6.52a2.521 2.521 0 110-5.042zM22.958 12.834a2.521 2.521 0 112.52 2.521h-2.52zM21.687 12.834a2.521 2.521 0 01-5.042 0V6.52a2.521 2.521 0 115.042 0zM19.166 22.958a2.521 2.521 0 11-2.521 2.52v-2.52zM19.166 21.687a2.521 2.521 0 010-5.042h6.313a2.521 2.521 0 110 5.042z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-snapchat.ts b/packages/hiccup-carbon-icons/src/logo-snapchat.ts index 2a14710080..8b9c8eede3 100644 --- a/packages/hiccup-carbon-icons/src/logo-snapchat.ts +++ b/packages/hiccup-carbon-icons/src/logo-snapchat.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_SNAPCHAT */ // prettier-ignore -export const LOGO_SNAPCHAT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.977 9.628a7.33 7.33 0 00-.118-1.289 5.246 5.246 0 00-.487-1.495 5.187 5.187 0 00-1-1.332 4.956 4.956 0 00-2.18-1.243 8.844 8.844 0 00-2.306-.246l-.004-.012H10.114v.012a12.578 12.578 0 00-1.323.059A6.295 6.295 0 007.38 4.4a5.115 5.115 0 00-3.125 3.415 8.8 8.8 0 00-.246 2.286L4 21.907a14.92 14.92 0 00.109 1.599A5.53 5.53 0 004.6 25.12a5.17 5.17 0 001.443 1.744 4.69 4.69 0 001.444.783 7.83 7.83 0 002.374.348c.504.003 1.007.016 1.51.014 3.66-.016 7.319.026 10.978-.023a8.632 8.632 0 001.44-.153 4.877 4.877 0 002.411-1.172 4.992 4.992 0 001.593-2.654 9.665 9.665 0 00.207-2.1v-.141c0-.055-.02-11.98-.023-12.138zm-3.213 11.105c-.154.36-.93.657-2.244.86-.123.02-.175.219-.246.545-.03.135-.06.267-.1.405a.245.245 0 01-.26.195h-.02a2.101 2.101 0 01-.374-.047 4.921 4.921 0 00-.986-.105 4.37 4.37 0 00-.71.06 3.405 3.405 0 00-1.349.689 3.912 3.912 0 01-2.366.933c-.05 0-.098-.002-.134-.004a1.063 1.063 0 01-.088.004 3.906 3.906 0 01-2.365-.932 3.412 3.412 0 00-1.35-.69 4.361 4.361 0 00-.71-.06 4.858 4.858 0 00-.985.111 2.187 2.187 0 01-.374.054.257.257 0 01-.28-.202c-.042-.14-.072-.277-.1-.408-.072-.328-.124-.528-.247-.547-1.313-.203-2.09-.501-2.244-.863a.335.335 0 01-.027-.114.21.21 0 01.176-.22 4.585 4.585 0 002.757-1.639 6.168 6.168 0 00.94-1.461l.004-.01a.943.943 0 00.09-.79c-.169-.4-.73-.577-1.1-.695a3.842 3.842 0 01-.25-.084c-.328-.13-.868-.404-.796-.783a.733.733 0 01.712-.468.505.505 0 01.216.043 2.157 2.157 0 00.892.235.747.747 0 00.513-.157q-.014-.263-.032-.525a8.874 8.874 0 01.212-3.545 4.607 4.607 0 014.278-2.758l.354-.003a4.615 4.615 0 014.285 2.76 8.884 8.884 0 01.212 3.548l-.003.057-.028.467a.722.722 0 00.466.156 2.232 2.232 0 00.84-.234.663.663 0 01.275-.055.832.832 0 01.313.06l.005.002a.583.583 0 01.44.478c.004.184-.132.458-.803.723a4.055 4.055 0 01-.249.084c-.371.118-.931.296-1.1.695a.942.942 0 00.09.789l.004.01a5.431 5.431 0 003.697 3.1.211.211 0 01.176.22.34.34 0 01-.027.116z" }]]; +export const LOGO_SNAPCHAT = svg( + ["path", { d: "M27.977 9.628a7.33 7.33 0 00-.118-1.289 5.246 5.246 0 00-.487-1.495 5.187 5.187 0 00-1-1.332 4.956 4.956 0 00-2.18-1.243 8.844 8.844 0 00-2.306-.246l-.004-.012H10.114v.012a12.578 12.578 0 00-1.323.059A6.295 6.295 0 007.38 4.4a5.115 5.115 0 00-3.125 3.415 8.8 8.8 0 00-.246 2.286L4 21.907a14.92 14.92 0 00.109 1.599A5.53 5.53 0 004.6 25.12a5.17 5.17 0 001.443 1.744 4.69 4.69 0 001.444.783 7.83 7.83 0 002.374.348c.504.003 1.007.016 1.51.014 3.66-.016 7.319.026 10.978-.023a8.632 8.632 0 001.44-.153 4.877 4.877 0 002.411-1.172 4.992 4.992 0 001.593-2.654 9.665 9.665 0 00.207-2.1v-.141c0-.055-.02-11.98-.023-12.138zm-3.213 11.105c-.154.36-.93.657-2.244.86-.123.02-.175.219-.246.545-.03.135-.06.267-.1.405a.245.245 0 01-.26.195h-.02a2.101 2.101 0 01-.374-.047 4.921 4.921 0 00-.986-.105 4.37 4.37 0 00-.71.06 3.405 3.405 0 00-1.349.689 3.912 3.912 0 01-2.366.933c-.05 0-.098-.002-.134-.004a1.063 1.063 0 01-.088.004 3.906 3.906 0 01-2.365-.932 3.412 3.412 0 00-1.35-.69 4.361 4.361 0 00-.71-.06 4.858 4.858 0 00-.985.111 2.187 2.187 0 01-.374.054.257.257 0 01-.28-.202c-.042-.14-.072-.277-.1-.408-.072-.328-.124-.528-.247-.547-1.313-.203-2.09-.501-2.244-.863a.335.335 0 01-.027-.114.21.21 0 01.176-.22 4.585 4.585 0 002.757-1.639 6.168 6.168 0 00.94-1.461l.004-.01a.943.943 0 00.09-.79c-.169-.4-.73-.577-1.1-.695a3.842 3.842 0 01-.25-.084c-.328-.13-.868-.404-.796-.783a.733.733 0 01.712-.468.505.505 0 01.216.043 2.157 2.157 0 00.892.235.747.747 0 00.513-.157q-.014-.263-.032-.525a8.874 8.874 0 01.212-3.545 4.607 4.607 0 014.278-2.758l.354-.003a4.615 4.615 0 014.285 2.76 8.884 8.884 0 01.212 3.548l-.003.057-.028.467a.722.722 0 00.466.156 2.232 2.232 0 00.84-.234.663.663 0 01.275-.055.832.832 0 01.313.06l.005.002a.583.583 0 01.44.478c.004.184-.132.458-.803.723a4.055 4.055 0 01-.249.084c-.371.118-.931.296-1.1.695a.942.942 0 00.09.789l.004.01a5.431 5.431 0 003.697 3.1.211.211 0 01.176.22.34.34 0 01-.027.116z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-tumblr.ts b/packages/hiccup-carbon-icons/src/logo-tumblr.ts index 41f3ecbe4f..39ae7d1089 100644 --- a/packages/hiccup-carbon-icons/src/logo-tumblr.ts +++ b/packages/hiccup-carbon-icons/src/logo-tumblr.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_TUMBLR */ // prettier-ignore -export const LOGO_TUMBLR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.6 28h-4c-3.59 0-6.3-1.86-6.3-6.3v-7.12H9v-3.86A7.17 7.17 0 0014.3 4h3.76v6.12h4.36v4.46h-4.36v6.2c0 1.86.94 2.49 2.42 2.49h2.12z" }]]; +export const LOGO_TUMBLR = svg( + ["path", { d: "M22.6 28h-4c-3.59 0-6.3-1.86-6.3-6.3v-7.12H9v-3.86A7.17 7.17 0 0014.3 4h3.76v6.12h4.36v4.46h-4.36v6.2c0 1.86.94 2.49 2.42 2.49h2.12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-twitter.ts b/packages/hiccup-carbon-icons/src/logo-twitter.ts index 7f2f54ae9c..c430c942b9 100644 --- a/packages/hiccup-carbon-icons/src/logo-twitter.ts +++ b/packages/hiccup-carbon-icons/src/logo-twitter.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_TWITTER */ // prettier-ignore -export const LOGO_TWITTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.92 24.94A12.76 12.76 0 0024.76 12.1v-.59A9.4 9.4 0 0027 9.18a9.31 9.31 0 01-2.59.71 4.56 4.56 0 002-2.5 8.89 8.89 0 01-2.86 1.1 4.52 4.52 0 00-7.7 4.11 12.79 12.79 0 01-9.3-4.71 4.51 4.51 0 001.4 6 4.47 4.47 0 01-2-.56v.05a4.53 4.53 0 003.55 4.45 4.53 4.53 0 01-2 .08A4.51 4.51 0 0011.68 21a9.05 9.05 0 01-5.61 2A9.77 9.77 0 015 22.91a12.77 12.77 0 006.92 2" }]]; +export const LOGO_TWITTER = svg( + ["path", { d: "M11.92 24.94A12.76 12.76 0 0024.76 12.1v-.59A9.4 9.4 0 0027 9.18a9.31 9.31 0 01-2.59.71 4.56 4.56 0 002-2.5 8.89 8.89 0 01-2.86 1.1 4.52 4.52 0 00-7.7 4.11 12.79 12.79 0 01-9.3-4.71 4.51 4.51 0 001.4 6 4.47 4.47 0 01-2-.56v.05a4.53 4.53 0 003.55 4.45 4.53 4.53 0 01-2 .08A4.51 4.51 0 0011.68 21a9.05 9.05 0 01-5.61 2A9.77 9.77 0 015 22.91a12.77 12.77 0 006.92 2" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-vmware.ts b/packages/hiccup-carbon-icons/src/logo-vmware.ts index 95bd4459d1..8a37505d60 100644 --- a/packages/hiccup-carbon-icons/src/logo-vmware.ts +++ b/packages/hiccup-carbon-icons/src/logo-vmware.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_VMWARE */ // prettier-ignore -export const LOGO_VMWARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 16.67v-2.566c0-2.172-2.171-3.356-3.948-3.356a5.902 5.902 0 00-3.356 1.381 4.433 4.433 0 00-3.159-1.381 5.197 5.197 0 00-3.356 1.381 3.34 3.34 0 00-2.961-1.381 3.055 3.055 0 00-2.923 1.593L7.692 18.25l-2.891-6.627a1.462 1.462 0 00-1.915-.757 1.462 1.462 0 00-.752 1.954l3.584 7.8S6.311 22 7.495 22a1.67 1.67 0 001.777-.987c.273-.41 2.346-4.77 3.594-7.41a.497.497 0 01.946.213v6.551a1.615 1.615 0 001.474 1.63 1.58 1.58 0 001.685-1.576v-5.43a1.678 1.678 0 113.356 0v5.43a1.58 1.58 0 103.158 0v-5.43a1.678 1.678 0 013.356 0v5.43a1.58 1.58 0 003.159 0z" }]]; +export const LOGO_VMWARE = svg( + ["path", { d: "M30 16.67v-2.566c0-2.172-2.171-3.356-3.948-3.356a5.902 5.902 0 00-3.356 1.381 4.433 4.433 0 00-3.159-1.381 5.197 5.197 0 00-3.356 1.381 3.34 3.34 0 00-2.961-1.381 3.055 3.055 0 00-2.923 1.593L7.692 18.25l-2.891-6.627a1.462 1.462 0 00-1.915-.757 1.462 1.462 0 00-.752 1.954l3.584 7.8S6.311 22 7.495 22a1.67 1.67 0 001.777-.987c.273-.41 2.346-4.77 3.594-7.41a.497.497 0 01.946.213v6.551a1.615 1.615 0 001.474 1.63 1.58 1.58 0 001.685-1.576v-5.43a1.678 1.678 0 113.356 0v5.43a1.58 1.58 0 103.158 0v-5.43a1.678 1.678 0 013.356 0v5.43a1.58 1.58 0 003.159 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-xing.ts b/packages/hiccup-carbon-icons/src/logo-xing.ts index 953f62911a..30f7d51eb5 100644 --- a/packages/hiccup-carbon-icons/src/logo-xing.ts +++ b/packages/hiccup-carbon-icons/src/logo-xing.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_XING */ // prettier-ignore -export const LOGO_XING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.42 8.29a1.25 1.25 0 00-1.13-.76h-4a.65.65 0 00-.55.25.63.63 0 000 .62l2.73 4.73-4.3 7.59a.6.6 0 000 .62.58.58 0 00.52.28h4a1.22 1.22 0 001.1-.78l4.36-7.71-2.73-4.84zM27.83 2.88a.65.65 0 000-.62.61.61 0 00-.53-.26h-4.08a1.19 1.19 0 00-1.08.77s-8.7 15.43-9 15.93l5.74 10.53A1.26 1.26 0 0020 30h4a.59.59 0 00.54-.26.62.62 0 000-.62l-5.69-10.4z" }]]; +export const LOGO_XING = svg( + ["path", { d: "M11.42 8.29a1.25 1.25 0 00-1.13-.76h-4a.65.65 0 00-.55.25.63.63 0 000 .62l2.73 4.73-4.3 7.59a.6.6 0 000 .62.58.58 0 00.52.28h4a1.22 1.22 0 001.1-.78l4.36-7.71-2.73-4.84zM27.83 2.88a.65.65 0 000-.62.61.61 0 00-.53-.26h-4.08a1.19 1.19 0 00-1.08.77s-8.7 15.43-9 15.93l5.74 10.53A1.26 1.26 0 0020 30h4a.59.59 0 00.54-.26.62.62 0 000-.62l-5.69-10.4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-yelp.ts b/packages/hiccup-carbon-icons/src/logo-yelp.ts index 2c5ae70d4c..10f94515ee 100644 --- a/packages/hiccup-carbon-icons/src/logo-yelp.ts +++ b/packages/hiccup-carbon-icons/src/logo-yelp.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_YELP */ // prettier-ignore -export const LOGO_YELP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9.09 15.246l4.67 2.277a1.07 1.07 0 01-.21 2.002L8.51 20.782a1.073 1.073 0 01-1.324-.921 9.217 9.217 0 01.42-3.997 1.07 1.07 0 011.485-.618zM10.96 24.86L14.436 21a1.07 1.07 0 011.866.753l-.181 5.194a1.072 1.072 0 01-1.25 1.02 9.301 9.301 0 01-3.722-1.507 1.071 1.071 0 01-.189-1.6zM19.203 19.722l4.94 1.606a1.071 1.071 0 01.637 1.48 9.302 9.302 0 01-2.47 3.166 1.072 1.072 0 01-1.592-.258l-2.754-4.408a1.07 1.07 0 011.239-1.586zM24.227 16.57l-4.995 1.432a1.07 1.07 0 01-1.182-1.628l2.906-4.308a1.07 1.07 0 011.594-.206 9.217 9.217 0 012.363 3.25 1.073 1.073 0 01-.686 1.46zM12.556 4.45a14.954 14.954 0 00-2.567.946 1.07 1.07 0 00-.464 1.501l4.882 8.456a1.07 1.07 0 001.998-.535V5.053a1.07 1.07 0 00-1.152-1.068 14.958 14.958 0 00-2.697.465z" }]]; +export const LOGO_YELP = svg( + ["path", { d: "M9.09 15.246l4.67 2.277a1.07 1.07 0 01-.21 2.002L8.51 20.782a1.073 1.073 0 01-1.324-.921 9.217 9.217 0 01.42-3.997 1.07 1.07 0 011.485-.618zM10.96 24.86L14.436 21a1.07 1.07 0 011.866.753l-.181 5.194a1.072 1.072 0 01-1.25 1.02 9.301 9.301 0 01-3.722-1.507 1.071 1.071 0 01-.189-1.6zM19.203 19.722l4.94 1.606a1.071 1.071 0 01.637 1.48 9.302 9.302 0 01-2.47 3.166 1.072 1.072 0 01-1.592-.258l-2.754-4.408a1.07 1.07 0 011.239-1.586zM24.227 16.57l-4.995 1.432a1.07 1.07 0 01-1.182-1.628l2.906-4.308a1.07 1.07 0 011.594-.206 9.217 9.217 0 012.363 3.25 1.073 1.073 0 01-.686 1.46zM12.556 4.45a14.954 14.954 0 00-2.567.946 1.07 1.07 0 00-.464 1.501l4.882 8.456a1.07 1.07 0 001.998-.535V5.053a1.07 1.07 0 00-1.152-1.068 14.958 14.958 0 00-2.697.465z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logo-youtube.ts b/packages/hiccup-carbon-icons/src/logo-youtube.ts index 99f66ec701..587211f320 100644 --- a/packages/hiccup-carbon-icons/src/logo-youtube.ts +++ b/packages/hiccup-carbon-icons/src/logo-youtube.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGO_YOUTUBE */ // prettier-ignore -export const LOGO_YOUTUBE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.41 9.26a3.5 3.5 0 00-2.47-2.47C24.76 6.2 16 6.2 16 6.2s-8.76 0-10.94.59a3.5 3.5 0 00-2.47 2.47A36.13 36.13 0 002 16a36.13 36.13 0 00.59 6.74 3.5 3.5 0 002.47 2.47c2.18.59 10.94.59 10.94.59s8.76 0 10.94-.59a3.5 3.5 0 002.47-2.47A36.13 36.13 0 0030 16a36.13 36.13 0 00-.59-6.74zM13.2 20.2v-8.4l7.27 4.2z" }]]; +export const LOGO_YOUTUBE = svg( + ["path", { d: "M29.41 9.26a3.5 3.5 0 00-2.47-2.47C24.76 6.2 16 6.2 16 6.2s-8.76 0-10.94.59a3.5 3.5 0 00-2.47 2.47A36.13 36.13 0 002 16a36.13 36.13 0 00.59 6.74 3.5 3.5 0 002.47 2.47c2.18.59 10.94.59 10.94.59s8.76 0 10.94-.59a3.5 3.5 0 002.47-2.47A36.13 36.13 0 0030 16a36.13 36.13 0 00-.59-6.74zM13.2 20.2v-8.4l7.27 4.2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/logout.ts b/packages/hiccup-carbon-icons/src/logout.ts index ca982f1e64..6b116e5825 100644 --- a/packages/hiccup-carbon-icons/src/logout.ts +++ b/packages/hiccup-carbon-icons/src/logout.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOGOUT */ // prettier-ignore -export const LOGOUT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 30h12a2.002 2.002 0 002-2v-3h-2v3H6V4h12v3h2V4a2.002 2.002 0 00-2-2H6a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2z" }], - ["path", { d: "M20.586 20.586L24.172 17H10v-2h14.172l-3.586-3.586L22 10l6 6-6 6-1.414-1.414z" }]]; +export const LOGOUT = svg( + ["path", { d: "M6 30h12a2.002 2.002 0 002-2v-3h-2v3H6V4h12v3h2V4a2.002 2.002 0 00-2-2H6a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2z" }], + ["path", { d: "M20.586 20.586L24.172 17H10v-2h14.172l-3.586-3.586L22 10l6 6-6 6-1.414-1.414z" }] +); diff --git a/packages/hiccup-carbon-icons/src/loop.ts b/packages/hiccup-carbon-icons/src/loop.ts index 004d75ecaa..48b1640b4b 100644 --- a/packages/hiccup-carbon-icons/src/loop.ts +++ b/packages/hiccup-carbon-icons/src/loop.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#LOOP */ // prettier-ignore -export const LOOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.59 19.41L26 22h-5v2h5l-2.41 2.59L25 28l5-5-5-5-1.41 1.41zM13 6a9 9 0 00-7.48 14l1.66-1.11A7 7 0 1113 22H2v2h11a9 9 0 000-18z" }]]; +export const LOOP = svg( + ["path", { d: "M23.59 19.41L26 22h-5v2h5l-2.41 2.59L25 28l5-5-5-5-1.41 1.41zM13 6a9 9 0 00-7.48 14l1.66-1.11A7 7 0 1113 22H2v2h11a9 9 0 000-18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mac-command.ts b/packages/hiccup-carbon-icons/src/mac-command.ts index 9ae27c317f..4f6aef089b 100644 --- a/packages/hiccup-carbon-icons/src/mac-command.ts +++ b/packages/hiccup-carbon-icons/src/mac-command.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAC_COMMAND */ // prettier-ignore -export const MAC_COMMAND: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 13a4 4 0 004-4V8a4 4 0 00-4-4h-1a4 4 0 00-4 4v3h-6V8a4 4 0 00-4-4H8a4 4 0 00-4 4v1a4 4 0 004 4h3v6H8a4 4 0 00-4 4v1a4 4 0 004 4h1a4 4 0 004-4v-3h6v3a4 4 0 004 4h1a4 4 0 004-4v-1a4 4 0 00-4-4h-3v-6zm-3-5a2 2 0 012-2h1a2 2 0 012 2v1a2 2 0 01-2 2h-3zM8 11a2 2 0 01-2-2V8a2 2 0 012-2h1a2 2 0 012 2v3H8zm3 13a2 2 0 01-2 2H8a2 2 0 01-2-2v-1a2 2 0 012-2h3zm8-5h-6v-6h6zm2 2h3a2 2 0 012 2v1a2 2 0 01-2 2h-1a2 2 0 01-2-2z" }]]; +export const MAC_COMMAND = svg( + ["path", { d: "M24 13a4 4 0 004-4V8a4 4 0 00-4-4h-1a4 4 0 00-4 4v3h-6V8a4 4 0 00-4-4H8a4 4 0 00-4 4v1a4 4 0 004 4h3v6H8a4 4 0 00-4 4v1a4 4 0 004 4h1a4 4 0 004-4v-3h6v3a4 4 0 004 4h1a4 4 0 004-4v-1a4 4 0 00-4-4h-3v-6zm-3-5a2 2 0 012-2h1a2 2 0 012 2v1a2 2 0 01-2 2h-3zM8 11a2 2 0 01-2-2V8a2 2 0 012-2h1a2 2 0 012 2v3H8zm3 13a2 2 0 01-2 2H8a2 2 0 01-2-2v-1a2 2 0 012-2h3zm8-5h-6v-6h6zm2 2h3a2 2 0 012 2v1a2 2 0 01-2 2h-1a2 2 0 01-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mac-option.ts b/packages/hiccup-carbon-icons/src/mac-option.ts index 17c139e7bf..f7f550b577 100644 --- a/packages/hiccup-carbon-icons/src/mac-option.ts +++ b/packages/hiccup-carbon-icons/src/mac-option.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAC_OPTION */ // prettier-ignore -export const MAC_OPTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 5h10v2H18zM10.6 5H4v2h5.4l9 20H28v-2h-8.4z" }]]; +export const MAC_OPTION = svg( + ["path", { d: "M18 5h10v2H18zM10.6 5H4v2h5.4l9 20H28v-2h-8.4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mac-shift.ts b/packages/hiccup-carbon-icons/src/mac-shift.ts index dc9ef6f1fa..903698aa09 100644 --- a/packages/hiccup-carbon-icons/src/mac-shift.ts +++ b/packages/hiccup-carbon-icons/src/mac-shift.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAC_SHIFT */ // prettier-ignore -export const MAC_SHIFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 28H11a2.002 2.002 0 01-2-2V16H4a1 1 0 01-.707-1.707l12-12a1 1 0 011.414 0l12 12A1 1 0 0128 16h-5v10a2.003 2.003 0 01-2 2zM6.414 14H11v12h10V14h4.586L16 4.414z" }]]; +export const MAC_SHIFT = svg( + ["path", { d: "M21 28H11a2.002 2.002 0 01-2-2V16H4a1 1 0 01-.707-1.707l12-12a1 1 0 011.414 0l12 12A1 1 0 0128 16h-5v10a2.003 2.003 0 01-2 2zM6.414 14H11v12h10V14h4.586L16 4.414z" }] +); diff --git a/packages/hiccup-carbon-icons/src/machine-learning.ts b/packages/hiccup-carbon-icons/src/machine-learning.ts index 10589ccfe9..b16cec10f9 100644 --- a/packages/hiccup-carbon-icons/src/machine-learning.ts +++ b/packages/hiccup-carbon-icons/src/machine-learning.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MACHINE_LEARNING */ // prettier-ignore -export const MACHINE_LEARNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 25a6.99 6.99 0 01-5.833-3.129l1.666-1.107a5 5 0 008.334 0l1.666 1.107A6.99 6.99 0 0116 25zM20 14a2 2 0 102 2 1.98 1.98 0 00-2-2zM12 14a2 2 0 102 2 1.98 1.98 0 00-2-2z" }], - ["path", { d: "M30 16v-2h-2v-4a4.005 4.005 0 00-4-4h-2V2h-2v4h-8V2h-2v4H8a4.005 4.005 0 00-4 4v4H2v2h2v5H2v2h2v3a4.005 4.005 0 004 4h16a4.005 4.005 0 004-4v-3h2v-2h-2v-5zm-4 10a2.002 2.002 0 01-2 2H8a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2z" }]]; +export const MACHINE_LEARNING = svg( + ["path", { d: "M16 25a6.99 6.99 0 01-5.833-3.129l1.666-1.107a5 5 0 008.334 0l1.666 1.107A6.99 6.99 0 0116 25zM20 14a2 2 0 102 2 1.98 1.98 0 00-2-2zM12 14a2 2 0 102 2 1.98 1.98 0 00-2-2z" }], + ["path", { d: "M30 16v-2h-2v-4a4.005 4.005 0 00-4-4h-2V2h-2v4h-8V2h-2v4H8a4.005 4.005 0 00-4 4v4H2v2h2v5H2v2h2v3a4.005 4.005 0 004 4h16a4.005 4.005 0 004-4v-3h2v-2h-2v-5zm-4 10a2.002 2.002 0 01-2 2H8a2.002 2.002 0 01-2-2V10a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/magic-wand-filled.ts b/packages/hiccup-carbon-icons/src/magic-wand-filled.ts index 0ecde952a8..d11af8abb0 100644 --- a/packages/hiccup-carbon-icons/src/magic-wand-filled.ts +++ b/packages/hiccup-carbon-icons/src/magic-wand-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAGIC_WAND_FILLED */ // prettier-ignore -export const MAGIC_WAND_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.414 24L12 6.586a2.048 2.048 0 00-2.828 0L6.586 9.172a2.002 2.002 0 000 2.828l17.413 17.414a2.002 2.002 0 002.828 0l2.587-2.586a2 2 0 000-2.828zM8 10.586L10.586 8l5 5-2.587 2.587-5-5zM2 16l2-2 2 2-2 2zM14 4l2-2 2 2-2 2zM2 4l2-2 2 2-2 2z" }]]; +export const MAGIC_WAND_FILLED = svg( + ["path", { d: "M29.414 24L12 6.586a2.048 2.048 0 00-2.828 0L6.586 9.172a2.002 2.002 0 000 2.828l17.413 17.414a2.002 2.002 0 002.828 0l2.587-2.586a2 2 0 000-2.828zM8 10.586L10.586 8l5 5-2.587 2.587-5-5zM2 16l2-2 2 2-2 2zM14 4l2-2 2 2-2 2zM2 4l2-2 2 2-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/magic-wand.ts b/packages/hiccup-carbon-icons/src/magic-wand.ts index 4ac1779746..ec8107557b 100644 --- a/packages/hiccup-carbon-icons/src/magic-wand.ts +++ b/packages/hiccup-carbon-icons/src/magic-wand.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAGIC_WAND */ // prettier-ignore -export const MAGIC_WAND: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.414 24L12 6.586a2.048 2.048 0 00-2.828 0L6.586 9.172a2.002 2.002 0 000 2.828l17.413 17.414a2.002 2.002 0 002.828 0l2.587-2.586a2 2 0 000-2.828zM8 10.586L10.586 8l5 5-2.587 2.587-5-5zM25.413 28l-11-10.999L17 14.414l11 11zM2 16l2-2 2 2-2 2zM14 4l2-2 2 2-2 2zM2 4l2-2 2 2-2 2z" }]]; +export const MAGIC_WAND = svg( + ["path", { d: "M29.414 24L12 6.586a2.048 2.048 0 00-2.828 0L6.586 9.172a2.002 2.002 0 000 2.828l17.413 17.414a2.002 2.002 0 002.828 0l2.587-2.586a2 2 0 000-2.828zM8 10.586L10.586 8l5 5-2.587 2.587-5-5zM25.413 28l-11-10.999L17 14.414l11 11zM2 16l2-2 2 2-2 2zM14 4l2-2 2 2-2 2zM2 4l2-2 2 2-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mail-all.ts b/packages/hiccup-carbon-icons/src/mail-all.ts index 6a3a54737e..177ecd5bb9 100644 --- a/packages/hiccup-carbon-icons/src/mail-all.ts +++ b/packages/hiccup-carbon-icons/src/mail-all.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAIL_ALL */ // prettier-ignore -export const MAIL_ALL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16.59 20.41L20.17 24l-3.59 3.59L18 29l5-5-5-5-1.41 1.41zM23.59 20.41L27.17 24l-3.59 3.59L25 29l5-5-5-5-1.41 1.41z" }], - ["path", { d: "M14 23H4V7.91l11.43 7.91a1 1 0 001.14 0L28 7.91V17h2V7a2 2 0 00-2-2H4a2 2 0 00-2 2v16a2 2 0 002 2h10zM25.8 7L16 13.78 6.2 7z" }]]; +export const MAIL_ALL = svg( + ["path", { d: "M16.59 20.41L20.17 24l-3.59 3.59L18 29l5-5-5-5-1.41 1.41zM23.59 20.41L27.17 24l-3.59 3.59L25 29l5-5-5-5-1.41 1.41z" }], + ["path", { d: "M14 23H4V7.91l11.43 7.91a1 1 0 001.14 0L28 7.91V17h2V7a2 2 0 00-2-2H4a2 2 0 00-2 2v16a2 2 0 002 2h10zM25.8 7L16 13.78 6.2 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mail-reply.ts b/packages/hiccup-carbon-icons/src/mail-reply.ts index eaeb8b6d5e..dcec8d5ca7 100644 --- a/packages/hiccup-carbon-icons/src/mail-reply.ts +++ b/packages/hiccup-carbon-icons/src/mail-reply.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAIL_REPLY */ // prettier-ignore -export const MAIL_REPLY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 18l-1.414 1.414L26.167 22H18a4 4 0 000 8h2v-2h-2a2 2 0 010-4h8.167l-2.583 2.587L25 28l5-5z" }], - ["path", { d: "M10 22H4L3.997 6.906l11.434 7.916a1 1 0 001.138 0L28 6.91V16h2V6a2.002 2.002 0 00-2-2H4a2 2 0 00-2 1.997V22a2.003 2.003 0 002 2h6zM25.799 6L16 12.784 6.201 6z" }]]; +export const MAIL_REPLY = svg( + ["path", { d: "M25 18l-1.414 1.414L26.167 22H18a4 4 0 000 8h2v-2h-2a2 2 0 010-4h8.167l-2.583 2.587L25 28l5-5z" }], + ["path", { d: "M10 22H4L3.997 6.906l11.434 7.916a1 1 0 001.138 0L28 6.91V16h2V6a2.002 2.002 0 00-2-2H4a2 2 0 00-2 1.997V22a2.003 2.003 0 002 2h6zM25.799 6L16 12.784 6.201 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/manage-protection.ts b/packages/hiccup-carbon-icons/src/manage-protection.ts index 199f07e31c..e834e869a3 100644 --- a/packages/hiccup-carbon-icons/src/manage-protection.ts +++ b/packages/hiccup-carbon-icons/src/manage-protection.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MANAGE_PROTECTION */ // prettier-ignore -export const MANAGE_PROTECTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 30l-6.176-3.293A10.982 10.982 0 014 17V4a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v13a10.982 10.982 0 01-5.824 9.707zM6 4v13a8.985 8.985 0 004.766 7.942L16 27.733l5.234-2.79A8.985 8.985 0 0026 17V4z" }], - ["path", { d: "M16 25.277V6h8v10.805a7 7 0 01-3.7 6.173z" }]]; +export const MANAGE_PROTECTION = svg( + ["path", { d: "M16 30l-6.176-3.293A10.982 10.982 0 014 17V4a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v13a10.982 10.982 0 01-5.824 9.707zM6 4v13a8.985 8.985 0 004.766 7.942L16 27.733l5.234-2.79A8.985 8.985 0 0026 17V4z" }], + ["path", { d: "M16 25.277V6h8v10.805a7 7 0 01-3.7 6.173z" }] +); diff --git a/packages/hiccup-carbon-icons/src/managed-solutions.ts b/packages/hiccup-carbon-icons/src/managed-solutions.ts index 0bfe395a2b..d07145c684 100644 --- a/packages/hiccup-carbon-icons/src/managed-solutions.ts +++ b/packages/hiccup-carbon-icons/src/managed-solutions.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MANAGED_SOLUTIONS */ // prettier-ignore -export const MANAGED_SOLUTIONS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 23h-5v-5h-2v5h-5v2h5v5h2v-5h5v-2z" }], - ["path", { d: "M24.127 11.84l1.181.213a5.792 5.792 0 012.625 1.144A5.422 5.422 0 0129.953 18h2.03a7.502 7.502 0 00-6.15-7.885 10.007 10.007 0 00-7.94-7.933 10.002 10.002 0 00-11.72 7.933A7.505 7.505 0 00.059 18.41 7.684 7.684 0 007.773 25H14v-2H7.698a5.632 5.632 0 01-5.603-4.486 5.506 5.506 0 014.434-6.43l1.349-.245.214-1.11a8.206 8.206 0 016.742-6.642 7.971 7.971 0 013.014.13 8.144 8.144 0 016.053 6.446z" }]]; +export const MANAGED_SOLUTIONS = svg( + ["path", { d: "M30 23h-5v-5h-2v5h-5v2h5v5h2v-5h5v-2z" }], + ["path", { d: "M24.127 11.84l1.181.213a5.792 5.792 0 012.625 1.144A5.422 5.422 0 0129.953 18h2.03a7.502 7.502 0 00-6.15-7.885 10.007 10.007 0 00-7.94-7.933 10.002 10.002 0 00-11.72 7.933A7.505 7.505 0 00.059 18.41 7.684 7.684 0 007.773 25H14v-2H7.698a5.632 5.632 0 01-5.603-4.486 5.506 5.506 0 014.434-6.43l1.349-.245.214-1.11a8.206 8.206 0 016.742-6.642 7.971 7.971 0 013.014.13 8.144 8.144 0 016.053 6.446z" }] +); diff --git a/packages/hiccup-carbon-icons/src/map.ts b/packages/hiccup-carbon-icons/src/map.ts index 7d160b8eaa..90aad8246e 100644 --- a/packages/hiccup-carbon-icons/src/map.ts +++ b/packages/hiccup-carbon-icons/src/map.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAP */ // prettier-ignore -export const MAP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 24l-6.09-8.6A8.14 8.14 0 0116 2a8.08 8.08 0 018 8.13 8.2 8.2 0 01-1.8 5.13zm0-20a6.07 6.07 0 00-6 6.13 6.19 6.19 0 001.49 4L16 20.52 20.63 14A6.24 6.24 0 0022 10.13 6.07 6.07 0 0016 4z" }], - ["circle", - { - r: 2, - cy: 9, - cx: 16, - }], - ["path", { d: "M28 12h-2v2h2v14H4V14h2v-2H4a2 2 0 00-2 2v14a2 2 0 002 2h24a2 2 0 002-2V14a2 2 0 00-2-2z" }]]; +export const MAP = svg( + ["path", { d: "M16 24l-6.09-8.6A8.14 8.14 0 0116 2a8.08 8.08 0 018 8.13 8.2 8.2 0 01-1.8 5.13zm0-20a6.07 6.07 0 00-6 6.13 6.19 6.19 0 001.49 4L16 20.52 20.63 14A6.24 6.24 0 0022 10.13 6.07 6.07 0 0016 4z" }], + ["circle", + { + r: 2, + cy: 9, + cx: 16, + }], + ["path", { d: "M28 12h-2v2h2v14H4V14h2v-2H4a2 2 0 00-2 2v14a2 2 0 002 2h24a2 2 0 002-2V14a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/math-curve.ts b/packages/hiccup-carbon-icons/src/math-curve.ts index 29cb3b90ad..f0c0c29d16 100644 --- a/packages/hiccup-carbon-icons/src/math-curve.ts +++ b/packages/hiccup-carbon-icons/src/math-curve.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MATH_CURVE */ // prettier-ignore -export const MATH_CURVE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10.355 23.058C12.77 24.592 15.621 26 17.951 26a3.873 3.873 0 002.856-1.084c2.286-2.29.14-6.398-1.938-10.372l5.801-5.801a43.605 43.605 0 013.012 2.124L29 9.349a45.425 45.425 0 00-2.872-2.064L30 3.413 28.586 2l-4.207 4.206c-3.316-1.91-7.108-3.246-9.228-1.122-2.04 2.043-.552 5.532 1.268 9.083l-6.307 6.306a43.942 43.942 0 01-2.8-2.1L6 19.884a47.752 47.752 0 002.665 2.035L4 26.585V2H2v26a2 2 0 002 2h26v-2H5.413zm6.21-16.557c1.135-1.138 3.693-.286 6.337 1.183l-4.995 4.994c-1.313-2.619-2.35-5.167-1.342-6.177zm.821 9.526c1.58 3.032 3.182 6.296 2.007 7.473-1.312 1.314-4.522-.026-7.572-1.908z" }]]; +export const MATH_CURVE = svg( + ["path", { d: "M10.355 23.058C12.77 24.592 15.621 26 17.951 26a3.873 3.873 0 002.856-1.084c2.286-2.29.14-6.398-1.938-10.372l5.801-5.801a43.605 43.605 0 013.012 2.124L29 9.349a45.425 45.425 0 00-2.872-2.064L30 3.413 28.586 2l-4.207 4.206c-3.316-1.91-7.108-3.246-9.228-1.122-2.04 2.043-.552 5.532 1.268 9.083l-6.307 6.306a43.942 43.942 0 01-2.8-2.1L6 19.884a47.752 47.752 0 002.665 2.035L4 26.585V2H2v26a2 2 0 002 2h26v-2H5.413zm6.21-16.557c1.135-1.138 3.693-.286 6.337 1.183l-4.995 4.994c-1.313-2.619-2.35-5.167-1.342-6.177zm.821 9.526c1.58 3.032 3.182 6.296 2.007 7.473-1.312 1.314-4.522-.026-7.572-1.908z" }] +); diff --git a/packages/hiccup-carbon-icons/src/maximize.ts b/packages/hiccup-carbon-icons/src/maximize.ts index 3c386e884d..fd5c7b8c26 100644 --- a/packages/hiccup-carbon-icons/src/maximize.ts +++ b/packages/hiccup-carbon-icons/src/maximize.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MAXIMIZE */ // prettier-ignore -export const MAXIMIZE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 2v2h5.59L17 13.58 18.41 15 28 5.41V11h2V2h-9zM15 18.42L13.59 17 4 26.59V21H2v9h9v-2H5.41L15 18.42z" }]]; +export const MAXIMIZE = svg( + ["path", { d: "M21 2v2h5.59L17 13.58 18.41 15 28 5.41V11h2V2h-9zM15 18.42L13.59 17 4 26.59V21H2v9h9v-2H5.41L15 18.42z" }] +); diff --git a/packages/hiccup-carbon-icons/src/medication-alert.ts b/packages/hiccup-carbon-icons/src/medication-alert.ts index 4fb096163e..0b5b9cd633 100644 --- a/packages/hiccup-carbon-icons/src/medication-alert.ts +++ b/packages/hiccup-carbon-icons/src/medication-alert.ts @@ -1,15 +1,17 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MEDICATION_ALERT */ // prettier-ignore -export const MEDICATION_ALERT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 19h2v5h-2z" }], - ["path", { d: "M23 31a8 8 0 118-8 8 8 0 01-8 8zm0-14a6 6 0 106 6 6 6 0 00-6-6z" }], - ["circle", - { - r: 1, - cy: 26, - cx: 23, - }], - ["path", { d: "M20 2H4a2 2 0 00-2 2v4a2 2 0 002 2v18a2 2 0 002 2h8v-2H6v-2h5V12H6v-2h12v3h2v-3a2 2 0 002-2V4a2 2 0 00-2-2zM9 14v10H6V14zM4 8V4h16v4z" }]]; +export const MEDICATION_ALERT = svg( + ["path", { d: "M22 19h2v5h-2z" }], + ["path", { d: "M23 31a8 8 0 118-8 8 8 0 01-8 8zm0-14a6 6 0 106 6 6 6 0 00-6-6z" }], + ["circle", + { + r: 1, + cy: 26, + cx: 23, + }], + ["path", { d: "M20 2H4a2 2 0 00-2 2v4a2 2 0 002 2v18a2 2 0 002 2h8v-2H6v-2h5V12H6v-2h12v3h2v-3a2 2 0 002-2V4a2 2 0 00-2-2zM9 14v10H6V14zM4 8V4h16v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/medication-reminder.ts b/packages/hiccup-carbon-icons/src/medication-reminder.ts index c9ada2be1b..c98d28655b 100644 --- a/packages/hiccup-carbon-icons/src/medication-reminder.ts +++ b/packages/hiccup-carbon-icons/src/medication-reminder.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MEDICATION_REMINDER */ // prettier-ignore -export const MEDICATION_REMINDER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 2H4a2 2 0 00-2 2v4a2 2 0 002 2v18a2 2 0 002 2h12a2 2 0 002-2V10a2 2 0 002-2V4a2 2 0 00-2-2zM6 14h3v10H6zm12 14H6v-2h5V12H6v-2h12zM4 8V4h16v4z" }], - ["circle", - { - r: 4, - cy: 16, - cx: 26, - }]]; +export const MEDICATION_REMINDER = svg( + ["path", { d: "M20 2H4a2 2 0 00-2 2v4a2 2 0 002 2v18a2 2 0 002 2h12a2 2 0 002-2V10a2 2 0 002-2V4a2 2 0 00-2-2zM6 14h3v10H6zm12 14H6v-2h5V12H6v-2h12zM4 8V4h16v4z" }], + ["circle", + { + r: 4, + cy: 16, + cx: 26, + }] +); diff --git a/packages/hiccup-carbon-icons/src/medication.ts b/packages/hiccup-carbon-icons/src/medication.ts index 2c1cc930d7..0de47d2757 100644 --- a/packages/hiccup-carbon-icons/src/medication.ts +++ b/packages/hiccup-carbon-icons/src/medication.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MEDICATION */ // prettier-ignore -export const MEDICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 2H8a2 2 0 00-2 2v4a2 2 0 002 2v18a2 2 0 002 2h12a2 2 0 002-2V10a2 2 0 002-2V4a2 2 0 00-2-2zM10 14h3v10h-3zm12 14H10v-2h5V12h-5v-2h12zM8 8V4h16v4z" }]]; +export const MEDICATION = svg( + ["path", { d: "M24 2H8a2 2 0 00-2 2v4a2 2 0 002 2v18a2 2 0 002 2h12a2 2 0 002-2V10a2 2 0 002-2V4a2 2 0 00-2-2zM10 14h3v10h-3zm12 14H10v-2h5V12h-5v-2h12zM8 8V4h16v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/menu.ts b/packages/hiccup-carbon-icons/src/menu.ts index 57823a822f..0a124b8f85 100644 --- a/packages/hiccup-carbon-icons/src/menu.ts +++ b/packages/hiccup-carbon-icons/src/menu.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MENU */ // prettier-ignore -export const MENU: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 24h24v2H4zM4 12h24v2H4zM4 18h24v2H4zM4 6h24v2H4z" }]]; +export const MENU = svg( + ["path", { d: "M4 24h24v2H4zM4 12h24v2H4zM4 18h24v2H4zM4 6h24v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/meter-alt.ts b/packages/hiccup-carbon-icons/src/meter-alt.ts index da39bc5edc..380e16650c 100644 --- a/packages/hiccup-carbon-icons/src/meter-alt.ts +++ b/packages/hiccup-carbon-icons/src/meter-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#METER_ALT */ // prettier-ignore -export const METER_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 20a13.854 13.854 0 00-2.23-7.529l-1.444 1.445A11.892 11.892 0 0128 20zM28 9.414L26.586 8l-8.567 8.567A3.952 3.952 0 0016 16a4 4 0 104 4 3.953 3.953 0 00-.567-2.02zM16 22a2 2 0 112-2 2.002 2.002 0 01-2 2zM16 8a11.909 11.909 0 016.083 1.674l1.454-1.453A13.977 13.977 0 002 20h2A12.014 12.014 0 0116 8z" }]]; +export const METER_ALT = svg( + ["path", { d: "M30 20a13.854 13.854 0 00-2.23-7.529l-1.444 1.445A11.892 11.892 0 0128 20zM28 9.414L26.586 8l-8.567 8.567A3.952 3.952 0 0016 16a4 4 0 104 4 3.953 3.953 0 00-.567-2.02zM16 22a2 2 0 112-2 2.002 2.002 0 01-2 2zM16 8a11.909 11.909 0 016.083 1.674l1.454-1.453A13.977 13.977 0 002 20h2A12.014 12.014 0 0116 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/meter.ts b/packages/hiccup-carbon-icons/src/meter.ts index 677ff4c31d..9fcf8bcace 100644 --- a/packages/hiccup-carbon-icons/src/meter.ts +++ b/packages/hiccup-carbon-icons/src/meter.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#METER */ // prettier-ignore -export const METER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 16a9.928 9.928 0 00-1.14-4.618l-1.495 1.496A7.948 7.948 0 0124 16zM23.414 10L22 8.586 17.285 13.3A2.966 2.966 0 0016 13a3 3 0 103 3 2.966 2.966 0 00-.3-1.285zM16 17a1 1 0 111-1 1.001 1.001 0 01-1 1zM16 8a7.952 7.952 0 013.122.635l1.496-1.496A9.986 9.986 0 006 16h2a8.01 8.01 0 018-8z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const METER = svg( + ["path", { d: "M26 16a9.928 9.928 0 00-1.14-4.618l-1.495 1.496A7.948 7.948 0 0124 16zM23.414 10L22 8.586 17.285 13.3A2.966 2.966 0 0016 13a3 3 0 103 3 2.966 2.966 0 00-.3-1.285zM16 17a1 1 0 111-1 1.001 1.001 0 01-1 1zM16 8a7.952 7.952 0 013.122.635l1.496-1.496A9.986 9.986 0 006 16h2a8.01 8.01 0 018-8z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/microphone-filled.ts b/packages/hiccup-carbon-icons/src/microphone-filled.ts index 9bbf826449..179b1f8ca6 100644 --- a/packages/hiccup-carbon-icons/src/microphone-filled.ts +++ b/packages/hiccup-carbon-icons/src/microphone-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MICROPHONE_FILLED */ // prettier-ignore -export const MICROPHONE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 14v3a7 7 0 01-14 0v-3H7v3a9 9 0 008 8.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3z" }], - ["path", { d: "M16 22a5 5 0 005-5V7a5 5 0 00-10 0v10a5 5 0 005 5z" }]]; +export const MICROPHONE_FILLED = svg( + ["path", { d: "M23 14v3a7 7 0 01-14 0v-3H7v3a9 9 0 008 8.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3z" }], + ["path", { d: "M16 22a5 5 0 005-5V7a5 5 0 00-10 0v10a5 5 0 005 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/microphone-off-filled.ts b/packages/hiccup-carbon-icons/src/microphone-off-filled.ts index 5e0b26e4dc..8d4f6d5d10 100644 --- a/packages/hiccup-carbon-icons/src/microphone-off-filled.ts +++ b/packages/hiccup-carbon-icons/src/microphone-off-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MICROPHONE_OFF_FILLED */ // prettier-ignore -export const MICROPHONE_OFF_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 17a7 7 0 01-11.73 5.14l1.42-1.41A5 5 0 0021 17v-4.58l9-9L28.59 2 2 28.59 3.41 30l6.44-6.44A8.91 8.91 0 0015 25.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3h-2zM9 17.32V14H7v3a9 9 0 00.25 2.09zM20.76 5.58A5 5 0 0011 7v8.34z" }]]; +export const MICROPHONE_OFF_FILLED = svg( + ["path", { d: "M23 17a7 7 0 01-11.73 5.14l1.42-1.41A5 5 0 0021 17v-4.58l9-9L28.59 2 2 28.59 3.41 30l6.44-6.44A8.91 8.91 0 0015 25.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3h-2zM9 17.32V14H7v3a9 9 0 00.25 2.09zM20.76 5.58A5 5 0 0011 7v8.34z" }] +); diff --git a/packages/hiccup-carbon-icons/src/microphone-off.ts b/packages/hiccup-carbon-icons/src/microphone-off.ts index 8afd066101..19ff3008f0 100644 --- a/packages/hiccup-carbon-icons/src/microphone-off.ts +++ b/packages/hiccup-carbon-icons/src/microphone-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MICROPHONE_OFF */ // prettier-ignore -export const MICROPHONE_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9.18 18.57A7.41 7.41 0 019 17v-3H7v3a8.84 8.84 0 00.58 3.18zM13 15V7a3 3 0 016 0v1.75l2-2A5 5 0 0011 7v8zM23 17a7 7 0 01-11.73 5.14l1.42-1.41A5 5 0 0021 17v-4.58l9-9L28.59 2 2 28.59 3.41 30l6.44-6.44A8.91 8.91 0 0015 25.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3h-2zm-4 0a3 3 0 01-4.9 2.31l4.9-4.89z" }]]; +export const MICROPHONE_OFF = svg( + ["path", { d: "M9.18 18.57A7.41 7.41 0 019 17v-3H7v3a8.84 8.84 0 00.58 3.18zM13 15V7a3 3 0 016 0v1.75l2-2A5 5 0 0011 7v8zM23 17a7 7 0 01-11.73 5.14l1.42-1.41A5 5 0 0021 17v-4.58l9-9L28.59 2 2 28.59 3.41 30l6.44-6.44A8.91 8.91 0 0015 25.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3h-2zm-4 0a3 3 0 01-4.9 2.31l4.9-4.89z" }] +); diff --git a/packages/hiccup-carbon-icons/src/microphone.ts b/packages/hiccup-carbon-icons/src/microphone.ts index 9e394d64d8..092b9f7c64 100644 --- a/packages/hiccup-carbon-icons/src/microphone.ts +++ b/packages/hiccup-carbon-icons/src/microphone.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MICROPHONE */ // prettier-ignore -export const MICROPHONE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 14v3a7 7 0 01-14 0v-3H7v3a9 9 0 008 8.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3z" }], - ["path", { d: "M16 22a5 5 0 005-5V7a5 5 0 00-10 0v10a5 5 0 005 5zM13 7a3 3 0 016 0v10a3 3 0 01-6 0z" }]]; +export const MICROPHONE = svg( + ["path", { d: "M23 14v3a7 7 0 01-14 0v-3H7v3a9 9 0 008 8.94V28h-4v2h10v-2h-4v-2.06A9 9 0 0025 17v-3z" }], + ["path", { d: "M16 22a5 5 0 005-5V7a5 5 0 00-10 0v10a5 5 0 005 5zM13 7a3 3 0 016 0v10a3 3 0 01-6 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/microscope.ts b/packages/hiccup-carbon-icons/src/microscope.ts index f21b13307b..46ad76371d 100644 --- a/packages/hiccup-carbon-icons/src/microscope.ts +++ b/packages/hiccup-carbon-icons/src/microscope.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MICROSCOPE */ // prettier-ignore -export const MICROSCOPE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.394 24a7.877 7.877 0 00-1.67-8.568 3.918 3.918 0 00-1.085-4.414l2.776-2.776a2.002 2.002 0 000-2.829l-2.828-2.828a2.002 2.002 0 00-2.829 0L6.586 15.757a2.003 2.003 0 000 2.829l2.828 2.828a2.002 2.002 0 002.829 0l4.775-4.775a3.933 3.933 0 005.513.432A5.944 5.944 0 0123.177 24H16v4H4v2h24v-6zm-14.566-4L8 17.171l1.879-1.878 2.828 2.828zM16 14a3.981 3.981 0 00.076.752l-1.955 1.955-2.828-2.828 9.88-9.88L24 6.827l-3.249 3.25A3.977 3.977 0 0016 14zm4 2a2 2 0 112-2 2.002 2.002 0 01-2 2zm6 12h-8v-2h8z" }]]; +export const MICROSCOPE = svg( + ["path", { d: "M25.394 24a7.877 7.877 0 00-1.67-8.568 3.918 3.918 0 00-1.085-4.414l2.776-2.776a2.002 2.002 0 000-2.829l-2.828-2.828a2.002 2.002 0 00-2.829 0L6.586 15.757a2.003 2.003 0 000 2.829l2.828 2.828a2.002 2.002 0 002.829 0l4.775-4.775a3.933 3.933 0 005.513.432A5.944 5.944 0 0123.177 24H16v4H4v2h24v-6zm-14.566-4L8 17.171l1.879-1.878 2.828 2.828zM16 14a3.981 3.981 0 00.076.752l-1.955 1.955-2.828-2.828 9.88-9.88L24 6.827l-3.249 3.25A3.977 3.977 0 0016 14zm4 2a2 2 0 112-2 2.002 2.002 0 01-2 2zm6 12h-8v-2h8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/migrate-alt.ts b/packages/hiccup-carbon-icons/src/migrate-alt.ts index e3051581e1..637625429f 100644 --- a/packages/hiccup-carbon-icons/src/migrate-alt.ts +++ b/packages/hiccup-carbon-icons/src/migrate-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MIGRATE_ALT */ // prettier-ignore -export const MIGRATE_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 22H12v-6h-2v6H4v-9h16.172l-3.586 3.586L18 22l6-6-6-6-1.414 1.414L20.172 15H4V6h6v6h2V6h16z" }]]; +export const MIGRATE_ALT = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 22H12v-6h-2v6H4v-9h16.172l-3.586 3.586L18 22l6-6-6-6-1.414 1.414L20.172 15H4V6h6v6h2V6h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/migrate.ts b/packages/hiccup-carbon-icons/src/migrate.ts index 4cfe38e731..1e68528c22 100644 --- a/packages/hiccup-carbon-icons/src/migrate.ts +++ b/packages/hiccup-carbon-icons/src/migrate.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MIGRATE */ // prettier-ignore -export const MIGRATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 2H6a2 2 0 00-2 2v4a2 2 0 002 2h9v6.17l-2.59-2.58L11 15l5 5 5-5-1.41-1.41L17 16.17V10h9a2 2 0 002-2V4a2 2 0 00-2-2zM6 4h4v4H6zm20 4H12V4h14zM26 22H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2v-4a2 2 0 00-2-2zM6 24h14v4H6zm20 4h-4v-4h4z" }]]; +export const MIGRATE = svg( + ["path", { d: "M26 2H6a2 2 0 00-2 2v4a2 2 0 002 2h9v6.17l-2.59-2.58L11 15l5 5 5-5-1.41-1.41L17 16.17V10h9a2 2 0 002-2V4a2 2 0 00-2-2zM6 4h4v4H6zm20 4H12V4h14zM26 22H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2v-4a2 2 0 00-2-2zM6 24h14v4H6zm20 4h-4v-4h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/milestone.ts b/packages/hiccup-carbon-icons/src/milestone.ts index a80178101d..e198fbadb1 100644 --- a/packages/hiccup-carbon-icons/src/milestone.ts +++ b/packages/hiccup-carbon-icons/src/milestone.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MILESTONE */ // prettier-ignore -export const MILESTONE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.586 6.586A1.986 1.986 0 0023.17 6H16V2h-2v4H6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h8v14h2V16h7.171a1.986 1.986 0 001.415-.586L29 11zM23.17 14H6V8h17.172l3 3z" }]]; +export const MILESTONE = svg( + ["path", { d: "M24.586 6.586A1.986 1.986 0 0023.17 6H16V2h-2v4H6a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h8v14h2V16h7.171a1.986 1.986 0 001.415-.586L29 11zM23.17 14H6V8h17.172l3 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/minimize.ts b/packages/hiccup-carbon-icons/src/minimize.ts index 665a816264..6b9b235d86 100644 --- a/packages/hiccup-carbon-icons/src/minimize.ts +++ b/packages/hiccup-carbon-icons/src/minimize.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MINIMIZE */ // prettier-ignore -export const MINIMIZE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 17v2h5.59L2 28.58 3.41 30 13 20.41V26h2v-9H6zM30 3.42L28.59 2 19 11.59V6h-2v9h9v-2h-5.59L30 3.42z" }]]; +export const MINIMIZE = svg( + ["path", { d: "M6 17v2h5.59L2 28.58 3.41 30 13 20.41V26h2v-9H6zM30 3.42L28.59 2 19 11.59V6h-2v9h9v-2h-5.59L30 3.42z" }] +); diff --git a/packages/hiccup-carbon-icons/src/misuse-alt.ts b/packages/hiccup-carbon-icons/src/misuse-alt.ts index cf9a866733..d0e013c3e3 100644 --- a/packages/hiccup-carbon-icons/src/misuse-alt.ts +++ b/packages/hiccup-carbon-icons/src/misuse-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MISUSE_ALT */ // prettier-ignore -export const MISUSE_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21.41 23L16 17.591 10.59 23 9 21.41 14.409 16 9 10.591 10.591 9 16 14.409 21.409 9 23 10.591 17.591 16 23 21.41 21.41 23z" }], - ["path", { d: "M16 4A12 12 0 114 16 12.014 12.014 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }]]; +export const MISUSE_ALT = svg( + ["path", { d: "M21.41 23L16 17.591 10.59 23 9 21.41 14.409 16 9 10.591 10.591 9 16 14.409 21.409 9 23 10.591 17.591 16 23 21.41 21.41 23z" }], + ["path", { d: "M16 4A12 12 0 114 16 12.014 12.014 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/misuse-outline.ts b/packages/hiccup-carbon-icons/src/misuse-outline.ts index ecce3c6ce0..d807706c52 100644 --- a/packages/hiccup-carbon-icons/src/misuse-outline.ts +++ b/packages/hiccup-carbon-icons/src/misuse-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MISUSE_OUTLINE */ // prettier-ignore -export const MISUSE_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12-5.4 12-12 12z" }], - ["path", { d: "M21.4 23L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4z" }]]; +export const MISUSE_OUTLINE = svg( + ["path", { d: "M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14 14-6.2 14-14S23.8 2 16 2zm0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12-5.4 12-12 12z" }], + ["path", { d: "M21.4 23L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/misuse.ts b/packages/hiccup-carbon-icons/src/misuse.ts index a24619391e..9f50e6d735 100644 --- a/packages/hiccup-carbon-icons/src/misuse.ts +++ b/packages/hiccup-carbon-icons/src/misuse.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MISUSE */ // prettier-ignore -export const MISUSE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm5.4 21L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4-1.6 1.6z" }]]; +export const MISUSE = svg( + ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm5.4 21L16 17.6 10.6 23 9 21.4l5.4-5.4L9 10.6 10.6 9l5.4 5.4L21.4 9l1.6 1.6-5.4 5.4 5.4 5.4-1.6 1.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mixed-rain-hail.ts b/packages/hiccup-carbon-icons/src/mixed-rain-hail.ts index ae9cc236cb..61d3a14973 100644 --- a/packages/hiccup-carbon-icons/src/mixed-rain-hail.ts +++ b/packages/hiccup-carbon-icons/src/mixed-rain-hail.ts @@ -1,20 +1,22 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MIXED_RAIN_HAIL */ // prettier-ignore -export const MIXED_RAIN_HAIL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.5, - cy: 25.5, - cx: 24.5, - }], - ["circle", - { - r: 1.5, - cy: 29.5, - cx: 21.5, - }], - ["path", { d: "M15.868 30.496l-1.736-.992L17.276 24h-5.999l4.855-8.496 1.736.992L14.723 22h6.001l-4.856 8.496zM9 32a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 019 32z" }], - ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0 6.493 6.493 0 00.23 12.768l-1.324 2.649a1 1 0 101.788.894l2-4a1 1 0 00-.446-1.341A.979.979 0 009 20.01V20h-.5a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20H23v2h.5a6.497 6.497 0 001.3-12.864z" }]]; +export const MIXED_RAIN_HAIL = svg( + ["circle", + { + r: 1.5, + cy: 25.5, + cx: 24.5, + }], + ["circle", + { + r: 1.5, + cy: 29.5, + cx: 21.5, + }], + ["path", { d: "M15.868 30.496l-1.736-.992L17.276 24h-5.999l4.855-8.496 1.736.992L14.723 22h6.001l-4.856 8.496zM9 32a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 019 32z" }], + ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0 6.493 6.493 0 00.23 12.768l-1.324 2.649a1 1 0 101.788.894l2-4a1 1 0 00-.446-1.341A.979.979 0 009 20.01V20h-.5a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20H23v2h.5a6.497 6.497 0 001.3-12.864z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mobile-add.ts b/packages/hiccup-carbon-icons/src/mobile-add.ts index b081255169..ed0edac7fb 100644 --- a/packages/hiccup-carbon-icons/src/mobile-add.ts +++ b/packages/hiccup-carbon-icons/src/mobile-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOBILE_ADD */ // prettier-ignore -export const MOBILE_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 24h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2z" }], - ["path", { d: "M10 28V10h12v7h2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h6v-2zm0-22h12v2H10z" }]]; +export const MOBILE_ADD = svg( + ["path", { d: "M28 24h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2z" }], + ["path", { d: "M10 28V10h12v7h2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h6v-2zm0-22h12v2H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mobile-audio.ts b/packages/hiccup-carbon-icons/src/mobile-audio.ts index c6a7a4f124..0a722d286d 100644 --- a/packages/hiccup-carbon-icons/src/mobile-audio.ts +++ b/packages/hiccup-carbon-icons/src/mobile-audio.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOBILE_AUDIO */ // prettier-ignore -export const MOBILE_AUDIO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 12h2v3h-2zM24 7h2v13h-2zM20 11h2v5h-2zM16 9h2v9h-2zM12 12h2v3h-2z" }], - ["circle", - { - r: 1.5, - cy: 24.5, - cx: 13.5, - }], - ["path", { d: "M20 30H7a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h13v2H7v24h13v-4h2v4a2.002 2.002 0 01-2 2z" }]]; +export const MOBILE_AUDIO = svg( + ["path", { d: "M28 12h2v3h-2zM24 7h2v13h-2zM20 11h2v5h-2zM16 9h2v9h-2zM12 12h2v3h-2z" }], + ["circle", + { + r: 1.5, + cy: 24.5, + cx: 13.5, + }], + ["path", { d: "M20 30H7a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h13v2H7v24h13v-4h2v4a2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mobile-check.ts b/packages/hiccup-carbon-icons/src/mobile-check.ts index 9b0b373cb2..1295a34c05 100644 --- a/packages/hiccup-carbon-icons/src/mobile-check.ts +++ b/packages/hiccup-carbon-icons/src/mobile-check.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOBILE_CHECK */ // prettier-ignore -export const MOBILE_CHECK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 27.18l-2.59-2.59L16 26l4 4 8-8-1.41-1.41L20 27.18z" }], - ["path", { d: "M10 28V10h12v9h2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h4v-2zm0-22h12v2H10z" }]]; +export const MOBILE_CHECK = svg( + ["path", { d: "M20 27.18l-2.59-2.59L16 26l4 4 8-8-1.41-1.41L20 27.18z" }], + ["path", { d: "M10 28V10h12v9h2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h4v-2zm0-22h12v2H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mobile-download.ts b/packages/hiccup-carbon-icons/src/mobile-download.ts index 7411aefbac..3e47a10371 100644 --- a/packages/hiccup-carbon-icons/src/mobile-download.ts +++ b/packages/hiccup-carbon-icons/src/mobile-download.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOBILE_DOWNLOAD */ // prettier-ignore -export const MOBILE_DOWNLOAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 25l-1.414-1.414L24 26.172V18h-2v8.172l-2.586-2.586L18 25l5 5 5-5z" }], - ["path", { d: "M10 28V10h12v5h2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h6v-2zm0-22h12v2H10z" }]]; +export const MOBILE_DOWNLOAD = svg( + ["path", { d: "M28 25l-1.414-1.414L24 26.172V18h-2v8.172l-2.586-2.586L18 25l5 5 5-5z" }], + ["path", { d: "M10 28V10h12v5h2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h6v-2zm0-22h12v2H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mobile-landscape.ts b/packages/hiccup-carbon-icons/src/mobile-landscape.ts index 7a79548a3c..dda9060f85 100644 --- a/packages/hiccup-carbon-icons/src/mobile-landscape.ts +++ b/packages/hiccup-carbon-icons/src/mobile-landscape.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOBILE_LANDSCAPE */ // prettier-ignore -export const MOBILE_LANDSCAPE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M3 10v12a2.002 2.002 0 002 2h22a2.002 2.002 0 002-2V10a2.003 2.003 0 00-2-2H5a2.002 2.002 0 00-2 2zm2 0h2v12H5zm22 12H9V10h18z" }]]; +export const MOBILE_LANDSCAPE = svg( + ["path", { d: "M3 10v12a2.002 2.002 0 002 2h22a2.002 2.002 0 002-2V10a2.003 2.003 0 00-2-2H5a2.002 2.002 0 00-2 2zm2 0h2v12H5zm22 12H9V10h18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mobile.ts b/packages/hiccup-carbon-icons/src/mobile.ts index b4ccc5c3e0..200c6efdb6 100644 --- a/packages/hiccup-carbon-icons/src/mobile.ts +++ b/packages/hiccup-carbon-icons/src/mobile.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOBILE */ // prettier-ignore -export const MOBILE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 4H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h12a2.003 2.003 0 002-2V6a2.002 2.002 0 00-2-2zm0 2v2H10V6zM10 28V10h12v18z" }]]; +export const MOBILE = svg( + ["path", { d: "M22 4H10a2.002 2.002 0 00-2 2v22a2.002 2.002 0 002 2h12a2.003 2.003 0 002-2V6a2.002 2.002 0 00-2-2zm0 2v2H10V6zM10 28V10h12v18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/model-builder-reference.ts b/packages/hiccup-carbon-icons/src/model-builder-reference.ts index 32ef291530..b88fe6845c 100644 --- a/packages/hiccup-carbon-icons/src/model-builder-reference.ts +++ b/packages/hiccup-carbon-icons/src/model-builder-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MODEL_BUILDER_REFERENCE */ // prettier-ignore -export const MODEL_BUILDER_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], - ["path", { d: "M22 4v3H10V4H2v8h8V9h7.023A4.946 4.946 0 0016 12v16h2V12a2.998 2.998 0 012.997-3H22v3h8V4zM8 10H4V6h4zm20 0h-4V6h4z" }]]; +export const MODEL_BUILDER_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], + ["path", { d: "M22 4v3H10V4H2v8h8V9h7.023A4.946 4.946 0 0016 12v16h2V12a2.998 2.998 0 012.997-3H22v3h8V4zM8 10H4V6h4zm20 0h-4V6h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/model-builder.ts b/packages/hiccup-carbon-icons/src/model-builder.ts index 520f359bae..341efbd844 100644 --- a/packages/hiccup-carbon-icons/src/model-builder.ts +++ b/packages/hiccup-carbon-icons/src/model-builder.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MODEL_BUILDER */ // prettier-ignore -export const MODEL_BUILDER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 4v3H10V4H2v8h8V9h7.023A4.946 4.946 0 0016 12v8a3.004 3.004 0 01-3 3h-3v-3H2v8h8v-3h3a5.006 5.006 0 005-5v-8a2.998 2.998 0 012.997-3H22v3h8V4zM8 10H4V6h4zm0 16H4v-4h4zm20-16h-4V6h4z" }]]; +export const MODEL_BUILDER = svg( + ["path", { d: "M22 4v3H10V4H2v8h8V9h7.023A4.946 4.946 0 0016 12v8a3.004 3.004 0 01-3 3h-3v-3H2v8h8v-3h3a5.006 5.006 0 005-5v-8a2.998 2.998 0 012.997-3H22v3h8V4zM8 10H4V6h4zm0 16H4v-4h4zm20-16h-4V6h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/model-reference.ts b/packages/hiccup-carbon-icons/src/model-reference.ts index 82378ccc6e..77c1fc8ef2 100644 --- a/packages/hiccup-carbon-icons/src/model-reference.ts +++ b/packages/hiccup-carbon-icons/src/model-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MODEL_REFERENCE */ // prettier-ignore -export const MODEL_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], - ["path", { d: "M23.5 4h-15l-6.784 9.045L6.01 18l1.511-1.31L5.19 14h5.255L16 22.887 21.554 14h5.256L15.813 26.692 17.323 28l12.96-14.955zM5 12l4.5-6h4.696l-3.75 6zm11-5.113L19.196 12h-6.392zm0 12.226L12.804 14h6.392zM21.554 12l-3.75-6H22.5l4.5 6z" }]]; +export const MODEL_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4z" }], + ["path", { d: "M23.5 4h-15l-6.784 9.045L6.01 18l1.511-1.31L5.19 14h5.255L16 22.887 21.554 14h5.256L15.813 26.692 17.323 28l12.96-14.955zM5 12l4.5-6h4.696l-3.75 6zm11-5.113L19.196 12h-6.392zm0 12.226L12.804 14h6.392zM21.554 12l-3.75-6H22.5l4.5 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/model.ts b/packages/hiccup-carbon-icons/src/model.ts index 2f1adf55cf..2fd7cf881b 100644 --- a/packages/hiccup-carbon-icons/src/model.ts +++ b/packages/hiccup-carbon-icons/src/model.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MODEL */ // prettier-ignore -export const MODEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.5 4h-15l-6.784 9.045L16 29.527l14.284-16.482zm3.5 8h-5.446l-3.75-6H22.5zm-16.698 2l3.754 10.23L5.19 14zm2.13 0h7.136l-3.569 9.721zm.373-2L16 6.887 19.196 12zm8.893 2h5.112l-8.867 10.231zM9.5 6h4.696l-3.75 6H5z" }]]; +export const MODEL = svg( + ["path", { d: "M23.5 4h-15l-6.784 9.045L16 29.527l14.284-16.482zm3.5 8h-5.446l-3.75-6H22.5zm-16.698 2l3.754 10.23L5.19 14zm2.13 0h7.136l-3.569 9.721zm.373-2L16 6.887 19.196 12zm8.893 2h5.112l-8.867 10.231zM9.5 6h4.696l-3.75 6H5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/money.ts b/packages/hiccup-carbon-icons/src/money.ts index cac7bacf4c..be956588a9 100644 --- a/packages/hiccup-carbon-icons/src/money.ts +++ b/packages/hiccup-carbon-icons/src/money.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MONEY */ // prettier-ignore -export const MONEY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 22h28v2H2zM2 26h28v2H2zM24 10a2 2 0 102 2 2 2 0 00-2-2zM16 16a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM8 10a2 2 0 102 2 2 2 0 00-2-2z" }], - ["path", { d: "M28 20H4a2.005 2.005 0 01-2-2V6a2.005 2.005 0 012-2h24a2.005 2.005 0 012 2v12a2.003 2.003 0 01-2 2zm0-14H4v12h24z" }]]; +export const MONEY = svg( + ["path", { d: "M2 22h28v2H2zM2 26h28v2H2zM24 10a2 2 0 102 2 2 2 0 00-2-2zM16 16a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM8 10a2 2 0 102 2 2 2 0 00-2-2z" }], + ["path", { d: "M28 20H4a2.005 2.005 0 01-2-2V6a2.005 2.005 0 012-2h24a2.005 2.005 0 012 2v12a2.003 2.003 0 01-2 2zm0-14H4v12h24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/monument.ts b/packages/hiccup-carbon-icons/src/monument.ts index 9249c70565..7e7ba63e1e 100644 --- a/packages/hiccup-carbon-icons/src/monument.ts +++ b/packages/hiccup-carbon-icons/src/monument.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MONUMENT */ // prettier-ignore -export const MONUMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 28V6l-4-4-4 4v22H2v2h28v-2zm-6 0V6.828l2-2 2 2V28z" }]]; +export const MONUMENT = svg( + ["path", { d: "M20 28V6l-4-4-4 4v22H2v2h28v-2zm-6 0V6.828l2-2 2 2V28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/moon.ts b/packages/hiccup-carbon-icons/src/moon.ts index 1a5dff55a9..dba8574b79 100644 --- a/packages/hiccup-carbon-icons/src/moon.ts +++ b/packages/hiccup-carbon-icons/src/moon.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOON */ // prettier-ignore -export const MOON: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13.502 5.414a15.075 15.075 0 0011.594 18.194 11.113 11.113 0 01-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 01-3.2-21.584M14.98 3a1.002 1.002 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0010.703-5.555 1.01 1.01 0 00-.783-1.565A13.08 13.08 0 0115.89 4.38 1.015 1.015 0 0014.98 3z" }]]; +export const MOON = svg( + ["path", { d: "M13.502 5.414a15.075 15.075 0 0011.594 18.194 11.113 11.113 0 01-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 01-3.2-21.584M14.98 3a1.002 1.002 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0010.703-5.555 1.01 1.01 0 00-.783-1.565A13.08 13.08 0 0115.89 4.38 1.015 1.015 0 0014.98 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mostly-cloudy-night.ts b/packages/hiccup-carbon-icons/src/mostly-cloudy-night.ts index c58587c400..61757ade2c 100644 --- a/packages/hiccup-carbon-icons/src/mostly-cloudy-night.ts +++ b/packages/hiccup-carbon-icons/src/mostly-cloudy-night.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOSTLY_CLOUDY_NIGHT */ // prettier-ignore -export const MOSTLY_CLOUDY_NIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.844 15.035a1.517 1.517 0 00-1.23-.866 5.355 5.355 0 01-3.41-1.716 6.465 6.465 0 01-1.286-6.392 1.603 1.603 0 00-.299-1.546 1.454 1.454 0 00-1.36-.493l-.019.003a7.927 7.927 0 00-6.22 7.431A7.364 7.364 0 0013.5 11a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 28h11a5.977 5.977 0 005.615-8.088 7.505 7.505 0 005.132-3.357 1.537 1.537 0 00.097-1.52zM19 26H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 26zm4.465-8.001h-.021a5.958 5.958 0 00-2.795-1.755 7.507 7.507 0 00-2.6-3.677c-.01-.101-.036-.197-.041-.3a6.078 6.078 0 013.79-6.05 8.458 8.458 0 001.94 7.596 7.4 7.4 0 003.902 2.228 5.429 5.429 0 01-4.175 1.958z" }]]; +export const MOSTLY_CLOUDY_NIGHT = svg( + ["path", { d: "M29.844 15.035a1.517 1.517 0 00-1.23-.866 5.355 5.355 0 01-3.41-1.716 6.465 6.465 0 01-1.286-6.392 1.603 1.603 0 00-.299-1.546 1.454 1.454 0 00-1.36-.493l-.019.003a7.927 7.927 0 00-6.22 7.431A7.364 7.364 0 0013.5 11a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 28h11a5.977 5.977 0 005.615-8.088 7.505 7.505 0 005.132-3.357 1.537 1.537 0 00.097-1.52zM19 26H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 26zm4.465-8.001h-.021a5.958 5.958 0 00-2.795-1.755 7.507 7.507 0 00-2.6-3.677c-.01-.101-.036-.197-.041-.3a6.078 6.078 0 013.79-6.05 8.458 8.458 0 001.94 7.596 7.4 7.4 0 003.902 2.228 5.429 5.429 0 01-4.175 1.958z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mostly-cloudy.ts b/packages/hiccup-carbon-icons/src/mostly-cloudy.ts index 601be08057..1fdd2ce1f2 100644 --- a/packages/hiccup-carbon-icons/src/mostly-cloudy.ts +++ b/packages/hiccup-carbon-icons/src/mostly-cloudy.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOSTLY_CLOUDY */ // prettier-ignore -export const MOSTLY_CLOUDY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21.743 18.692a6.05 6.05 0 001.057-1.087 5.998 5.998 0 10-10.733-4.444A7.557 7.557 0 006.35 18.25 5.993 5.993 0 008 30.005h11a5.985 5.985 0 002.743-11.313zM18 10.005a4.004 4.004 0 014 4 3.961 3.961 0 01-.8 2.4 4.012 4.012 0 01-.94.891 7.542 7.542 0 00-6.134-4.24A3.998 3.998 0 0118 10.005zm1 18H8a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.729 0l.146.656.662.112a3.993 3.993 0 01-.673 7.93zM26 13.005h4v2h-4zM22.95 7.641l2.828-2.828 1.414 1.414-2.828 2.828zM17 2.005h2v4h-2zM8.808 6.227l1.414-1.414L13.05 7.64l-1.414 1.414z" }]]; +export const MOSTLY_CLOUDY = svg( + ["path", { d: "M21.743 18.692a6.05 6.05 0 001.057-1.087 5.998 5.998 0 10-10.733-4.444A7.557 7.557 0 006.35 18.25 5.993 5.993 0 008 30.005h11a5.985 5.985 0 002.743-11.313zM18 10.005a4.004 4.004 0 014 4 3.961 3.961 0 01-.8 2.4 4.012 4.012 0 01-.94.891 7.542 7.542 0 00-6.134-4.24A3.998 3.998 0 0118 10.005zm1 18H8a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.729 0l.146.656.662.112a3.993 3.993 0 01-.673 7.93zM26 13.005h4v2h-4zM22.95 7.641l2.828-2.828 1.414 1.414-2.828 2.828zM17 2.005h2v4h-2zM8.808 6.227l1.414-1.414L13.05 7.64l-1.414 1.414z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mountain.ts b/packages/hiccup-carbon-icons/src/mountain.ts index 2ef1eaa0df..3ed1b42371 100644 --- a/packages/hiccup-carbon-icons/src/mountain.ts +++ b/packages/hiccup-carbon-icons/src/mountain.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOUNTAIN */ // prettier-ignore -export const MOUNTAIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.634 26L17.79 5.105a2 2 0 00-3.588.021L4.366 26H2v2h28v-2zM15.99 5.979L20.947 16.5 19 17.798l-3-2-3 2-1.955-1.303zm-5.805 12.346L13 20.202l3-2 3 2 2.81-1.873L25.422 26H6.575z" }]]; +export const MOUNTAIN = svg( + ["path", { d: "M27.634 26L17.79 5.105a2 2 0 00-3.588.021L4.366 26H2v2h28v-2zM15.99 5.979L20.947 16.5 19 17.798l-3-2-3 2-1.955-1.303zm-5.805 12.346L13 20.202l3-2 3 2 2.81-1.873L25.422 26H6.575z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mov.ts b/packages/hiccup-carbon-icons/src/mov.ts index a21df557fd..daf5cd5abe 100644 --- a/packages/hiccup-carbon-icons/src/mov.ts +++ b/packages/hiccup-carbon-icons/src/mov.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOV */ // prettier-ignore -export const MOV: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9l-2 13-2-13h-2l2.52 14h2.96L30 9h-2zM18 23h-4a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zm-4-12v10h4V11zM8 9l-1.51 5L6 15.98 5.54 14 4 9H2v14h2v-8l-.16-2 .58 2L6 19.63 7.58 15l.58-2L8 15v8h2V9H8z" }]]; +export const MOV = svg( + ["path", { d: "M28 9l-2 13-2-13h-2l2.52 14h2.96L30 9h-2zM18 23h-4a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zm-4-12v10h4V11zM8 9l-1.51 5L6 15.98 5.54 14 4 9H2v14h2v-8l-.16-2 .58 2L6 19.63 7.58 15l.58-2L8 15v8h2V9H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/move.ts b/packages/hiccup-carbon-icons/src/move.ts index ed2349b197..e5331f1e0d 100644 --- a/packages/hiccup-carbon-icons/src/move.ts +++ b/packages/hiccup-carbon-icons/src/move.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOVE */ // prettier-ignore -export const MOVE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 11l-1.41 1.41L26.17 15H17V5.83l2.59 2.58L21 7l-5-5-5 5 1.41 1.41L15 5.83V15H5.83l2.58-2.59L7 11l-5 5 5 5 1.41-1.41L5.83 17H15v9.17l-2.59-2.58L11 25l5 5 5-5-1.41-1.41L17 26.17V17h9.17l-2.58 2.59L25 21l5-5-5-5z" }]]; +export const MOVE = svg( + ["path", { d: "M25 11l-1.41 1.41L26.17 15H17V5.83l2.59 2.58L21 7l-5-5-5 5 1.41 1.41L15 5.83V15H5.83l2.58-2.59L7 11l-5 5 5 5 1.41-1.41L5.83 17H15v9.17l-2.59-2.58L11 25l5 5 5-5-1.41-1.41L17 26.17V17h9.17l-2.58 2.59L25 21l5-5-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/movement.ts b/packages/hiccup-carbon-icons/src/movement.ts index 4d5a0b2d10..f89be43046 100644 --- a/packages/hiccup-carbon-icons/src/movement.ts +++ b/packages/hiccup-carbon-icons/src/movement.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MOVEMENT */ // prettier-ignore -export const MOVEMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 20l-1.41 1.41L26.17 25H10a4 4 0 010-8h12a6 6 0 000-12H5.83l3.58-3.59L8 0 2 6l6 6 1.41-1.41L5.83 7H22a4 4 0 010 8H10a6 6 0 000 12h16.17l-3.58 3.59L24 32l6-6z" }]]; +export const MOVEMENT = svg( + ["path", { d: "M24 20l-1.41 1.41L26.17 25H10a4 4 0 010-8h12a6 6 0 000-12H5.83l3.58-3.59L8 0 2 6l6 6 1.41-1.41L5.83 7H22a4 4 0 010 8H10a6 6 0 000 12h16.17l-3.58 3.59L24 32l6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mp3.ts b/packages/hiccup-carbon-icons/src/mp3.ts index d9c5fa6687..96dc8f65a5 100644 --- a/packages/hiccup-carbon-icons/src/mp3.ts +++ b/packages/hiccup-carbon-icons/src/mp3.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MP3 */ // prettier-ignore -export const MP3: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9h-6v2h6v4h-4v2h4v4h-6v2h6a2 2 0 002-2V11a2 2 0 00-2-2zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM8 9l-1.51 5L6 15.98 5.54 14 4 9H2v14h2v-8l-.16-2 .58 2L6 19.63 7.58 15l.58-2L8 15v8h2V9H8z" }]]; +export const MP3 = svg( + ["path", { d: "M28 9h-6v2h6v4h-4v2h4v4h-6v2h6a2 2 0 002-2V11a2 2 0 00-2-2zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM8 9l-1.51 5L6 15.98 5.54 14 4 9H2v14h2v-8l-.16-2 .58 2L6 19.63 7.58 15l.58-2L8 15v8h2V9H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mp4.ts b/packages/hiccup-carbon-icons/src/mp4.ts index 1b83c187db..e37976f905 100644 --- a/packages/hiccup-carbon-icons/src/mp4.ts +++ b/packages/hiccup-carbon-icons/src/mp4.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MP4 */ // prettier-ignore -export const MP4: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 10v8-8m1-1h-2v8h-3V9h-2v10h5v4h2v-4h1v-2h-1V9zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM8 9l-1.51 5L6 15.98 5.54 14 4 9H2v14h2v-8l-.16-2 .58 2L6 19.63 7.58 15l.58-2L8 15v8h2V9H8z" }]]; +export const MP4 = svg( + ["path", { d: "M28 10v8-8m1-1h-2v8h-3V9h-2v10h5v4h2v-4h1v-2h-1V9zM14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM8 9l-1.51 5L6 15.98 5.54 14 4 9H2v14h2v-8l-.16-2 .58 2L6 19.63 7.58 15l.58-2L8 15v8h2V9H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mpeg.ts b/packages/hiccup-carbon-icons/src/mpeg.ts index c62eb48847..fcf26df72f 100644 --- a/packages/hiccup-carbon-icons/src/mpeg.ts +++ b/packages/hiccup-carbon-icons/src/mpeg.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MPEG */ // prettier-ignore -export const MPEG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M32 21h-4a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h4v2h-4v6h2v-2h-1v-2h3zM24 13v-1.976h-6V21h6v-2h-4v-2h2v-2h-2v-2h4zM14 11H9v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3zM7 11H5l-1.5 4L2 11H0v10h2v-7l1.5 4L5 14v7h2V11z" }]]; +export const MPEG = svg( + ["path", { d: "M32 21h-4a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h4v2h-4v6h2v-2h-1v-2h3zM24 13v-1.976h-6V21h6v-2h-4v-2h2v-2h-2v-2h4zM14 11H9v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3zM7 11H5l-1.5 4L2 11H0v10h2v-7l1.5 4L5 14v7h2V11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/mpg2.ts b/packages/hiccup-carbon-icons/src/mpg2.ts index 5581faf6f4..0ab25f7de9 100644 --- a/packages/hiccup-carbon-icons/src/mpg2.ts +++ b/packages/hiccup-carbon-icons/src/mpg2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MPG2 */ // prettier-ignore -export const MPG2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M32 21h-6v-4a2.002 2.002 0 012-2h2v-2h-4v-2h4a2.002 2.002 0 012 2v2a2.002 2.002 0 01-2 2h-2v2h4zM24 21h-4a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h4v2h-4v6h2v-2h-1v-2h3zM14 11H9v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3zM7 11H5l-1.5 4L2 11H0v10h2v-7l1.5 4L5 14v7h2V11z" }]]; +export const MPG2 = svg( + ["path", { d: "M32 21h-6v-4a2.002 2.002 0 012-2h2v-2h-4v-2h4a2.002 2.002 0 012 2v2a2.002 2.002 0 01-2 2h-2v2h4zM24 21h-4a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h4v2h-4v6h2v-2h-1v-2h3zM14 11H9v10h2v-3h3a2.003 2.003 0 002-2v-3a2.002 2.002 0 00-2-2zm-3 5v-3h3l.001 3zM7 11H5l-1.5 4L2 11H0v10h2v-7l1.5 4L5 14v7h2V11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/music.ts b/packages/hiccup-carbon-icons/src/music.ts index 179e59fa5f..cecfc0b7eb 100644 --- a/packages/hiccup-carbon-icons/src/music.ts +++ b/packages/hiccup-carbon-icons/src/music.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#MUSIC */ // prettier-ignore -export const MUSIC: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 4H10a2.002 2.002 0 00-2 2v14.556A3.955 3.955 0 006 20a4 4 0 104 4V12h15v8.556A3.954 3.954 0 0023 20a4 4 0 104 4V6a2.002 2.002 0 00-2-2zM6 26a2 2 0 112-2 2.002 2.002 0 01-2 2zm17 0a2 2 0 112-2 2.003 2.003 0 01-2 2zM10 6h15v4H10z" }]]; +export const MUSIC = svg( + ["path", { d: "M25 4H10a2.002 2.002 0 00-2 2v14.556A3.955 3.955 0 006 20a4 4 0 104 4V12h15v8.556A3.954 3.954 0 0023 20a4 4 0 104 4V6a2.002 2.002 0 00-2-2zM6 26a2 2 0 112-2 2.002 2.002 0 01-2 2zm17 0a2 2 0 112-2 2.003 2.003 0 01-2 2zM10 6h15v4H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/network-1.ts b/packages/hiccup-carbon-icons/src/network-1.ts index 558e5c4316..a60b312a96 100644 --- a/packages/hiccup-carbon-icons/src/network-1.ts +++ b/packages/hiccup-carbon-icons/src/network-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NETWORK_1 */ // prettier-ignore -export const NETWORK_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM5 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM10 31a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM22 31a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM27 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM22 9a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM10 9a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }]]; +export const NETWORK_1 = svg( + ["path", { d: "M16 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM5 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM10 31a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM22 31a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM27 20a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM22 9a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM10 9a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/network-2.ts b/packages/hiccup-carbon-icons/src/network-2.ts index 99d682d81f..dd593c9784 100644 --- a/packages/hiccup-carbon-icons/src/network-2.ts +++ b/packages/hiccup-carbon-icons/src/network-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NETWORK_2 */ // prettier-ignore -export const NETWORK_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 17h5.142a4 4 0 100-2H17V7h5.142a4 4 0 100-2H17a2.002 2.002 0 00-2 2v8H9.858a4 4 0 100 2H15v8a2.002 2.002 0 002 2h5.142a4 4 0 100-2H17zm9-3a2 2 0 11-2 2 2.002 2.002 0 012-2zm0-10a2 2 0 11-2 2 2.002 2.002 0 012-2zM6 18a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 6a2 2 0 11-2 2 2.002 2.002 0 012-2z" }]]; +export const NETWORK_2 = svg( + ["path", { d: "M17 17h5.142a4 4 0 100-2H17V7h5.142a4 4 0 100-2H17a2.002 2.002 0 00-2 2v8H9.858a4 4 0 100 2H15v8a2.002 2.002 0 002 2h5.142a4 4 0 100-2H17zm9-3a2 2 0 11-2 2 2.002 2.002 0 012-2zm0-10a2 2 0 11-2 2 2.002 2.002 0 012-2zM6 18a2 2 0 112-2 2.002 2.002 0 01-2 2zm20 6a2 2 0 11-2 2 2.002 2.002 0 012-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/network-3-reference.ts b/packages/hiccup-carbon-icons/src/network-3-reference.ts index d382a28b8c..ef860fc400 100644 --- a/packages/hiccup-carbon-icons/src/network-3-reference.ts +++ b/packages/hiccup-carbon-icons/src/network-3-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NETWORK_3_REFERENCE */ // prettier-ignore -export const NETWORK_3_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM30 30h-8v-8h8zm-6-2h4v-4h-4zM20 20h-8v-8h8zm-6-2h4v-4h-4z" }], - ["path", { d: "M24 17h-2v-2h2a4 4 0 000-8H12V5h12a6 6 0 010 12zM10 10H2V2h8zM4 8h4V4H4z" }]]; +export const NETWORK_3_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM30 30h-8v-8h8zm-6-2h4v-4h-4zM20 20h-8v-8h8zm-6-2h4v-4h-4z" }], + ["path", { d: "M24 17h-2v-2h2a4 4 0 000-8H12V5h12a6 6 0 010 12zM10 10H2V2h8zM4 8h4V4H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/network-3.ts b/packages/hiccup-carbon-icons/src/network-3.ts index bba27c351f..30caeaca18 100644 --- a/packages/hiccup-carbon-icons/src/network-3.ts +++ b/packages/hiccup-carbon-icons/src/network-3.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NETWORK_3 */ // prettier-ignore -export const NETWORK_3: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30h-8v-8h8zm-6-2h4v-4h-4zM20 27H8a6 6 0 010-12h2v2H8a4 4 0 000 8h12z" }], - ["path", { d: "M20 20h-8v-8h8zm-6-2h4v-4h-4z" }], - ["path", { d: "M24 17h-2v-2h2a4 4 0 000-8H12V5h12a6 6 0 010 12zM10 10H2V2h8zM4 8h4V4H4z" }]]; +export const NETWORK_3 = svg( + ["path", { d: "M30 30h-8v-8h8zm-6-2h4v-4h-4zM20 27H8a6 6 0 010-12h2v2H8a4 4 0 000 8h12z" }], + ["path", { d: "M20 20h-8v-8h8zm-6-2h4v-4h-4z" }], + ["path", { d: "M24 17h-2v-2h2a4 4 0 000-8H12V5h12a6 6 0 010 12zM10 10H2V2h8zM4 8h4V4H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/network-4.ts b/packages/hiccup-carbon-icons/src/network-4.ts index c2f83e1f5d..1c53cf4d57 100644 --- a/packages/hiccup-carbon-icons/src/network-4.ts +++ b/packages/hiccup-carbon-icons/src/network-4.ts @@ -1,25 +1,27 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NETWORK_4 */ // prettier-ignore -export const NETWORK_4: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 26, - cx: 21, - }], - ["circle", - { - r: 2, - cy: 6, - cx: 21, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 4, - }], - ["path", { d: "M28 12a3.996 3.996 0 00-3.858 3h-4.284a3.966 3.966 0 00-5.491-2.643l-3.177-3.97A3.963 3.963 0 0012 6a4 4 0 10-4 4 3.96 3.96 0 001.634-.357l3.176 3.97a3.924 3.924 0 000 4.774l-3.176 3.97A3.96 3.96 0 008 22a4 4 0 104 4 3.962 3.962 0 00-.81-2.387l3.176-3.97A3.966 3.966 0 0019.858 17h4.284A3.993 3.993 0 1028 12zM6 6a2 2 0 112 2 2.002 2.002 0 01-2-2zm2 22a2 2 0 112-2 2.002 2.002 0 01-2 2zm8-10a2 2 0 112-2 2.002 2.002 0 01-2 2zm12 0a2 2 0 112-2 2.002 2.002 0 01-2 2z" }]]; +export const NETWORK_4 = svg( + ["circle", + { + r: 2, + cy: 26, + cx: 21, + }], + ["circle", + { + r: 2, + cy: 6, + cx: 21, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 4, + }], + ["path", { d: "M28 12a3.996 3.996 0 00-3.858 3h-4.284a3.966 3.966 0 00-5.491-2.643l-3.177-3.97A3.963 3.963 0 0012 6a4 4 0 10-4 4 3.96 3.96 0 001.634-.357l3.176 3.97a3.924 3.924 0 000 4.774l-3.176 3.97A3.96 3.96 0 008 22a4 4 0 104 4 3.962 3.962 0 00-.81-2.387l3.176-3.97A3.966 3.966 0 0019.858 17h4.284A3.993 3.993 0 1028 12zM6 6a2 2 0 112 2 2.002 2.002 0 01-2-2zm2 22a2 2 0 112-2 2.002 2.002 0 01-2 2zm8-10a2 2 0 112-2 2.002 2.002 0 01-2 2zm12 0a2 2 0 112-2 2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/new-tab.ts b/packages/hiccup-carbon-icons/src/new-tab.ts index a9a49428f8..b13899e284 100644 --- a/packages/hiccup-carbon-icons/src/new-tab.ts +++ b/packages/hiccup-carbon-icons/src/new-tab.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NEW_TAB */ // prettier-ignore -export const NEW_TAB: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 26H6V6h9V4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2v-9h-2zM26 6V2h-2v4h-4v2h4v4h2V8h4V6h-4z" }]]; +export const NEW_TAB = svg( + ["path", { d: "M26 26H6V6h9V4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2v-9h-2zM26 6V2h-2v4h-4v2h4v4h2V8h4V6h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/next-filled.ts b/packages/hiccup-carbon-icons/src/next-filled.ts index c9286b2a26..7794d465ed 100644 --- a/packages/hiccup-carbon-icons/src/next-filled.ts +++ b/packages/hiccup-carbon-icons/src/next-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NEXT_FILLED */ // prettier-ignore -export const NEXT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 16A14 14 0 1016 2 14 14 0 002 16zm6-1h12.15l-5.58-5.607L16 8l8 8-8 8-1.43-1.427L20.15 17H8z" }]]; +export const NEXT_FILLED = svg( + ["path", { d: "M2 16A14 14 0 1016 2 14 14 0 002 16zm6-1h12.15l-5.58-5.607L16 8l8 8-8 8-1.43-1.427L20.15 17H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/next-outline.ts b/packages/hiccup-carbon-icons/src/next-outline.ts index 2dc3ff85fa..68f6887170 100644 --- a/packages/hiccup-carbon-icons/src/next-outline.ts +++ b/packages/hiccup-carbon-icons/src/next-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NEXT_OUTLINE */ // prettier-ignore -export const NEXT_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 8l-1.43 1.393L20.15 15H8v2h12.15l-5.58 5.573L16 24l8-8-8-8z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const NEXT_OUTLINE = svg( + ["path", { d: "M16 8l-1.43 1.393L20.15 15H8v2h12.15l-5.58 5.573L16 24l8-8-8-8z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/no-image.ts b/packages/hiccup-carbon-icons/src/no-image.ts index 36ca37416c..4c0601891e 100644 --- a/packages/hiccup-carbon-icons/src/no-image.ts +++ b/packages/hiccup-carbon-icons/src/no-image.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NO_IMAGE */ // prettier-ignore -export const NO_IMAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 3.414L28.586 2 2 28.586 3.414 30l2-2H26a2.003 2.003 0 002-2V5.414zM26 26H7.414l7.793-7.793 2.379 2.379a2 2 0 002.828 0L22 19l4 3.997zm0-5.832l-2.586-2.586a2 2 0 00-2.828 0L19 19.168l-2.377-2.377L26 7.414zM6 22v-3l5-4.997 1.373 1.374 1.416-1.416-1.375-1.375a2 2 0 00-2.828 0L6 16.172V6h16V4H6a2.002 2.002 0 00-2 2v16z" }]]; +export const NO_IMAGE = svg( + ["path", { d: "M30 3.414L28.586 2 2 28.586 3.414 30l2-2H26a2.003 2.003 0 002-2V5.414zM26 26H7.414l7.793-7.793 2.379 2.379a2 2 0 002.828 0L22 19l4 3.997zm0-5.832l-2.586-2.586a2 2 0 00-2.828 0L19 19.168l-2.377-2.377L26 7.414zM6 22v-3l5-4.997 1.373 1.374 1.416-1.416-1.375-1.375a2 2 0 00-2.828 0L6 16.172V6h16V4H6a2.002 2.002 0 00-2 2v16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/no-ticket.ts b/packages/hiccup-carbon-icons/src/no-ticket.ts index cc2a44488e..44e46313fe 100644 --- a/packages/hiccup-carbon-icons/src/no-ticket.ts +++ b/packages/hiccup-carbon-icons/src/no-ticket.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NO_TICKET */ // prettier-ignore -export const NO_TICKET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6h-.586L30 3.414 28.586 2 2 28.586 3.414 30l4-4H28a2.003 2.003 0 002-2v-5a1 1 0 00-1-1 2 2 0 010-4 1 1 0 001-1V8a2.002 2.002 0 00-2-2zm0 6.127a4 4 0 000 7.746V24h-7v-3h-2v3H9.414L19 14.414V19h2v-6.586L25.414 8H28zM4 12.127V8h15V6H4a2.002 2.002 0 00-2 2v5a1 1 0 001 1 2 2 0 010 4 1 1 0 00-1 1v5h2v-4.127a4 4 0 000-7.747z" }]]; +export const NO_TICKET = svg( + ["path", { d: "M28 6h-.586L30 3.414 28.586 2 2 28.586 3.414 30l4-4H28a2.003 2.003 0 002-2v-5a1 1 0 00-1-1 2 2 0 010-4 1 1 0 001-1V8a2.002 2.002 0 00-2-2zm0 6.127a4 4 0 000 7.746V24h-7v-3h-2v3H9.414L19 14.414V19h2v-6.586L25.414 8H28zM4 12.127V8h15V6H4a2.002 2.002 0 00-2 2v5a1 1 0 001 1 2 2 0 010 4 1 1 0 00-1 1v5h2v-4.127a4 4 0 000-7.747z" }] +); diff --git a/packages/hiccup-carbon-icons/src/nominal.ts b/packages/hiccup-carbon-icons/src/nominal.ts index 4078552512..ce9c62e818 100644 --- a/packages/hiccup-carbon-icons/src/nominal.ts +++ b/packages/hiccup-carbon-icons/src/nominal.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOMINAL */ // prettier-ignore -export const NOMINAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 28a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4zM8 28a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4zM16 14a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }]]; +export const NOMINAL = svg( + ["path", { d: "M24 28a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4zM8 28a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4zM16 14a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/noodle-bowl.ts b/packages/hiccup-carbon-icons/src/noodle-bowl.ts index 7a9c4dab12..59c12422e7 100644 --- a/packages/hiccup-carbon-icons/src/noodle-bowl.ts +++ b/packages/hiccup-carbon-icons/src/noodle-bowl.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOODLE_BOWL */ // prettier-ignore -export const NOODLE_BOWL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.414 15l-8-8L2 8.414 8.586 15H2v1a14 14 0 0028 0v-1zM16 28A12.017 12.017 0 014.041 17H27.96A12.017 12.017 0 0116 28z" }], - ["path", { d: "M22 8a5.005 5.005 0 00-1.57.255A8.024 8.024 0 0014 5a7.936 7.936 0 00-4.906 1.68L4.414 2 3 3.414l6.05 6.05.707-.707A5.96 5.96 0 0114 7a6.02 6.02 0 014.688 2.264 5.06 5.06 0 00-.59.61A2.99 2.99 0 0115.754 11H12v2h3.754a4.98 4.98 0 003.904-1.875A3 3 0 0125 13h2a5.006 5.006 0 00-5-5z" }]]; +export const NOODLE_BOWL = svg( + ["path", { d: "M11.414 15l-8-8L2 8.414 8.586 15H2v1a14 14 0 0028 0v-1zM16 28A12.017 12.017 0 014.041 17H27.96A12.017 12.017 0 0116 28z" }], + ["path", { d: "M22 8a5.005 5.005 0 00-1.57.255A8.024 8.024 0 0014 5a7.936 7.936 0 00-4.906 1.68L4.414 2 3 3.414l6.05 6.05.707-.707A5.96 5.96 0 0114 7a6.02 6.02 0 014.688 2.264 5.06 5.06 0 00-.59.61A2.99 2.99 0 0115.754 11H12v2h3.754a4.98 4.98 0 003.904-1.875A3 3 0 0125 13h2a5.006 5.006 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/not-available.ts b/packages/hiccup-carbon-icons/src/not-available.ts index 644d705771..bf059d547c 100644 --- a/packages/hiccup-carbon-icons/src/not-available.ts +++ b/packages/hiccup-carbon-icons/src/not-available.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOT_AVAILABLE */ // prettier-ignore -export const NOT_AVAILABLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 15h10v2H4zM18 15h10v2H18z" }]]; +export const NOT_AVAILABLE = svg( + ["path", { d: "M4 15h10v2H4zM18 15h10v2H18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/not-sent-filled.ts b/packages/hiccup-carbon-icons/src/not-sent-filled.ts index 92f8e89f80..489be034cb 100644 --- a/packages/hiccup-carbon-icons/src/not-sent-filled.ts +++ b/packages/hiccup-carbon-icons/src/not-sent-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOT_SENT_FILLED */ // prettier-ignore -export const NOT_SENT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 28.59L3.41 2 2 3.41l8 8-7.34 2.65a1 1 0 000 1.87l8.59 3.43L14.59 16 16 17.41l-3.37 3.37 3.44 8.59A1 1 0 0017 30a1 1 0 00.92-.66L20.6 22l8 8zM22.49 16.83l3.45-9.49a1 1 0 00-1.28-1.28l-9.49 3.45z" }]]; +export const NOT_SENT_FILLED = svg( + ["path", { d: "M30 28.59L3.41 2 2 3.41l8 8-7.34 2.65a1 1 0 000 1.87l8.59 3.43L14.59 16 16 17.41l-3.37 3.37 3.44 8.59A1 1 0 0017 30a1 1 0 00.92-.66L20.6 22l8 8zM22.49 16.83l3.45-9.49a1 1 0 00-1.28-1.28l-9.49 3.45z" }] +); diff --git a/packages/hiccup-carbon-icons/src/not-sent.ts b/packages/hiccup-carbon-icons/src/not-sent.ts index ffc489912d..c17688d2fe 100644 --- a/packages/hiccup-carbon-icons/src/not-sent.ts +++ b/packages/hiccup-carbon-icons/src/not-sent.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOT_SENT */ // prettier-ignore -export const NOT_SENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 28.59L3.41 2 2 3.41l8 8-7.34 2.65a1 1 0 000 1.87l9.6 3.84 3.84 9.6a1 1 0 00.9.63 1 1 0 00.92-.66L20.6 22l8 8zM5.8 15l5.74-2 3.05 3-1.83 1.83zM17 26.2l-2.79-7L16 17.41l3 3.05zM15.69 11.45l7.64-2.78-2.78 7.64 1.56 1.56 3.83-10.53a1 1 0 00-1.28-1.28L14.13 9.89z" }]]; +export const NOT_SENT = svg( + ["path", { d: "M30 28.59L3.41 2 2 3.41l8 8-7.34 2.65a1 1 0 000 1.87l9.6 3.84 3.84 9.6a1 1 0 00.9.63 1 1 0 00.92-.66L20.6 22l8 8zM5.8 15l5.74-2 3.05 3-1.83 1.83zM17 26.2l-2.79-7L16 17.41l3 3.05zM15.69 11.45l7.64-2.78-2.78 7.64 1.56 1.56 3.83-10.53a1 1 0 00-1.28-1.28L14.13 9.89z" }] +); diff --git a/packages/hiccup-carbon-icons/src/notebook-reference.ts b/packages/hiccup-carbon-icons/src/notebook-reference.ts index 4739529ba1..3d07a83bce 100644 --- a/packages/hiccup-carbon-icons/src/notebook-reference.ts +++ b/packages/hiccup-carbon-icons/src/notebook-reference.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOTEBOOK_REFERENCE */ // prettier-ignore -export const NOTEBOOK_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h3.586L2 27.586 3.414 29 9 23.414V27h2v-7H4zM19 10h7v2h-7zM19 15h7v2h-7zM19 20h7v2h-7z" }], - ["path", { d: "M28 5H4a2.002 2.002 0 00-2 2v10h2V7h11v20h13a2.002 2.002 0 002-2V7a2.002 2.002 0 00-2-2zM17 25V7h11l.002 18z" }]]; +export const NOTEBOOK_REFERENCE = svg( + ["path", { d: "M4 20v2h3.586L2 27.586 3.414 29 9 23.414V27h2v-7H4zM19 10h7v2h-7zM19 15h7v2h-7zM19 20h7v2h-7z" }], + ["path", { d: "M28 5H4a2.002 2.002 0 00-2 2v10h2V7h11v20h13a2.002 2.002 0 002-2V7a2.002 2.002 0 00-2-2zM17 25V7h11l.002 18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/notebook.ts b/packages/hiccup-carbon-icons/src/notebook.ts index 15c616aa71..7a35a188a7 100644 --- a/packages/hiccup-carbon-icons/src/notebook.ts +++ b/packages/hiccup-carbon-icons/src/notebook.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOTEBOOK */ // prettier-ignore -export const NOTEBOOK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 10h7v2h-7zM19 15h7v2h-7zM19 20h7v2h-7z" }], - ["path", { d: "M28 5H4a2.002 2.002 0 00-2 2v18a2.002 2.002 0 002 2h24a2.003 2.003 0 002-2V7a2.002 2.002 0 00-2-2zM4 7h11v18H4zm13 18V7h11l.002 18z" }]]; +export const NOTEBOOK = svg( + ["path", { d: "M19 10h7v2h-7zM19 15h7v2h-7zM19 20h7v2h-7z" }], + ["path", { d: "M28 5H4a2.002 2.002 0 00-2 2v18a2.002 2.002 0 002 2h24a2.003 2.003 0 002-2V7a2.002 2.002 0 00-2-2zM4 7h11v18H4zm13 18V7h11l.002 18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/notification-filled.ts b/packages/hiccup-carbon-icons/src/notification-filled.ts index d2118b2e0c..efec782433 100644 --- a/packages/hiccup-carbon-icons/src/notification-filled.ts +++ b/packages/hiccup-carbon-icons/src/notification-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOTIFICATION_FILLED */ // prettier-ignore -export const NOTIFICATION_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.7 20.3L26 17.6V13a10.07 10.07 0 00-9-10V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v3a.94.94 0 001 1h7a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3z" }]]; +export const NOTIFICATION_FILLED = svg( + ["path", { d: "M28.7 20.3L26 17.6V13a10.07 10.07 0 00-9-10V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v3a.94.94 0 001 1h7a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/notification-new.ts b/packages/hiccup-carbon-icons/src/notification-new.ts index ccfb929dbf..5dc4e7d170 100644 --- a/packages/hiccup-carbon-icons/src/notification-new.ts +++ b/packages/hiccup-carbon-icons/src/notification-new.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOTIFICATION_NEW */ // prettier-ignore -export const NOTIFICATION_NEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 17.6V15h-2v3a.91.91 0 00.3.7l2.7 2.7V23H5v-1.6l2.7-2.7A.91.91 0 008 18v-5a8 8 0 018-8 7.89 7.89 0 014 1.09V3.8a9.71 9.71 0 00-3-.8V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v3a.94.94 0 001 1h7a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3z" }], - ["circle", - { - r: 4, - cy: 8, - cx: 26, - }]]; +export const NOTIFICATION_NEW = svg( + ["path", { d: "M26 17.6V15h-2v3a.91.91 0 00.3.7l2.7 2.7V23H5v-1.6l2.7-2.7A.91.91 0 008 18v-5a8 8 0 018-8 7.89 7.89 0 014 1.09V3.8a9.71 9.71 0 00-3-.8V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v3a.94.94 0 001 1h7a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3z" }], + ["circle", + { + r: 4, + cy: 8, + cx: 26, + }] +); diff --git a/packages/hiccup-carbon-icons/src/notification-off-filled.ts b/packages/hiccup-carbon-icons/src/notification-off-filled.ts index 14210d80e1..43f501d10d 100644 --- a/packages/hiccup-carbon-icons/src/notification-off-filled.ts +++ b/packages/hiccup-carbon-icons/src/notification-off-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOTIFICATION_OFF_FILLED */ // prettier-ignore -export const NOTIFICATION_OFF_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 17.6V13a10 10 0 00-1.09-4.5L30 3.41 28.59 2 2 28.59 3.41 30l5-5H11a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3zM21.63 4.72A9.78 9.78 0 0017 3V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v2.34z" }]]; +export const NOTIFICATION_OFF_FILLED = svg( + ["path", { d: "M26 17.6V13a10 10 0 00-1.09-4.5L30 3.41 28.59 2 2 28.59 3.41 30l5-5H11a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3zM21.63 4.72A9.78 9.78 0 0017 3V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v2.34z" }] +); diff --git a/packages/hiccup-carbon-icons/src/notification-off.ts b/packages/hiccup-carbon-icons/src/notification-off.ts index 434b353d1c..60199772d4 100644 --- a/packages/hiccup-carbon-icons/src/notification-off.ts +++ b/packages/hiccup-carbon-icons/src/notification-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOTIFICATION_OFF */ // prettier-ignore -export const NOTIFICATION_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M5 23v-1.6l2.7-2.7A.91.91 0 008 18v-5a8 8 0 0113-6.24l1.44-1.43A9.79 9.79 0 0017 3V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v2zM26 17.6V13a10 10 0 00-1.09-4.5L30 3.41 28.59 2 2 28.59 3.41 30l5-5H11a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3zm11-5H10.42l13-13a8.06 8.06 0 01.58 3v5a.91.91 0 00.3.7l2.7 2.7z" }]]; +export const NOTIFICATION_OFF = svg( + ["path", { d: "M5 23v-1.6l2.7-2.7A.91.91 0 008 18v-5a8 8 0 0113-6.24l1.44-1.43A9.79 9.79 0 0017 3V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v2zM26 17.6V13a10 10 0 00-1.09-4.5L30 3.41 28.59 2 2 28.59 3.41 30l5-5H11a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3zm11-5H10.42l13-13a8.06 8.06 0 01.58 3v5a.91.91 0 00.3.7l2.7 2.7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/notification.ts b/packages/hiccup-carbon-icons/src/notification.ts index 7fd2ec3aa1..6494c41471 100644 --- a/packages/hiccup-carbon-icons/src/notification.ts +++ b/packages/hiccup-carbon-icons/src/notification.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NOTIFICATION */ // prettier-ignore -export const NOTIFICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.7 20.3L26 17.6V13a10.07 10.07 0 00-9-10V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v3a.94.94 0 001 1h7a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3zm11-5H5v-1.6l2.7-2.7A.91.91 0 008 18v-5a8 8 0 0116 0v5a.91.91 0 00.3.7l2.7 2.7z" }]]; +export const NOTIFICATION = svg( + ["path", { d: "M28.7 20.3L26 17.6V13a10.07 10.07 0 00-9-10V1h-2v2a10.15 10.15 0 00-9 10v4.6l-2.7 2.7a.91.91 0 00-.3.7v3a.94.94 0 001 1h7a5 5 0 0010 0h7a.94.94 0 001-1v-3a.91.91 0 00-.3-.7zM16 28a3 3 0 01-3-3h6a3 3 0 01-3 3zm11-5H5v-1.6l2.7-2.7A.91.91 0 008 18v-5a8 8 0 0116 0v5a.91.91 0 00.3.7l2.7 2.7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-0.ts b/packages/hiccup-carbon-icons/src/number-0.ts index a8030b916e..4d58f25a3b 100644 --- a/packages/hiccup-carbon-icons/src/number-0.ts +++ b/packages/hiccup-carbon-icons/src/number-0.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_0 */ // prettier-ignore -export const NUMBER_0: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 23h-4a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zm-4-12v10h4V11z" }], - ["path", { d: "M15 15h2v2h-2z" }]]; +export const NUMBER_0 = svg( + ["path", { d: "M18 23h-4a2 2 0 01-2-2V11a2 2 0 012-2h4a2 2 0 012 2v10a2 2 0 01-2 2zm-4-12v10h4V11z" }], + ["path", { d: "M15 15h2v2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-1.ts b/packages/hiccup-carbon-icons/src/number-1.ts index ab754b6041..056e902c4f 100644 --- a/packages/hiccup-carbon-icons/src/number-1.ts +++ b/packages/hiccup-carbon-icons/src/number-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_1 */ // prettier-ignore -export const NUMBER_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 10v12-12m1-1h-5v2h3v10h-3v2h8v-2h-3V9z" }]]; +export const NUMBER_1 = svg( + ["path", { d: "M16 10v12-12m1-1h-5v2h3v10h-3v2h8v-2h-3V9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-2.ts b/packages/hiccup-carbon-icons/src/number-2.ts index 31462d2b01..5e2b672a60 100644 --- a/packages/hiccup-carbon-icons/src/number-2.ts +++ b/packages/hiccup-carbon-icons/src/number-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_2 */ // prettier-ignore -export const NUMBER_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 23h-8v-6a2 2 0 012-2h4v-4h-6V9h6a2 2 0 012 2v4a2 2 0 01-2 2h-4v4h6z" }]]; +export const NUMBER_2 = svg( + ["path", { d: "M20 23h-8v-6a2 2 0 012-2h4v-4h-6V9h6a2 2 0 012 2v4a2 2 0 01-2 2h-4v4h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-3.ts b/packages/hiccup-carbon-icons/src/number-3.ts index 1a4280b899..d9b3db709c 100644 --- a/packages/hiccup-carbon-icons/src/number-3.ts +++ b/packages/hiccup-carbon-icons/src/number-3.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_3 */ // prettier-ignore -export const NUMBER_3: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 9h-6v2h6v4h-4v2h4v4h-6v2h6a2 2 0 002-2V11a2 2 0 00-2-2z" }]]; +export const NUMBER_3 = svg( + ["path", { d: "M18 9h-6v2h6v4h-4v2h4v4h-6v2h6a2 2 0 002-2V11a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-4.ts b/packages/hiccup-carbon-icons/src/number-4.ts index 300e0f4461..56c1d4c01f 100644 --- a/packages/hiccup-carbon-icons/src/number-4.ts +++ b/packages/hiccup-carbon-icons/src/number-4.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_4 */ // prettier-ignore -export const NUMBER_4: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 10v8-8m1-1h-2v8h-3V9h-2v10h5v4h2v-4h1v-2h-1V9z" }]]; +export const NUMBER_4 = svg( + ["path", { d: "M18 10v8-8m1-1h-2v8h-3V9h-2v10h5v4h2v-4h1v-2h-1V9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-5.ts b/packages/hiccup-carbon-icons/src/number-5.ts index 2c85eb9373..64d259beb7 100644 --- a/packages/hiccup-carbon-icons/src/number-5.ts +++ b/packages/hiccup-carbon-icons/src/number-5.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_5 */ // prettier-ignore -export const NUMBER_5: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 23h-6v-2h6v-4h-6V9h8v2h-6v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }]]; +export const NUMBER_5 = svg( + ["path", { d: "M18 23h-6v-2h6v-4h-6V9h8v2h-6v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-6.ts b/packages/hiccup-carbon-icons/src/number-6.ts index cb9bc2e859..85ef6afe58 100644 --- a/packages/hiccup-carbon-icons/src/number-6.ts +++ b/packages/hiccup-carbon-icons/src/number-6.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_6 */ // prettier-ignore -export const NUMBER_6: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 14h-4v-3h5V9h-5a2 2 0 00-2 2v10a2 2 0 002 2h4a2 2 0 002-2v-5a2 2 0 00-2-2zm-4 7v-5h4v5z" }]]; +export const NUMBER_6 = svg( + ["path", { d: "M18 14h-4v-3h5V9h-5a2 2 0 00-2 2v10a2 2 0 002 2h4a2 2 0 002-2v-5a2 2 0 00-2-2zm-4 7v-5h4v5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-7.ts b/packages/hiccup-carbon-icons/src/number-7.ts index 9be4c9a5fe..be28712fba 100644 --- a/packages/hiccup-carbon-icons/src/number-7.ts +++ b/packages/hiccup-carbon-icons/src/number-7.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_7 */ // prettier-ignore -export const NUMBER_7: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 9h-8v4h2v-2h3.85L13 23h2.16L20 11V9z" }]]; +export const NUMBER_7 = svg( + ["path", { d: "M20 9h-8v4h2v-2h3.85L13 23h2.16L20 11V9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-8.ts b/packages/hiccup-carbon-icons/src/number-8.ts index 6622e72823..6df4b1a8a5 100644 --- a/packages/hiccup-carbon-icons/src/number-8.ts +++ b/packages/hiccup-carbon-icons/src/number-8.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_8 */ // prettier-ignore -export const NUMBER_8: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 9h-4a2 2 0 00-2 2v10a2 2 0 002 2h4a2 2 0 002-2V11a2 2 0 00-2-2zm0 2v4h-4v-4zm-4 10v-4h4v4z" }]]; +export const NUMBER_8 = svg( + ["path", { d: "M18 9h-4a2 2 0 00-2 2v10a2 2 0 002 2h4a2 2 0 002-2V11a2 2 0 00-2-2zm0 2v4h-4v-4zm-4 10v-4h4v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-9.ts b/packages/hiccup-carbon-icons/src/number-9.ts index 283f842163..13df49ae27 100644 --- a/packages/hiccup-carbon-icons/src/number-9.ts +++ b/packages/hiccup-carbon-icons/src/number-9.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_9 */ // prettier-ignore -export const NUMBER_9: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 9h-4a2 2 0 00-2 2v5a2 2 0 002 2h4v3h-5v2h5a2 2 0 002-2V11a2 2 0 00-2-2zm0 7h-4v-5h4z" }]]; +export const NUMBER_9 = svg( + ["path", { d: "M18 9h-4a2 2 0 00-2 2v5a2 2 0 002 2h4v3h-5v2h5a2 2 0 002-2V11a2 2 0 00-2-2zm0 7h-4v-5h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-0.ts b/packages/hiccup-carbon-icons/src/number-small-0.ts index b9673f2d3d..6e38a70e5d 100644 --- a/packages/hiccup-carbon-icons/src/number-small-0.ts +++ b/packages/hiccup-carbon-icons/src/number-small-0.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_0 */ // prettier-ignore -export const NUMBER_SMALL_0: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 21h-2a2 2 0 01-2-2v-6a2 2 0 012-2h2a2 2 0 012 2v6a2 2 0 01-2 2zm-2-8v6h2v-6z" }]]; +export const NUMBER_SMALL_0 = svg( + ["path", { d: "M17 21h-2a2 2 0 01-2-2v-6a2 2 0 012-2h2a2 2 0 012 2v6a2 2 0 01-2 2zm-2-8v6h2v-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-1.ts b/packages/hiccup-carbon-icons/src/number-small-1.ts index 8c5f212d19..f4c7aee8fd 100644 --- a/packages/hiccup-carbon-icons/src/number-small-1.ts +++ b/packages/hiccup-carbon-icons/src/number-small-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_1 */ // prettier-ignore -export const NUMBER_SMALL_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 19v-8h-2v1h-2v2h2v5h-2v2h6v-2h-2z" }]]; +export const NUMBER_SMALL_1 = svg( + ["path", { d: "M17 19v-8h-2v1h-2v2h2v5h-2v2h6v-2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-2.ts b/packages/hiccup-carbon-icons/src/number-small-2.ts index ffc94ef060..ed8e988360 100644 --- a/packages/hiccup-carbon-icons/src/number-small-2.ts +++ b/packages/hiccup-carbon-icons/src/number-small-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_2 */ // prettier-ignore -export const NUMBER_SMALL_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 21h-6v-4a2 2 0 012-2h2v-2h-4v-2h4a2 2 0 012 2v2a2 2 0 01-2 2h-2v2h4z" }]]; +export const NUMBER_SMALL_2 = svg( + ["path", { d: "M19 21h-6v-4a2 2 0 012-2h2v-2h-4v-2h4a2 2 0 012 2v2a2 2 0 01-2 2h-2v2h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-3.ts b/packages/hiccup-carbon-icons/src/number-small-3.ts index 7d8a836e29..df4adc55a3 100644 --- a/packages/hiccup-carbon-icons/src/number-small-3.ts +++ b/packages/hiccup-carbon-icons/src/number-small-3.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_3 */ // prettier-ignore -export const NUMBER_SMALL_3: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 11h-4v2h4v2h-3v2h3v2h-4v2h4a2 2 0 002-2v-6a2 2 0 00-2-2z" }]]; +export const NUMBER_SMALL_3 = svg( + ["path", { d: "M17 11h-4v2h4v2h-3v2h3v2h-4v2h4a2 2 0 002-2v-6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-4.ts b/packages/hiccup-carbon-icons/src/number-small-4.ts index 1a2551acac..4518ebfd16 100644 --- a/packages/hiccup-carbon-icons/src/number-small-4.ts +++ b/packages/hiccup-carbon-icons/src/number-small-4.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_4 */ // prettier-ignore -export const NUMBER_SMALL_4: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 11v4h-2v-4h-2v6h4v4h2V11h-2z" }]]; +export const NUMBER_SMALL_4 = svg( + ["path", { d: "M17 11v4h-2v-4h-2v6h4v4h2V11h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-5.ts b/packages/hiccup-carbon-icons/src/number-small-5.ts index 8291c41e6b..f7c017ca18 100644 --- a/packages/hiccup-carbon-icons/src/number-small-5.ts +++ b/packages/hiccup-carbon-icons/src/number-small-5.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_5 */ // prettier-ignore -export const NUMBER_SMALL_5: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 21h-4v-2h4v-2h-4v-6h6v2h-4v2h2a2 2 0 012 2v2a2 2 0 01-2 2z" }]]; +export const NUMBER_SMALL_5 = svg( + ["path", { d: "M17 21h-4v-2h4v-2h-4v-6h6v2h-4v2h2a2 2 0 012 2v2a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-6.ts b/packages/hiccup-carbon-icons/src/number-small-6.ts index 7e3baa40e7..d49196f8f0 100644 --- a/packages/hiccup-carbon-icons/src/number-small-6.ts +++ b/packages/hiccup-carbon-icons/src/number-small-6.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_6 */ // prettier-ignore -export const NUMBER_SMALL_6: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 21h-2a2 2 0 01-2-2v-6a2 2 0 012-2h3v2h-3v2h2a2 2 0 012 2v2a2 2 0 01-2 2zm-2-4v2h2v-2z" }]]; +export const NUMBER_SMALL_6 = svg( + ["path", { d: "M17 21h-2a2 2 0 01-2-2v-6a2 2 0 012-2h3v2h-3v2h2a2 2 0 012 2v2a2 2 0 01-2 2zm-2-4v2h2v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-7.ts b/packages/hiccup-carbon-icons/src/number-small-7.ts index 266d60fdab..4d5f6a2c97 100644 --- a/packages/hiccup-carbon-icons/src/number-small-7.ts +++ b/packages/hiccup-carbon-icons/src/number-small-7.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_7 */ // prettier-ignore -export const NUMBER_SMALL_7: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16.44 21h-2L17 13h-2v1h-2v-3h6v2l-2.56 8z" }]]; +export const NUMBER_SMALL_7 = svg( + ["path", { d: "M16.44 21h-2L17 13h-2v1h-2v-3h6v2l-2.56 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-8.ts b/packages/hiccup-carbon-icons/src/number-small-8.ts index a1bc72e2ff..6186efc736 100644 --- a/packages/hiccup-carbon-icons/src/number-small-8.ts +++ b/packages/hiccup-carbon-icons/src/number-small-8.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_8 */ // prettier-ignore -export const NUMBER_SMALL_8: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 11h-2a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2v-6a2 2 0 00-2-2zm0 2v2h-2v-2zm-2 6v-2h2v2z" }]]; +export const NUMBER_SMALL_8 = svg( + ["path", { d: "M17 11h-2a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2v-6a2 2 0 00-2-2zm0 2v2h-2v-2zm-2 6v-2h2v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/number-small-9.ts b/packages/hiccup-carbon-icons/src/number-small-9.ts index 01de817a38..381c59f3d7 100644 --- a/packages/hiccup-carbon-icons/src/number-small-9.ts +++ b/packages/hiccup-carbon-icons/src/number-small-9.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#NUMBER_SMALL_9 */ // prettier-ignore -export const NUMBER_SMALL_9: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 21h-3v-2h3v-2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2v6a2 2 0 01-2 2zm-2-8v2h2v-2z" }]]; +export const NUMBER_SMALL_9 = svg( + ["path", { d: "M17 21h-3v-2h3v-2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2v6a2 2 0 01-2 2zm-2-8v2h2v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/object-storage.ts b/packages/hiccup-carbon-icons/src/object-storage.ts index 6270ecec0c..fe0c695ee1 100644 --- a/packages/hiccup-carbon-icons/src/object-storage.ts +++ b/packages/hiccup-carbon-icons/src/object-storage.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OBJECT_STORAGE */ // prettier-ignore -export const OBJECT_STORAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 20h-2v2h2v6H4v-6h10v-2H4a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2z" }], - ["circle", - { - r: 1, - cy: 25, - cx: 7, - }], - ["path", { d: "M30 8h-8v6h-6v8h8v-6h6zm-8 12h-4v-4h4zm6-6h-4v-4h4zM18 10h-8V2h8zm-6-2h4V4h-4z" }]]; +export const OBJECT_STORAGE = svg( + ["path", { d: "M28 20h-2v2h2v6H4v-6h10v-2H4a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2z" }], + ["circle", + { + r: 1, + cy: 25, + cx: 7, + }], + ["path", { d: "M30 8h-8v6h-6v8h8v-6h6zm-8 12h-4v-4h4zm6-6h-4v-4h4zM18 10h-8V2h8zm-6-2h4V4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/omega.ts b/packages/hiccup-carbon-icons/src/omega.ts index 07096e56a7..841b149acd 100644 --- a/packages/hiccup-carbon-icons/src/omega.ts +++ b/packages/hiccup-carbon-icons/src/omega.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OMEGA */ // prettier-ignore -export const OMEGA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.737 25A14.31 14.31 0 0027 15c0-6.58-4.42-11-11-11S5 8.42 5 15a14.31 14.31 0 004.263 10H4v2h9v-1.528l-.435-.298A12.646 12.646 0 017 15c0-5.467 3.533-9 9-9s9 3.533 9 9a12.567 12.567 0 01-5 9.761V27h8v-2z" }]]; +export const OMEGA = svg( + ["path", { d: "M22.737 25A14.31 14.31 0 0027 15c0-6.58-4.42-11-11-11S5 8.42 5 15a14.31 14.31 0 004.263 10H4v2h9v-1.528l-.435-.298A12.646 12.646 0 017 15c0-5.467 3.533-9 9-9s9 3.533 9 9a12.567 12.567 0 01-5 9.761V27h8v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/opacity.ts b/packages/hiccup-carbon-icons/src/opacity.ts index ef66429818..6e2b33ccd8 100644 --- a/packages/hiccup-carbon-icons/src/opacity.ts +++ b/packages/hiccup-carbon-icons/src/opacity.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPACITY */ // prettier-ignore -export const OPACITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 6h4v4H6zM10 10h4v4h-4zM14 6h4v4h-4zM22 6h4v4h-4zM6 14h4v4H6zM14 14h4v4h-4zM22 14h4v4h-4zM6 22h4v4H6zM14 22h4v4h-4zM22 22h4v4h-4zM18 10h4v4h-4zM10 18h4v4h-4zM18 18h4v4h-4z" }]]; +export const OPACITY = svg( + ["path", { d: "M6 6h4v4H6zM10 10h4v4h-4zM14 6h4v4h-4zM22 6h4v4h-4zM6 14h4v4H6zM14 14h4v4h-4zM22 14h4v4h-4zM6 22h4v4H6zM14 22h4v4h-4zM22 22h4v4h-4zM18 10h4v4h-4zM10 18h4v4h-4zM18 18h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-bottom.ts b/packages/hiccup-carbon-icons/src/open-panel-bottom.ts index f12f8c91d2..6fac79c87b 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-bottom.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-bottom.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_BOTTOM */ // prettier-ignore -export const OPEN_PANEL_BOTTOM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v12H4V6zM4 26v-6h24v6z" }]]; +export const OPEN_PANEL_BOTTOM = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v12H4V6zM4 26v-6h24v6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-filled-bottom.ts b/packages/hiccup-carbon-icons/src/open-panel-filled-bottom.ts index 241768987e..c6db4790cc 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-filled-bottom.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-filled-bottom.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_FILLED_BOTTOM */ // prettier-ignore -export const OPEN_PANEL_FILLED_BOTTOM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v12H4V6z" }]]; +export const OPEN_PANEL_FILLED_BOTTOM = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v12H4V6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-filled-left.ts b/packages/hiccup-carbon-icons/src/open-panel-filled-left.ts index 7807fb4058..bd4cbd8c80 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-filled-left.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-filled-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_FILLED_LEFT */ // prettier-ignore -export const OPEN_PANEL_FILLED_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 22H12V6h16z" }]]; +export const OPEN_PANEL_FILLED_LEFT = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 22H12V6h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-filled-right.ts b/packages/hiccup-carbon-icons/src/open-panel-filled-right.ts index f14ac9ec1d..385b8df3e6 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-filled-right.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-filled-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_FILLED_RIGHT */ // prettier-ignore -export const OPEN_PANEL_FILLED_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 6h16v20H4z" }]]; +export const OPEN_PANEL_FILLED_RIGHT = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 6h16v20H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-filled-top.ts b/packages/hiccup-carbon-icons/src/open-panel-filled-top.ts index 9fd947548c..8a3aaedff4 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-filled-top.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-filled-top.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_FILLED_TOP */ // prettier-ignore -export const OPEN_PANEL_FILLED_TOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 26V14h24v12z" }]]; +export const OPEN_PANEL_FILLED_TOP = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 26V14h24v12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-left.ts b/packages/hiccup-carbon-icons/src/open-panel-left.ts index 3ddfe86d2f..e3fbf3e736 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-left.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_LEFT */ // prettier-ignore -export const OPEN_PANEL_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 6h6v20H4zm24 20H12V6h16z" }]]; +export const OPEN_PANEL_LEFT = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 6h6v20H4zm24 20H12V6h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-right.ts b/packages/hiccup-carbon-icons/src/open-panel-right.ts index f6982cdaa3..a1ca076b9e 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-right.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_RIGHT */ // prettier-ignore -export const OPEN_PANEL_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 6h16v20H4zm24 20h-6V6h6z" }]]; +export const OPEN_PANEL_RIGHT = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zM4 6h16v20H4zm24 20h-6V6h6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/open-panel-top.ts b/packages/hiccup-carbon-icons/src/open-panel-top.ts index 372d8d39e2..e0d1f3bd0e 100644 --- a/packages/hiccup-carbon-icons/src/open-panel-top.ts +++ b/packages/hiccup-carbon-icons/src/open-panel-top.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPEN_PANEL_TOP */ // prettier-ignore -export const OPEN_PANEL_TOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v6H4V6zM4 26V14h24v12z" }]]; +export const OPEN_PANEL_TOP = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v20a2 2 0 002 2h24a2 2 0 002-2V6a2 2 0 00-2-2zm0 2v6H4V6zM4 26V14h24v12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/operations-field.ts b/packages/hiccup-carbon-icons/src/operations-field.ts index 5636c31512..474a55b7db 100644 --- a/packages/hiccup-carbon-icons/src/operations-field.ts +++ b/packages/hiccup-carbon-icons/src/operations-field.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPERATIONS_FIELD */ // prettier-ignore -export const OPERATIONS_FIELD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 12V2h2v10zM24 12V2h2v10zM28 12V2h2v10zM16 20a3.912 3.912 0 01-4-4 3.912 3.912 0 014-4v-2a6 6 0 106 6h-2a3.912 3.912 0 01-4 4z" }], - ["path", { d: "M28.893 18.454L26.098 16l-1.318 1.504 2.792 2.452-2.36 4.088-3.427-1.16a9.031 9.031 0 01-2.714 1.565L18.36 28h-4.72l-.71-3.55a9.095 9.095 0 01-2.695-1.572l-3.447 1.166-2.36-4.088 2.725-2.395a8.926 8.926 0 01-.007-3.128l-2.718-2.39 2.36-4.087 3.427 1.16A9.03 9.03 0 0112.93 7.55L13.64 4H16V2h-2.36a2 2 0 00-1.961 1.608l-.504 2.518a10.967 10.967 0 00-1.327.754l-2.42-.819a1.998 1.998 0 00-2.372.895l-2.36 4.088a2 2 0 00.411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 00-.413 2.502l2.36 4.088a1.998 1.998 0 002.374.895l2.434-.824a10.974 10.974 0 001.312.759l.503 2.518A2 2 0 0013.64 30h4.72a2 2 0 001.961-1.608l.504-2.519a10.967 10.967 0 001.327-.753l2.419.818a1.998 1.998 0 002.373-.894l2.36-4.088a2 2 0 00-.411-2.502z" }]]; +export const OPERATIONS_FIELD = svg( + ["path", { d: "M20 12V2h2v10zM24 12V2h2v10zM28 12V2h2v10zM16 20a3.912 3.912 0 01-4-4 3.912 3.912 0 014-4v-2a6 6 0 106 6h-2a3.912 3.912 0 01-4 4z" }], + ["path", { d: "M28.893 18.454L26.098 16l-1.318 1.504 2.792 2.452-2.36 4.088-3.427-1.16a9.031 9.031 0 01-2.714 1.565L18.36 28h-4.72l-.71-3.55a9.095 9.095 0 01-2.695-1.572l-3.447 1.166-2.36-4.088 2.725-2.395a8.926 8.926 0 01-.007-3.128l-2.718-2.39 2.36-4.087 3.427 1.16A9.03 9.03 0 0112.93 7.55L13.64 4H16V2h-2.36a2 2 0 00-1.961 1.608l-.504 2.518a10.967 10.967 0 00-1.327.754l-2.42-.819a1.998 1.998 0 00-2.372.895l-2.36 4.088a2 2 0 00.411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 00-.413 2.502l2.36 4.088a1.998 1.998 0 002.374.895l2.434-.824a10.974 10.974 0 001.312.759l.503 2.518A2 2 0 0013.64 30h4.72a2 2 0 001.961-1.608l.504-2.519a10.967 10.967 0 001.327-.753l2.419.818a1.998 1.998 0 002.373-.894l2.36-4.088a2 2 0 00-.411-2.502z" }] +); diff --git a/packages/hiccup-carbon-icons/src/operations-record.ts b/packages/hiccup-carbon-icons/src/operations-record.ts index f03666c3f9..431ffd3216 100644 --- a/packages/hiccup-carbon-icons/src/operations-record.ts +++ b/packages/hiccup-carbon-icons/src/operations-record.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OPERATIONS_RECORD */ // prettier-ignore -export const OPERATIONS_RECORD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 20h10v2H20zM20 24h10v2H20zM20 28h10v2H20zM16 20a3.912 3.912 0 01-4-4 3.912 3.912 0 014-4 3.912 3.912 0 014 4h2a6 6 0 10-6 6z" }], - ["path", { d: "M29.305 11.044l-2.36-4.088a1.998 1.998 0 00-2.374-.895l-2.434.824a11.042 11.042 0 00-1.312-.758l-.504-2.52A2 2 0 0018.36 2h-4.72a2 2 0 00-1.961 1.608l-.504 2.518a10.967 10.967 0 00-1.327.754l-2.42-.819a1.998 1.998 0 00-2.372.895l-2.36 4.088a2 2 0 00.411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 00-.413 2.502l2.36 4.088a1.998 1.998 0 002.374.895l2.434-.824a10.974 10.974 0 001.312.759l.503 2.518A2 2 0 0013.64 30H16v-2h-2.36l-.71-3.55a9.095 9.095 0 01-2.695-1.572l-3.447 1.166-2.36-4.088 2.725-2.395a8.926 8.926 0 01-.007-3.128l-2.718-2.39 2.36-4.087 3.427 1.16A9.03 9.03 0 0112.93 7.55L13.64 4h4.72l.71 3.55a9.098 9.098 0 012.695 1.572l3.447-1.166 2.36 4.088-2.798 2.452L26.092 16l2.8-2.454a2 2 0 00.413-2.502z" }]]; +export const OPERATIONS_RECORD = svg( + ["path", { d: "M20 20h10v2H20zM20 24h10v2H20zM20 28h10v2H20zM16 20a3.912 3.912 0 01-4-4 3.912 3.912 0 014-4 3.912 3.912 0 014 4h2a6 6 0 10-6 6z" }], + ["path", { d: "M29.305 11.044l-2.36-4.088a1.998 1.998 0 00-2.374-.895l-2.434.824a11.042 11.042 0 00-1.312-.758l-.504-2.52A2 2 0 0018.36 2h-4.72a2 2 0 00-1.961 1.608l-.504 2.518a10.967 10.967 0 00-1.327.754l-2.42-.819a1.998 1.998 0 00-2.372.895l-2.36 4.088a2 2 0 00.411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 00-.413 2.502l2.36 4.088a1.998 1.998 0 002.374.895l2.434-.824a10.974 10.974 0 001.312.759l.503 2.518A2 2 0 0013.64 30H16v-2h-2.36l-.71-3.55a9.095 9.095 0 01-2.695-1.572l-3.447 1.166-2.36-4.088 2.725-2.395a8.926 8.926 0 01-.007-3.128l-2.718-2.39 2.36-4.087 3.427 1.16A9.03 9.03 0 0112.93 7.55L13.64 4h4.72l.71 3.55a9.098 9.098 0 012.695 1.572l3.447-1.166 2.36 4.088-2.798 2.452L26.092 16l2.8-2.454a2 2 0 00.413-2.502z" }] +); diff --git a/packages/hiccup-carbon-icons/src/ordinal.ts b/packages/hiccup-carbon-icons/src/ordinal.ts index 25b4fbd38b..11b9ebe81f 100644 --- a/packages/hiccup-carbon-icons/src/ordinal.ts +++ b/packages/hiccup-carbon-icons/src/ordinal.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ORDINAL */ // prettier-ignore -export const ORDINAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 26V4h-8v6h-6v6H6v10H2v2h28v-2zM8 26v-8h4v8zm6 0V12h4v14zm6 0V6h4v20z" }]]; +export const ORDINAL = svg( + ["path", { d: "M26 26V4h-8v6h-6v6H6v10H2v2h28v-2zM8 26v-8h4v8zm6 0V12h4v14zm6 0V6h4v20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/overflow-menu-horizontal.ts b/packages/hiccup-carbon-icons/src/overflow-menu-horizontal.ts index b28ad603c7..09df75a9e9 100644 --- a/packages/hiccup-carbon-icons/src/overflow-menu-horizontal.ts +++ b/packages/hiccup-carbon-icons/src/overflow-menu-horizontal.ts @@ -1,24 +1,26 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OVERFLOW_MENU_HORIZONTAL */ // prettier-ignore -export const OVERFLOW_MENU_HORIZONTAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 16, - cx: 8, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 16, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 24, - }]]; +export const OVERFLOW_MENU_HORIZONTAL = svg( + ["circle", + { + r: 2, + cy: 16, + cx: 8, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 16, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 24, + }] +); diff --git a/packages/hiccup-carbon-icons/src/overflow-menu-vertical.ts b/packages/hiccup-carbon-icons/src/overflow-menu-vertical.ts index 8283799638..63fcbb7f4e 100644 --- a/packages/hiccup-carbon-icons/src/overflow-menu-vertical.ts +++ b/packages/hiccup-carbon-icons/src/overflow-menu-vertical.ts @@ -1,24 +1,26 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#OVERFLOW_MENU_VERTICAL */ // prettier-ignore -export const OVERFLOW_MENU_VERTICAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 8, - cx: 16, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 16, - }], - ["circle", - { - r: 2, - cy: 24, - cx: 16, - }]]; +export const OVERFLOW_MENU_VERTICAL = svg( + ["circle", + { + r: 2, + cy: 8, + cx: 16, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 16, + }], + ["circle", + { + r: 2, + cy: 24, + cx: 16, + }] +); diff --git a/packages/hiccup-carbon-icons/src/package.ts b/packages/hiccup-carbon-icons/src/package.ts index 19023baf91..4ef90d76d7 100644 --- a/packages/hiccup-carbon-icons/src/package.ts +++ b/packages/hiccup-carbon-icons/src/package.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PACKAGE */ // prettier-ignore -export const PACKAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 30H6a2 2 0 01-2-2V16a2 2 0 012-2h3v2H6v12h20V16h-3v-2h3a2 2 0 012 2v12a2 2 0 01-2 2z" }], - ["path", { d: "M13 20h6v2h-6zM20.59 8.59L17 12.17V2h-2v10.17l-3.59-3.58L10 10l6 6 6-6-1.41-1.41z" }]]; +export const PACKAGE = svg( + ["path", { d: "M26 30H6a2 2 0 01-2-2V16a2 2 0 012-2h3v2H6v12h20V16h-3v-2h3a2 2 0 012 2v12a2 2 0 01-2 2z" }], + ["path", { d: "M13 20h6v2h-6zM20.59 8.59L17 12.17V2h-2v10.17l-3.59-3.58L10 10l6 6 6-6-1.41-1.41z" }] +); diff --git a/packages/hiccup-carbon-icons/src/page-first.ts b/packages/hiccup-carbon-icons/src/page-first.ts index 0294aeef41..0aeed0f04e 100644 --- a/packages/hiccup-carbon-icons/src/page-first.ts +++ b/packages/hiccup-carbon-icons/src/page-first.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAGE_FIRST */ // prettier-ignore -export const PAGE_FIRST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 16L24 6l1.4 1.4-8.6 8.6 8.6 8.6L24 26zM8 4h2v24H8z" }]]; +export const PAGE_FIRST = svg( + ["path", { d: "M14 16L24 6l1.4 1.4-8.6 8.6 8.6 8.6L24 26zM8 4h2v24H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/page-last.ts b/packages/hiccup-carbon-icons/src/page-last.ts index 25e8d37b22..dd568c9ec9 100644 --- a/packages/hiccup-carbon-icons/src/page-last.ts +++ b/packages/hiccup-carbon-icons/src/page-last.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAGE_LAST */ // prettier-ignore -export const PAGE_LAST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 16L8 26l-1.4-1.4 8.6-8.6-8.6-8.6L8 6zM22 4h2v24h-2z" }]]; +export const PAGE_LAST = svg( + ["path", { d: "M18 16L8 26l-1.4-1.4 8.6-8.6-8.6-8.6L8 6zM22 4h2v24h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/paint-brush-alt.ts b/packages/hiccup-carbon-icons/src/paint-brush-alt.ts index 2139a4beb9..4535cbd58c 100644 --- a/packages/hiccup-carbon-icons/src/paint-brush-alt.ts +++ b/packages/hiccup-carbon-icons/src/paint-brush-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAINT_BRUSH_ALT */ // prettier-ignore -export const PAINT_BRUSH_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.828 3.172a4.094 4.094 0 00-5.656 0L4.05 22.292A6.954 6.954 0 002 27.242V30h2.756a6.952 6.952 0 004.95-2.05L28.828 8.829a3.999 3.999 0 000-5.657zM10.91 18.26l2.829 2.829-2.122 2.121-2.828-2.828zm-2.619 8.276A4.966 4.966 0 014.756 28H4v-.759a4.967 4.967 0 011.464-3.535l1.91-1.91 2.829 2.828zM27.415 7.414l-12.261 12.26-2.829-2.828 12.262-12.26a2.047 2.047 0 012.828 0 2 2 0 010 2.828z" }]]; +export const PAINT_BRUSH_ALT = svg( + ["path", { d: "M28.828 3.172a4.094 4.094 0 00-5.656 0L4.05 22.292A6.954 6.954 0 002 27.242V30h2.756a6.952 6.952 0 004.95-2.05L28.828 8.829a3.999 3.999 0 000-5.657zM10.91 18.26l2.829 2.829-2.122 2.121-2.828-2.828zm-2.619 8.276A4.966 4.966 0 014.756 28H4v-.759a4.967 4.967 0 011.464-3.535l1.91-1.91 2.829 2.828zM27.415 7.414l-12.261 12.26-2.829-2.828 12.262-12.26a2.047 2.047 0 012.828 0 2 2 0 010 2.828z" }] +); diff --git a/packages/hiccup-carbon-icons/src/paint-brush.ts b/packages/hiccup-carbon-icons/src/paint-brush.ts index 5289b31629..5f76038d5e 100644 --- a/packages/hiccup-carbon-icons/src/paint-brush.ts +++ b/packages/hiccup-carbon-icons/src/paint-brush.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAINT_BRUSH */ // prettier-ignore -export const PAINT_BRUSH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.83 23.17L23 17.33V13a1 1 0 00-.29-.71l-10-10a1 1 0 00-1.42 0l-9 9a1 1 0 000 1.42l10 10A1 1 0 0013 23h4.34l5.83 5.84a4 4 0 005.66-5.66zM6 10.41l2.29 2.3 1.42-1.42L7.41 9 9 7.41l4.29 4.3 1.42-1.42L10.41 6 12 4.41 18.59 11 11 18.59 4.41 12zm21.41 17a2 2 0 01-2.82 0l-6.13-6.12a1.8 1.8 0 00-.71-.29h-4.34l-1-1L20 12.41l1 1v4.34a1 1 0 00.29.7l6.12 6.14a2 2 0 010 2.82z" }]]; +export const PAINT_BRUSH = svg( + ["path", { d: "M28.83 23.17L23 17.33V13a1 1 0 00-.29-.71l-10-10a1 1 0 00-1.42 0l-9 9a1 1 0 000 1.42l10 10A1 1 0 0013 23h4.34l5.83 5.84a4 4 0 005.66-5.66zM6 10.41l2.29 2.3 1.42-1.42L7.41 9 9 7.41l4.29 4.3 1.42-1.42L10.41 6 12 4.41 18.59 11 11 18.59 4.41 12zm21.41 17a2 2 0 01-2.82 0l-6.13-6.12a1.8 1.8 0 00-.71-.29h-4.34l-1-1L20 12.41l1 1v4.34a1 1 0 00.29.7l6.12 6.14a2 2 0 010 2.82z" }] +); diff --git a/packages/hiccup-carbon-icons/src/panel-expansion.ts b/packages/hiccup-carbon-icons/src/panel-expansion.ts index 163c166ca4..5981767fa1 100644 --- a/packages/hiccup-carbon-icons/src/panel-expansion.ts +++ b/packages/hiccup-carbon-icons/src/panel-expansion.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PANEL_EXPANSION */ // prettier-ignore -export const PANEL_EXPANSION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 6H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V8a2 2 0 00-2-2zm-6 8V8h6v6zM26 6h-6a2 2 0 00-2 2v16a2 2 0 002 2h6a2 2 0 002-2V8a2 2 0 00-2-2zm-6 18V8h6v16z" }]]; +export const PANEL_EXPANSION = svg( + ["path", { d: "M12 6H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V8a2 2 0 00-2-2zm-6 8V8h6v6zM26 6h-6a2 2 0 00-2 2v16a2 2 0 002 2h6a2 2 0 002-2V8a2 2 0 00-2-2zm-6 18V8h6v16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/paragraph.ts b/packages/hiccup-carbon-icons/src/paragraph.ts index 848d736b88..90f89716a8 100644 --- a/packages/hiccup-carbon-icons/src/paragraph.ts +++ b/packages/hiccup-carbon-icons/src/paragraph.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PARAGRAPH */ // prettier-ignore -export const PARAGRAPH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 4H13a7 7 0 000 14v10h2V6h5v22h2V6h5zM13 16a5 5 0 010-10z" }]]; +export const PARAGRAPH = svg( + ["path", { d: "M27 4H13a7 7 0 000 14v10h2V6h5v22h2V6h5zM13 16a5 5 0 010-10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/parent-child.ts b/packages/hiccup-carbon-icons/src/parent-child.ts index d580dd1ff3..83691f6a2b 100644 --- a/packages/hiccup-carbon-icons/src/parent-child.ts +++ b/packages/hiccup-carbon-icons/src/parent-child.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PARENT_CHILD */ // prettier-ignore -export const PARENT_CHILD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 12a2 2 0 002-2V4a2 2 0 00-2-2H4a2 2 0 00-2 2v6a2 2 0 002 2h11v4H9a2 2 0 00-2 2v4H4a2 2 0 00-2 2v4a2 2 0 002 2h8a2 2 0 002-2v-4a2 2 0 00-2-2H9v-4h14v4h-3a2 2 0 00-2 2v4a2 2 0 002 2h8a2 2 0 002-2v-4a2 2 0 00-2-2h-3v-4a2 2 0 00-2-2h-6v-4zM12 28H4v-4h8zm16 0h-8v-4h8zM4 4h24v6H4z" }]]; +export const PARENT_CHILD = svg( + ["path", { d: "M28 12a2 2 0 002-2V4a2 2 0 00-2-2H4a2 2 0 00-2 2v6a2 2 0 002 2h11v4H9a2 2 0 00-2 2v4H4a2 2 0 00-2 2v4a2 2 0 002 2h8a2 2 0 002-2v-4a2 2 0 00-2-2H9v-4h14v4h-3a2 2 0 00-2 2v4a2 2 0 002 2h8a2 2 0 002-2v-4a2 2 0 00-2-2h-3v-4a2 2 0 00-2-2h-6v-4zM12 28H4v-4h8zm16 0h-8v-4h8zM4 4h24v6H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/partly-cloudy-night.ts b/packages/hiccup-carbon-icons/src/partly-cloudy-night.ts index 1e304b323e..73486d2c84 100644 --- a/packages/hiccup-carbon-icons/src/partly-cloudy-night.ts +++ b/packages/hiccup-carbon-icons/src/partly-cloudy-night.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PARTLY_CLOUDY_NIGHT */ // prettier-ignore -export const PARTLY_CLOUDY_NIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 19a4.974 4.974 0 00-3.206-4.658A6.971 6.971 0 0013.758 12.9a13.142 13.142 0 01.131-8.52A1.015 1.015 0 0012.98 3a.983.983 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.041 13.041 0 0010.29-5.038A4.99 4.99 0 0030 19zm-15.297 7.998a11.095 11.095 0 01-3.2-21.584 15.182 15.182 0 00.844 9.367A4.988 4.988 0 0015 24h7.677a11.1 11.1 0 01-7.556 2.998c-.138 0-.278.004-.418 0zM25 22H15a2.994 2.994 0 01-.696-5.908l.658-.157.099-.67a4.992 4.992 0 019.878 0l.099.67.658.157A2.994 2.994 0 0125 22z" }]]; +export const PARTLY_CLOUDY_NIGHT = svg( + ["path", { d: "M30 19a4.974 4.974 0 00-3.206-4.658A6.971 6.971 0 0013.758 12.9a13.142 13.142 0 01.131-8.52A1.015 1.015 0 0012.98 3a.983.983 0 00-.175.016 13.096 13.096 0 001.825 25.981c.164.006.328 0 .49 0a13.041 13.041 0 0010.29-5.038A4.99 4.99 0 0030 19zm-15.297 7.998a11.095 11.095 0 01-3.2-21.584 15.182 15.182 0 00.844 9.367A4.988 4.988 0 0015 24h7.677a11.1 11.1 0 01-7.556 2.998c-.138 0-.278.004-.418 0zM25 22H15a2.994 2.994 0 01-.696-5.908l.658-.157.099-.67a4.992 4.992 0 019.878 0l.099.67.658.157A2.994 2.994 0 0125 22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/partly-cloudy.ts b/packages/hiccup-carbon-icons/src/partly-cloudy.ts index f9dd794c35..c39d39753d 100644 --- a/packages/hiccup-carbon-icons/src/partly-cloudy.ts +++ b/packages/hiccup-carbon-icons/src/partly-cloudy.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PARTLY_CLOUDY */ // prettier-ignore -export const PARTLY_CLOUDY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 15h4v2h-4zM23 7.587l3-3L27.416 6l-3 3zM15 1h2v4h-2zM4.586 26l3-3 1.415 1.414-3 3zM4.586 6L6 4.587l3 3-1.414 1.415zM1 15h4v2H1z" }], - ["path", { d: "M26.794 20.342a6.962 6.962 0 00-1.868-3.267A8.485 8.485 0 0025 16a9 9 0 10-14.585 7.033A4.977 4.977 0 0015 30h10a4.995 4.995 0 001.794-9.658zM9 16a6.995 6.995 0 0113.985-.297A6.888 6.888 0 0020 15a7.04 7.04 0 00-6.794 5.342 4.986 4.986 0 00-1.644 1.048A6.968 6.968 0 019 16zm16 12H15a2.994 2.994 0 01-.696-5.908l.658-.157.099-.67a4.992 4.992 0 019.878 0l.099.67.658.156A2.994 2.994 0 0125 28z" }]]; +export const PARTLY_CLOUDY = svg( + ["path", { d: "M27 15h4v2h-4zM23 7.587l3-3L27.416 6l-3 3zM15 1h2v4h-2zM4.586 26l3-3 1.415 1.414-3 3zM4.586 6L6 4.587l3 3-1.414 1.415zM1 15h4v2H1z" }], + ["path", { d: "M26.794 20.342a6.962 6.962 0 00-1.868-3.267A8.485 8.485 0 0025 16a9 9 0 10-14.585 7.033A4.977 4.977 0 0015 30h10a4.995 4.995 0 001.794-9.658zM9 16a6.995 6.995 0 0113.985-.297A6.888 6.888 0 0020 15a7.04 7.04 0 00-6.794 5.342 4.986 4.986 0 00-1.644 1.048A6.968 6.968 0 019 16zm16 12H15a2.994 2.994 0 01-.696-5.908l.658-.157.099-.67a4.992 4.992 0 019.878 0l.099.67.658.156A2.994 2.994 0 0125 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/partnership.ts b/packages/hiccup-carbon-icons/src/partnership.ts index 19b3a9f008..96f5d20c65 100644 --- a/packages/hiccup-carbon-icons/src/partnership.ts +++ b/packages/hiccup-carbon-icons/src/partnership.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PARTNERSHIP */ // prettier-ignore -export const PARTNERSHIP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 9a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM24 9a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM26 30h-4a2 2 0 01-2-2v-7h2v7h4v-9h2v-6a1 1 0 00-1-1h-6.42L16 20l-4.58-8H5a1 1 0 00-1 1v6h2v9h4v-7h2v7a2 2 0 01-2 2H6a2 2 0 01-2-2v-7a2 2 0 01-2-2v-6a3 3 0 013-3h7.58L16 16l3.42-6H27a3 3 0 013 3v6a2 2 0 01-2 2v7a2 2 0 01-2 2z" }]]; +export const PARTNERSHIP = svg( + ["path", { d: "M8 9a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM24 9a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM26 30h-4a2 2 0 01-2-2v-7h2v7h4v-9h2v-6a1 1 0 00-1-1h-6.42L16 20l-4.58-8H5a1 1 0 00-1 1v6h2v9h4v-7h2v7a2 2 0 01-2 2H6a2 2 0 01-2-2v-7a2 2 0 01-2-2v-6a3 3 0 013-3h7.58L16 16l3.42-6H27a3 3 0 013 3v6a2 2 0 01-2 2v7a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/password.ts b/packages/hiccup-carbon-icons/src/password.ts index e2097bd27d..fe1950a9f7 100644 --- a/packages/hiccup-carbon-icons/src/password.ts +++ b/packages/hiccup-carbon-icons/src/password.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PASSWORD */ // prettier-ignore -export const PASSWORD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 2a9 9 0 00-9 9 8.87 8.87 0 00.39 2.61L2 24v6h6l10.39-10.39A9 9 0 0030 11.74a8.77 8.77 0 00-1.65-6A9 9 0 0021 2zm0 16a7 7 0 01-2-.3l-1.15-.35-.85.85-3.18 3.18L12.41 20 11 21.41l1.38 1.38-1.59 1.59L9.41 23 8 24.41l1.38 1.38L7.17 28H4v-3.17L13.8 15l.85-.85-.29-.95a7.14 7.14 0 013.4-8.44 7 7 0 0110.24 6 6.69 6.69 0 01-1.09 4A7 7 0 0121 18z" }], - ["circle", - { - r: 2, - cy: 10, - cx: 22, - }]]; +export const PASSWORD = svg( + ["path", { d: "M21 2a9 9 0 00-9 9 8.87 8.87 0 00.39 2.61L2 24v6h6l10.39-10.39A9 9 0 0030 11.74a8.77 8.77 0 00-1.65-6A9 9 0 0021 2zm0 16a7 7 0 01-2-.3l-1.15-.35-.85.85-3.18 3.18L12.41 20 11 21.41l1.38 1.38-1.59 1.59L9.41 23 8 24.41l1.38 1.38L7.17 28H4v-3.17L13.8 15l.85-.85-.29-.95a7.14 7.14 0 013.4-8.44 7 7 0 0110.24 6 6.69 6.69 0 01-1.09 4A7 7 0 0121 18z" }], + ["circle", + { + r: 2, + cy: 10, + cx: 22, + }] +); diff --git a/packages/hiccup-carbon-icons/src/paste.ts b/packages/hiccup-carbon-icons/src/paste.ts index 4972bee0cd..e9fabdea1d 100644 --- a/packages/hiccup-carbon-icons/src/paste.ts +++ b/packages/hiccup-carbon-icons/src/paste.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PASTE */ // prettier-ignore -export const PASTE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 20h-8.17l2.58-2.59L19 16l-5 5 5 5 1.41-1.41L17.83 22H26v8h2v-8a2 2 0 00-2-2z" }], - ["path", { d: "M23.71 9.29l-7-7A1 1 0 0016 2H6a2 2 0 00-2 2v24a2 2 0 002 2h8v-2H6V4h8v6a2 2 0 002 2h6v2h2v-4a1 1 0 00-.29-.71zM16 4.41L21.59 10H16z" }]]; +export const PASTE = svg( + ["path", { d: "M26 20h-8.17l2.58-2.59L19 16l-5 5 5 5 1.41-1.41L17.83 22H26v8h2v-8a2 2 0 00-2-2z" }], + ["path", { d: "M23.71 9.29l-7-7A1 1 0 0016 2H6a2 2 0 00-2 2v24a2 2 0 002 2h8v-2H6V4h8v6a2 2 0 002 2h6v2h2v-4a1 1 0 00-.29-.71zM16 4.41L21.59 10H16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pause-filled.ts b/packages/hiccup-carbon-icons/src/pause-filled.ts index 60ef76be41..bbb14a0357 100644 --- a/packages/hiccup-carbon-icons/src/pause-filled.ts +++ b/packages/hiccup-carbon-icons/src/pause-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAUSE_FILLED */ // prettier-ignore -export const PAUSE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 6h-2a2 2 0 00-2 2v16a2 2 0 002 2h2a2 2 0 002-2V8a2 2 0 00-2-2zM22 6h-2a2 2 0 00-2 2v16a2 2 0 002 2h2a2 2 0 002-2V8a2 2 0 00-2-2z" }]]; +export const PAUSE_FILLED = svg( + ["path", { d: "M12 6h-2a2 2 0 00-2 2v16a2 2 0 002 2h2a2 2 0 002-2V8a2 2 0 00-2-2zM22 6h-2a2 2 0 00-2 2v16a2 2 0 002 2h2a2 2 0 002-2V8a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pause-outline-filled.ts b/packages/hiccup-carbon-icons/src/pause-outline-filled.ts index 6f1b6c80ca..db10fcb302 100644 --- a/packages/hiccup-carbon-icons/src/pause-outline-filled.ts +++ b/packages/hiccup-carbon-icons/src/pause-outline-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAUSE_OUTLINE_FILLED */ // prettier-ignore -export const PAUSE_OUTLINE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-2 20h-2V10h2zm6 0h-2V10h2z" }]]; +export const PAUSE_OUTLINE_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-2 20h-2V10h2zm6 0h-2V10h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pause-outline.ts b/packages/hiccup-carbon-icons/src/pause-outline.ts index 5dcdc3769c..7a82ff00df 100644 --- a/packages/hiccup-carbon-icons/src/pause-outline.ts +++ b/packages/hiccup-carbon-icons/src/pause-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAUSE_OUTLINE */ // prettier-ignore -export const PAUSE_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 10h-2v12h2V10zM20 10h-2v12h2V10z" }], - ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }]]; +export const PAUSE_OUTLINE = svg( + ["path", { d: "M14 10h-2v12h2V10zM20 10h-2v12h2V10z" }], + ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pause.ts b/packages/hiccup-carbon-icons/src/pause.ts index a0f10d59bc..3fdd8feece 100644 --- a/packages/hiccup-carbon-icons/src/pause.ts +++ b/packages/hiccup-carbon-icons/src/pause.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PAUSE */ // prettier-ignore -export const PAUSE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 8v16H8V8h4m0-2H8a2 2 0 00-2 2v16a2 2 0 002 2h4a2 2 0 002-2V8a2 2 0 00-2-2zM24 8v16h-4V8h4m0-2h-4a2 2 0 00-2 2v16a2 2 0 002 2h4a2 2 0 002-2V8a2 2 0 00-2-2z" }]]; +export const PAUSE = svg( + ["path", { d: "M12 8v16H8V8h4m0-2H8a2 2 0 00-2 2v16a2 2 0 002 2h4a2 2 0 002-2V8a2 2 0 00-2-2zM24 8v16h-4V8h4m0-2h-4a2 2 0 00-2 2v16a2 2 0 002 2h4a2 2 0 002-2V8a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pdf-reference.ts b/packages/hiccup-carbon-icons/src/pdf-reference.ts index e8720e7916..5409b9ec8b 100644 --- a/packages/hiccup-carbon-icons/src/pdf-reference.ts +++ b/packages/hiccup-carbon-icons/src/pdf-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PDF_REFERENCE */ // prettier-ignore -export const PDF_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM22 16h2v-6h5V8h-5V4h6V2h-8v14zM16 2h-4v14h4a4 4 0 004-4V6a4 4 0 00-4-4zm2 10a2 2 0 01-2 2h-2V4h2a2 2 0 012 2zM8 2H2v14h2v-5h4a2 2 0 002-2V4a2 2 0 00-2-2zm0 7H4V4h4z" }]]; +export const PDF_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM22 16h2v-6h5V8h-5V4h6V2h-8v14zM16 2h-4v14h4a4 4 0 004-4V6a4 4 0 00-4-4zm2 10a2 2 0 01-2 2h-2V4h2a2 2 0 012 2zM8 2H2v14h2v-5h4a2 2 0 002-2V4a2 2 0 00-2-2zm0 7H4V4h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pdf.ts b/packages/hiccup-carbon-icons/src/pdf.ts index 60286b98a2..9cbf430d83 100644 --- a/packages/hiccup-carbon-icons/src/pdf.ts +++ b/packages/hiccup-carbon-icons/src/pdf.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PDF */ // prettier-ignore -export const PDF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 11V9h-8v14h2v-6h5v-2h-5v-4h6zM8 9H2v14h2v-5h4a2 2 0 002-2v-5a2 2 0 00-2-2zm0 7H4v-5h4zM16 23h-4V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2h-2z" }]]; +export const PDF = svg( + ["path", { d: "M30 11V9h-8v14h2v-6h5v-2h-5v-4h6zM8 9H2v14h2v-5h4a2 2 0 002-2v-5a2 2 0 00-2-2zm0 7H4v-5h4zM16 23h-4V9h4a4 4 0 014 4v6a4 4 0 01-4 4zm-2-2h2a2 2 0 002-2v-6a2 2 0 00-2-2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pedestrian-child.ts b/packages/hiccup-carbon-icons/src/pedestrian-child.ts index 80f040d7d3..50e4284bb1 100644 --- a/packages/hiccup-carbon-icons/src/pedestrian-child.ts +++ b/packages/hiccup-carbon-icons/src/pedestrian-child.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PEDESTRIAN_CHILD */ // prettier-ignore -export const PEDESTRIAN_CHILD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 16h-8.532l-5-6H5a3.003 3.003 0 00-3 3v6a2.002 2.002 0 002 2v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-7h-2v7H6v-9H4v-6a1 1 0 011-1h6.532l5 6H26a1 1 0 011 1v3h-2v6h-3v-6h-2v6a2.002 2.002 0 002 2h3a2.002 2.002 0 002-2v-4a2.002 2.002 0 002-2v-3a3.003 3.003 0 00-3-3z" }], - ["path", { d: "M23.5 15a3.5 3.5 0 113.5-3.5 3.504 3.504 0 01-3.5 3.5zm0-5a1.5 1.5 0 101.5 1.5 1.502 1.502 0 00-1.5-1.5zM8 9a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }]]; +export const PEDESTRIAN_CHILD = svg( + ["path", { d: "M26 16h-8.532l-5-6H5a3.003 3.003 0 00-3 3v6a2.002 2.002 0 002 2v7a2.002 2.002 0 002 2h4a2.002 2.002 0 002-2v-7h-2v7H6v-9H4v-6a1 1 0 011-1h6.532l5 6H26a1 1 0 011 1v3h-2v6h-3v-6h-2v6a2.002 2.002 0 002 2h3a2.002 2.002 0 002-2v-4a2.002 2.002 0 002-2v-3a3.003 3.003 0 00-3-3z" }], + ["path", { d: "M23.5 15a3.5 3.5 0 113.5-3.5 3.504 3.504 0 01-3.5 3.5zm0-5a1.5 1.5 0 101.5 1.5 1.502 1.502 0 00-1.5-1.5zM8 9a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pedestrian.ts b/packages/hiccup-carbon-icons/src/pedestrian.ts index a9b64d169c..1f67f1984b 100644 --- a/packages/hiccup-carbon-icons/src/pedestrian.ts +++ b/packages/hiccup-carbon-icons/src/pedestrian.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PEDESTRIAN */ // prettier-ignore -export const PEDESTRIAN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21.677 14l-1.245-3.114A2.986 2.986 0 0017.646 9h-4.092a3.002 3.002 0 00-1.544.428L7 12.434V18h2v-4.434l3-1.8v11.931l-3.462 5.194L10.202 30 14 24.303V11h3.646a.995.995 0 01.928.629L20.323 16H26v-2z" }], - ["path", { d: "M17.051 18.316L19 24.162V30h2v-6.162l-2.051-6.154-1.898.632zM16.5 8A3.5 3.5 0 1120 4.5 3.504 3.504 0 0116.5 8zm0-5A1.5 1.5 0 1018 4.5 1.502 1.502 0 0016.5 3z" }]]; +export const PEDESTRIAN = svg( + ["path", { d: "M21.677 14l-1.245-3.114A2.986 2.986 0 0017.646 9h-4.092a3.002 3.002 0 00-1.544.428L7 12.434V18h2v-4.434l3-1.8v11.931l-3.462 5.194L10.202 30 14 24.303V11h3.646a.995.995 0 01.928.629L20.323 16H26v-2z" }], + ["path", { d: "M17.051 18.316L19 24.162V30h2v-6.162l-2.051-6.154-1.898.632zM16.5 8A3.5 3.5 0 1120 4.5 3.504 3.504 0 0116.5 8zm0-5A1.5 1.5 0 1018 4.5 1.502 1.502 0 0016.5 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pending-filled.ts b/packages/hiccup-carbon-icons/src/pending-filled.ts index eeea356c47..3b0a1c0a16 100644 --- a/packages/hiccup-carbon-icons/src/pending-filled.ts +++ b/packages/hiccup-carbon-icons/src/pending-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PENDING_FILLED */ // prettier-ignore -export const PENDING_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM8 18a2 2 0 112-2 2 2 0 01-2 2zm8 0a2 2 0 112-2 2 2 0 01-2 2zm8 0a2 2 0 112-2 2 2 0 01-2 2z" }]]; +export const PENDING_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zM8 18a2 2 0 112-2 2 2 0 01-2 2zm8 0a2 2 0 112-2 2 2 0 01-2 2zm8 0a2 2 0 112-2 2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pending.ts b/packages/hiccup-carbon-icons/src/pending.ts index f461b3c662..9cdb65d309 100644 --- a/packages/hiccup-carbon-icons/src/pending.ts +++ b/packages/hiccup-carbon-icons/src/pending.ts @@ -1,25 +1,27 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PENDING */ // prettier-ignore -export const PENDING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 16, - cx: 9, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 23, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 16, - }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const PENDING = svg( + ["circle", + { + r: 2, + cy: 16, + cx: 9, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 23, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 16, + }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/percentage-filled.ts b/packages/hiccup-carbon-icons/src/percentage-filled.ts index f16c1d78dc..2e5c6e8111 100644 --- a/packages/hiccup-carbon-icons/src/percentage-filled.ts +++ b/packages/hiccup-carbon-icons/src/percentage-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PERCENTAGE_FILLED */ // prettier-ignore -export const PERCENTAGE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9 14a5 5 0 115-5 5.005 5.005 0 01-5 5zM4 26.586L26.585 4 28 5.415 5.414 28zM23 28a5 5 0 115-5 5.005 5.005 0 01-5 5z" }]]; +export const PERCENTAGE_FILLED = svg( + ["path", { d: "M9 14a5 5 0 115-5 5.005 5.005 0 01-5 5zM4 26.586L26.585 4 28 5.415 5.414 28zM23 28a5 5 0 115-5 5.005 5.005 0 01-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/percentage.ts b/packages/hiccup-carbon-icons/src/percentage.ts index 04276612ce..44cb5ee500 100644 --- a/packages/hiccup-carbon-icons/src/percentage.ts +++ b/packages/hiccup-carbon-icons/src/percentage.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PERCENTAGE */ // prettier-ignore -export const PERCENTAGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9 14a5 5 0 115-5 5.005 5.005 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3zM4 26.586L26.585 4 28 5.415 5.414 28zM23 28a5 5 0 115-5 5.005 5.005 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }]]; +export const PERCENTAGE = svg( + ["path", { d: "M9 14a5 5 0 115-5 5.005 5.005 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3zM4 26.586L26.585 4 28 5.415 5.414 28zM23 28a5 5 0 115-5 5.005 5.005 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/person-favorite.ts b/packages/hiccup-carbon-icons/src/person-favorite.ts index 7c2a60856f..033cbcab02 100644 --- a/packages/hiccup-carbon-icons/src/person-favorite.ts +++ b/packages/hiccup-carbon-icons/src/person-favorite.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PERSON_FAVORITE */ // prettier-ignore -export const PERSON_FAVORITE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 31H6a2.006 2.006 0 01-2-2v-7a2.006 2.006 0 01-2-2v-6a2.946 2.946 0 013-3h6a2.946 2.946 0 013 3v6a2.006 2.006 0 01-2 2v7a2.006 2.006 0 01-2 2zM5 13a.945.945 0 00-1 1v6h2v9h4v-9h2v-6a.945.945 0 00-1-1zM8 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM28.766 4.256A4.212 4.212 0 0023 4.032a4.212 4.212 0 00-5.766.224 4.319 4.319 0 000 6.044l5.764 5.84.002-.002.002.001 5.764-5.839a4.319 4.319 0 000-6.044zm-1.424 4.639l-4.34 4.397L23 13.29l-.002.002-4.34-4.397a2.308 2.308 0 010-3.234 2.264 2.264 0 013.156 0l1.181 1.207.005-.005.005.005 1.18-1.207a2.264 2.264 0 013.157 0 2.308 2.308 0 010 3.234z" }]]; +export const PERSON_FAVORITE = svg( + ["path", { d: "M10 31H6a2.006 2.006 0 01-2-2v-7a2.006 2.006 0 01-2-2v-6a2.946 2.946 0 013-3h6a2.946 2.946 0 013 3v6a2.006 2.006 0 01-2 2v7a2.006 2.006 0 01-2 2zM5 13a.945.945 0 00-1 1v6h2v9h4v-9h2v-6a.945.945 0 00-1-1zM8 10a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM28.766 4.256A4.212 4.212 0 0023 4.032a4.212 4.212 0 00-5.766.224 4.319 4.319 0 000 6.044l5.764 5.84.002-.002.002.001 5.764-5.839a4.319 4.319 0 000-6.044zm-1.424 4.639l-4.34 4.397L23 13.29l-.002.002-4.34-4.397a2.308 2.308 0 010-3.234 2.264 2.264 0 013.156 0l1.181 1.207.005-.005.005.005 1.18-1.207a2.264 2.264 0 013.157 0 2.308 2.308 0 010 3.234z" }] +); diff --git a/packages/hiccup-carbon-icons/src/person.ts b/packages/hiccup-carbon-icons/src/person.ts index de74b7879f..10914c134b 100644 --- a/packages/hiccup-carbon-icons/src/person.ts +++ b/packages/hiccup-carbon-icons/src/person.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PERSON */ // prettier-ignore -export const PERSON: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 30h-4a2 2 0 01-2-2v-7a2 2 0 01-2-2v-6a3 3 0 013-3h6a3 3 0 013 3v6a2 2 0 01-2 2v7a2 2 0 01-2 2zm-5-18a.94.94 0 00-1 1v6h2v9h4v-9h2v-6a.94.94 0 00-1-1zM16 9a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2z" }]]; +export const PERSON = svg( + ["path", { d: "M18 30h-4a2 2 0 01-2-2v-7a2 2 0 01-2-2v-6a3 3 0 013-3h6a3 3 0 013 3v6a2 2 0 01-2 2v7a2 2 0 01-2 2zm-5-18a.94.94 0 00-1 1v6h2v9h4v-9h2v-6a.94.94 0 00-1-1zM16 9a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/phone-filled.ts b/packages/hiccup-carbon-icons/src/phone-filled.ts index 72118158bf..9ee5a361f8 100644 --- a/packages/hiccup-carbon-icons/src/phone-filled.ts +++ b/packages/hiccup-carbon-icons/src/phone-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PHONE_FILLED */ // prettier-ignore -export const PHONE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20.33 21.48l2.24-2.24a2.19 2.19 0 012.34-.48l2.73 1.09a2.18 2.18 0 011.36 2v5A2.17 2.17 0 0126.72 29C7.59 27.81 3.73 11.61 3 5.41A2.17 2.17 0 015.17 3H10a2.16 2.16 0 012 1.36l1.09 2.73a2.16 2.16 0 01-.47 2.34l-2.24 2.24s1.29 8.73 9.95 9.81z" }]]; +export const PHONE_FILLED = svg( + ["path", { d: "M20.33 21.48l2.24-2.24a2.19 2.19 0 012.34-.48l2.73 1.09a2.18 2.18 0 011.36 2v5A2.17 2.17 0 0126.72 29C7.59 27.81 3.73 11.61 3 5.41A2.17 2.17 0 015.17 3H10a2.16 2.16 0 012 1.36l1.09 2.73a2.16 2.16 0 01-.47 2.34l-2.24 2.24s1.29 8.73 9.95 9.81z" }] +); diff --git a/packages/hiccup-carbon-icons/src/phone-off-filled.ts b/packages/hiccup-carbon-icons/src/phone-off-filled.ts index e0439b0af6..70858b8db2 100644 --- a/packages/hiccup-carbon-icons/src/phone-off-filled.ts +++ b/packages/hiccup-carbon-icons/src/phone-off-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PHONE_OFF_FILLED */ // prettier-ignore -export const PHONE_OFF_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.74 19.56l-2.52-1a2 2 0 00-2.15.44L20 21.06a9.93 9.93 0 01-5.35-2.29L30 3.41 28.59 2 2 28.59 3.41 30l7.93-7.92c3.24 3.12 7.89 5.5 14.55 5.92A2 2 0 0028 26v-4.59a2 2 0 00-1.26-1.85zM8.15 18.19l3.52-3.52a11.68 11.68 0 01-.82-2.67l2.07-2.07a2 2 0 00.44-2.15l-1-2.52A2 2 0 0010.5 4H6a2 2 0 00-2 2.22 29 29 0 004.15 11.97z" }]]; +export const PHONE_OFF_FILLED = svg( + ["path", { d: "M26.74 19.56l-2.52-1a2 2 0 00-2.15.44L20 21.06a9.93 9.93 0 01-5.35-2.29L30 3.41 28.59 2 2 28.59 3.41 30l7.93-7.92c3.24 3.12 7.89 5.5 14.55 5.92A2 2 0 0028 26v-4.59a2 2 0 00-1.26-1.85zM8.15 18.19l3.52-3.52a11.68 11.68 0 01-.82-2.67l2.07-2.07a2 2 0 00.44-2.15l-1-2.52A2 2 0 0010.5 4H6a2 2 0 00-2 2.22 29 29 0 004.15 11.97z" }] +); diff --git a/packages/hiccup-carbon-icons/src/phone-off.ts b/packages/hiccup-carbon-icons/src/phone-off.ts index 57f9e9988d..4da53c6029 100644 --- a/packages/hiccup-carbon-icons/src/phone-off.ts +++ b/packages/hiccup-carbon-icons/src/phone-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PHONE_OFF */ // prettier-ignore -export const PHONE_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9.19 18.56A25.66 25.66 0 015 6.08V6a1 1 0 011-1h5.28l1.5 3.77-2.84 2.87.06.48a13 13 0 001.46 4.17l1.46-1.46a9.34 9.34 0 01-.84-2.52l2.13-2.15A2 2 0 0014.65 8l-1.52-3.74A2 2 0 0011.27 3H5.76A3 3 0 003 6.23 28 28 0 007.79 20zM27.77 18.86L24 17.35a2 2 0 00-2.17.41l-2.17 2.15A9.17 9.17 0 0115.45 18L30 3.41 28.59 2 2 28.59 3.41 30l7-7c3.38 3.18 8.28 5.62 15.39 6h.2a3 3 0 003-3v-5.28a2 2 0 00-1.23-1.86zM27 26v.06a1 1 0 01-1.06.94c-6.51-.37-11-2.54-14.11-5.42L14 19.44A10.77 10.77 0 0019.88 22l.48.06 2.87-2.85L27 20.72z" }]]; +export const PHONE_OFF = svg( + ["path", { d: "M9.19 18.56A25.66 25.66 0 015 6.08V6a1 1 0 011-1h5.28l1.5 3.77-2.84 2.87.06.48a13 13 0 001.46 4.17l1.46-1.46a9.34 9.34 0 01-.84-2.52l2.13-2.15A2 2 0 0014.65 8l-1.52-3.74A2 2 0 0011.27 3H5.76A3 3 0 003 6.23 28 28 0 007.79 20zM27.77 18.86L24 17.35a2 2 0 00-2.17.41l-2.17 2.15A9.17 9.17 0 0115.45 18L30 3.41 28.59 2 2 28.59 3.41 30l7-7c3.38 3.18 8.28 5.62 15.39 6h.2a3 3 0 003-3v-5.28a2 2 0 00-1.23-1.86zM27 26v.06a1 1 0 01-1.06.94c-6.51-.37-11-2.54-14.11-5.42L14 19.44A10.77 10.77 0 0019.88 22l.48.06 2.87-2.85L27 20.72z" }] +); diff --git a/packages/hiccup-carbon-icons/src/phone.ts b/packages/hiccup-carbon-icons/src/phone.ts index db62fb86ce..73b485ac44 100644 --- a/packages/hiccup-carbon-icons/src/phone.ts +++ b/packages/hiccup-carbon-icons/src/phone.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PHONE */ // prettier-ignore -export const PHONE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 29h-.17C6.18 27.87 3.39 11.29 3 6.23A3 3 0 015.76 3h5.51a2 2 0 011.86 1.26L14.65 8a2 2 0 01-.44 2.16l-2.13 2.15a9.37 9.37 0 007.58 7.6l2.17-2.15a2 2 0 012.17-.41l3.77 1.51A2 2 0 0129 20.72V26a3 3 0 01-3 3zM6 5a1 1 0 00-1 1v.08C5.46 12 8.41 26 25.94 27a1 1 0 001.06-.94v-5.34l-3.77-1.51-2.87 2.85-.48-.06c-8.7-1.09-9.88-9.79-9.88-9.88l-.06-.48 2.84-2.87L11.28 5z" }]]; +export const PHONE = svg( + ["path", { d: "M26 29h-.17C6.18 27.87 3.39 11.29 3 6.23A3 3 0 015.76 3h5.51a2 2 0 011.86 1.26L14.65 8a2 2 0 01-.44 2.16l-2.13 2.15a9.37 9.37 0 007.58 7.6l2.17-2.15a2 2 0 012.17-.41l3.77 1.51A2 2 0 0129 20.72V26a3 3 0 01-3 3zM6 5a1 1 0 00-1 1v.08C5.46 12 8.41 26 25.94 27a1 1 0 001.06-.94v-5.34l-3.77-1.51-2.87 2.85-.48-.06c-8.7-1.09-9.88-9.79-9.88-9.88l-.06-.48 2.84-2.87L11.28 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/phrase-sentiment.ts b/packages/hiccup-carbon-icons/src/phrase-sentiment.ts index cc0a312d01..038c274261 100644 --- a/packages/hiccup-carbon-icons/src/phrase-sentiment.ts +++ b/packages/hiccup-carbon-icons/src/phrase-sentiment.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PHRASE_SENTIMENT */ // prettier-ignore -export const PHRASE_SENTIMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18.303 10a2.662 2.662 0 00-1.908.806l-.393.405-.397-.405a2.662 2.662 0 00-3.816 0 2.8 2.8 0 000 3.896L16.002 19l4.209-4.298a2.8 2.8 0 000-3.896A2.662 2.662 0 0018.303 10z" }], - ["path", { d: "M17.736 30L16 29l4-7h6a1.997 1.997 0 002-2V8a1.997 1.997 0 00-2-2H6a1.997 1.997 0 00-2 2v12a1.997 1.997 0 002 2h9v2H6a4 4 0 01-4-4V8a3.999 3.999 0 014-4h20a3.999 3.999 0 014 4v12a4 4 0 01-4 4h-4.835z" }]]; +export const PHRASE_SENTIMENT = svg( + ["path", { d: "M18.303 10a2.662 2.662 0 00-1.908.806l-.393.405-.397-.405a2.662 2.662 0 00-3.816 0 2.8 2.8 0 000 3.896L16.002 19l4.209-4.298a2.8 2.8 0 000-3.896A2.662 2.662 0 0018.303 10z" }], + ["path", { d: "M17.736 30L16 29l4-7h6a1.997 1.997 0 002-2V8a1.997 1.997 0 00-2-2H6a1.997 1.997 0 00-2 2v12a1.997 1.997 0 002 2h9v2H6a4 4 0 01-4-4V8a3.999 3.999 0 014-4h20a3.999 3.999 0 014 4v12a4 4 0 01-4 4h-4.835z" }] +); diff --git a/packages/hiccup-carbon-icons/src/picnic-area.ts b/packages/hiccup-carbon-icons/src/picnic-area.ts index 4b73f5b5a3..f64fc81edb 100644 --- a/packages/hiccup-carbon-icons/src/picnic-area.ts +++ b/packages/hiccup-carbon-icons/src/picnic-area.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PICNIC_AREA */ // prettier-ignore -export const PICNIC_AREA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 12a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM26 22h-4.153l-.667-4H24v-2H8v2h2.82l-.667 4H6v2h3.82l-.667 4h2.027l.667-4h8.305l.667 4h2.028l-.667-4H26zm-13.82 0l.666-4h6.307l.666 4z" }]]; +export const PICNIC_AREA = svg( + ["path", { d: "M24 12a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM26 22h-4.153l-.667-4H24v-2H8v2h2.82l-.667 4H6v2h3.82l-.667 4h2.027l.667-4h8.305l.667 4h2.028l-.667-4H26zm-13.82 0l.666-4h6.307l.666 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pills-add.ts b/packages/hiccup-carbon-icons/src/pills-add.ts index d5d5912cd8..81abe7bc8d 100644 --- a/packages/hiccup-carbon-icons/src/pills-add.ts +++ b/packages/hiccup-carbon-icons/src/pills-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PILLS_ADD */ // prettier-ignore -export const PILLS_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 14a7.94 7.94 0 00-4 1.083V9A7 7 0 004 9v14a6.986 6.986 0 0012.276 4.577A7.997 7.997 0 1022 14zM11 4a5.006 5.006 0 015 5v6H6V9a5.006 5.006 0 015-5zm0 24a5.006 5.006 0 01-5-5v-6h9.765a7.956 7.956 0 00-.724 8.932A5.015 5.015 0 0111 28zm11 0a6 6 0 116-6 6.007 6.007 0 01-6 6z" }], - ["path", { d: "M25 21h-2v-2h-2v2h-2v2h2v2h2v-2h2v-2z" }]]; +export const PILLS_ADD = svg( + ["path", { d: "M22 14a7.94 7.94 0 00-4 1.083V9A7 7 0 004 9v14a6.986 6.986 0 0012.276 4.577A7.997 7.997 0 1022 14zM11 4a5.006 5.006 0 015 5v6H6V9a5.006 5.006 0 015-5zm0 24a5.006 5.006 0 01-5-5v-6h9.765a7.956 7.956 0 00-.724 8.932A5.015 5.015 0 0111 28zm11 0a6 6 0 116-6 6.007 6.007 0 01-6 6z" }], + ["path", { d: "M25 21h-2v-2h-2v2h-2v2h2v2h2v-2h2v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pills-subtract.ts b/packages/hiccup-carbon-icons/src/pills-subtract.ts index d891f9238f..5ed09548ec 100644 --- a/packages/hiccup-carbon-icons/src/pills-subtract.ts +++ b/packages/hiccup-carbon-icons/src/pills-subtract.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PILLS_SUBTRACT */ // prettier-ignore -export const PILLS_SUBTRACT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 14a7.94 7.94 0 00-4 1.083V9A7 7 0 004 9v14a6.986 6.986 0 0012.276 4.577A7.997 7.997 0 1022 14zM11 4a5.006 5.006 0 015 5v6H6V9a5.006 5.006 0 015-5zm0 24a5.006 5.006 0 01-5-5v-6h9.765a7.956 7.956 0 00-.724 8.932A5.015 5.015 0 0111 28zm11 0a6 6 0 116-6 6.007 6.007 0 01-6 6z" }], - ["path", { d: "M19 21h6v2h-6z" }]]; +export const PILLS_SUBTRACT = svg( + ["path", { d: "M22 14a7.94 7.94 0 00-4 1.083V9A7 7 0 004 9v14a6.986 6.986 0 0012.276 4.577A7.997 7.997 0 1022 14zM11 4a5.006 5.006 0 015 5v6H6V9a5.006 5.006 0 015-5zm0 24a5.006 5.006 0 01-5-5v-6h9.765a7.956 7.956 0 00-.724 8.932A5.015 5.015 0 0111 28zm11 0a6 6 0 116-6 6.007 6.007 0 01-6 6z" }], + ["path", { d: "M19 21h6v2h-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pills.ts b/packages/hiccup-carbon-icons/src/pills.ts index f43cf9c2e5..622ba91b1a 100644 --- a/packages/hiccup-carbon-icons/src/pills.ts +++ b/packages/hiccup-carbon-icons/src/pills.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PILLS */ // prettier-ignore -export const PILLS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 14a7.94 7.94 0 00-4 1.083V9A7 7 0 004 9v14a6.999 6.999 0 0012.286 4.588A7.997 7.997 0 1022 14zm0 2a6.005 6.005 0 015.91 5H16.09A6.005 6.005 0 0122 16zM6 9a5 5 0 0110 0v6H6zm5 19a5.006 5.006 0 01-5-5v-6h9.765a7.957 7.957 0 00-.724 8.931A4.989 4.989 0 0111 28zm11 0a6.005 6.005 0 01-5.91-5h11.82A6.005 6.005 0 0122 28z" }]]; +export const PILLS = svg( + ["path", { d: "M22 14a7.94 7.94 0 00-4 1.083V9A7 7 0 004 9v14a6.999 6.999 0 0012.286 4.588A7.997 7.997 0 1022 14zm0 2a6.005 6.005 0 015.91 5H16.09A6.005 6.005 0 0122 16zM6 9a5 5 0 0110 0v6H6zm5 19a5.006 5.006 0 01-5-5v-6h9.765a7.957 7.957 0 00-.724 8.931A4.989 4.989 0 0111 28zm11 0a6.005 6.005 0 01-5.91-5h11.82A6.005 6.005 0 0122 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pin.ts b/packages/hiccup-carbon-icons/src/pin.ts index d36a0dad04..242643c1c2 100644 --- a/packages/hiccup-carbon-icons/src/pin.ts +++ b/packages/hiccup-carbon-icons/src/pin.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PIN */ // prettier-ignore -export const PIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.59 13.31L30 11.9 20 2l-1.31 1.42 1.18 1.18-11.49 9.72-1.72-1.71L5.25 14l5.66 5.68L2 28.58 3.41 30l8.91-8.91L18 26.75l1.39-1.42-1.71-1.71 9.72-11.49zM16.26 22.2L9.8 15.74 21.29 6 26 10.71z" }]]; +export const PIN = svg( + ["path", { d: "M28.59 13.31L30 11.9 20 2l-1.31 1.42 1.18 1.18-11.49 9.72-1.72-1.71L5.25 14l5.66 5.68L2 28.58 3.41 30l8.91-8.91L18 26.75l1.39-1.42-1.71-1.71 9.72-11.49zM16.26 22.2L9.8 15.74 21.29 6 26 10.71z" }] +); diff --git a/packages/hiccup-carbon-icons/src/plane.ts b/packages/hiccup-carbon-icons/src/plane.ts index 478d617427..6c520b2fe2 100644 --- a/packages/hiccup-carbon-icons/src/plane.ts +++ b/packages/hiccup-carbon-icons/src/plane.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLANE */ // prettier-ignore -export const PLANE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.37 14.75L20 10V6a4 4 0 00-8 0v4l-9.37 4.75a1 1 0 00-.63.93v5a1 1 0 001 1 1 1 0 00.29-.05L12 18v5l-3.45 1.72a1 1 0 00-.55.9V29a1 1 0 001 1 .9.9 0 00.28 0L16 28l6.72 2a.9.9 0 00.28 0 1 1 0 001-1v-3.38a1 1 0 00-.55-.9L20 23v-5l8.71 3.61a1 1 0 00.29.05 1 1 0 001-1v-5a1 1 0 00-.63-.91zM28 19.15L18 15v9.24l4 2v1.43l-6-1.75-6 1.75v-1.43l4-2V15L4 19.15V16.3l10-5.07V6a2 2 0 014 0v5.23l10 5.07z" }]]; +export const PLANE = svg( + ["path", { d: "M29.37 14.75L20 10V6a4 4 0 00-8 0v4l-9.37 4.75a1 1 0 00-.63.93v5a1 1 0 001 1 1 1 0 00.29-.05L12 18v5l-3.45 1.72a1 1 0 00-.55.9V29a1 1 0 001 1 .9.9 0 00.28 0L16 28l6.72 2a.9.9 0 00.28 0 1 1 0 001-1v-3.38a1 1 0 00-.55-.9L20 23v-5l8.71 3.61a1 1 0 00.29.05 1 1 0 001-1v-5a1 1 0 00-.63-.91zM28 19.15L18 15v9.24l4 2v1.43l-6-1.75-6 1.75v-1.43l4-2V15L4 19.15V16.3l10-5.07V6a2 2 0 014 0v5.23l10 5.07z" }] +); diff --git a/packages/hiccup-carbon-icons/src/play-filled-alt.ts b/packages/hiccup-carbon-icons/src/play-filled-alt.ts index 4e2776a108..954c575a44 100644 --- a/packages/hiccup-carbon-icons/src/play-filled-alt.ts +++ b/packages/hiccup-carbon-icons/src/play-filled-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLAY_FILLED_ALT */ // prettier-ignore -export const PLAY_FILLED_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7 28a1 1 0 01-1-1V5a1 1 0 011.501-.865l19 11a1 1 0 010 1.73l-19 11A.998.998 0 017 28z" }]]; +export const PLAY_FILLED_ALT = svg( + ["path", { d: "M7 28a1 1 0 01-1-1V5a1 1 0 011.501-.865l19 11a1 1 0 010 1.73l-19 11A.998.998 0 017 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/play-filled.ts b/packages/hiccup-carbon-icons/src/play-filled.ts index 4929276936..a3534fb8a1 100644 --- a/packages/hiccup-carbon-icons/src/play-filled.ts +++ b/packages/hiccup-carbon-icons/src/play-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLAY_FILLED */ // prettier-ignore -export const PLAY_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm7.48 14.88l-11 6a1 1 0 01-1 0A1 1 0 0111 22V10a1 1 0 01.49-.86 1 1 0 011 0l11 6a1 1 0 010 1.76z" }]]; +export const PLAY_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm7.48 14.88l-11 6a1 1 0 01-1 0A1 1 0 0111 22V10a1 1 0 01.49-.86 1 1 0 011 0l11 6a1 1 0 010 1.76z" }] +); diff --git a/packages/hiccup-carbon-icons/src/play-outline-filled.ts b/packages/hiccup-carbon-icons/src/play-outline-filled.ts index 745be0ceda..a46ab07165 100644 --- a/packages/hiccup-carbon-icons/src/play-outline-filled.ts +++ b/packages/hiccup-carbon-icons/src/play-outline-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLAY_OUTLINE_FILLED */ // prettier-ignore -export const PLAY_OUTLINE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm7.48 14.88l-11 6a1 1 0 01-1 0A1 1 0 0111 22V10a1 1 0 01.49-.86 1 1 0 011 0l11 6a1 1 0 010 1.76z" }], - ["path", { d: "M13 20.32L20.91 16 13 11.69v8.63z" }]]; +export const PLAY_OUTLINE_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm7.48 14.88l-11 6a1 1 0 01-1 0A1 1 0 0111 22V10a1 1 0 01.49-.86 1 1 0 011 0l11 6a1 1 0 010 1.76z" }], + ["path", { d: "M13 20.32L20.91 16 13 11.69v8.63z" }] +); diff --git a/packages/hiccup-carbon-icons/src/play-outline.ts b/packages/hiccup-carbon-icons/src/play-outline.ts index 1715d4d00b..98267abf05 100644 --- a/packages/hiccup-carbon-icons/src/play-outline.ts +++ b/packages/hiccup-carbon-icons/src/play-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLAY_OUTLINE */ // prettier-ignore -export const PLAY_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], - ["path", { d: "M12 23a1 1 0 01-.51-.14A1 1 0 0111 22V10a1 1 0 01.49-.86 1 1 0 011 0l11 6a1 1 0 010 1.76l-11 6a1 1 0 01-.49.1zm1-11.32v8.64L20.91 16z" }]]; +export const PLAY_OUTLINE = svg( + ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], + ["path", { d: "M12 23a1 1 0 01-.51-.14A1 1 0 0111 22V10a1 1 0 01.49-.86 1 1 0 011 0l11 6a1 1 0 010 1.76l-11 6a1 1 0 01-.49.1zm1-11.32v8.64L20.91 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/play.ts b/packages/hiccup-carbon-icons/src/play.ts index 42f72db727..b269b9c300 100644 --- a/packages/hiccup-carbon-icons/src/play.ts +++ b/packages/hiccup-carbon-icons/src/play.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLAY */ // prettier-ignore -export const PLAY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7 28a1 1 0 01-1-1V5a1 1 0 01.5-.87 1 1 0 011 0l19 11a1 1 0 010 1.74l-19 11A1 1 0 017 28zM8 6.73v18.54L24 16z" }]]; +export const PLAY = svg( + ["path", { d: "M7 28a1 1 0 01-1-1V5a1 1 0 01.5-.87 1 1 0 011 0l19 11a1 1 0 010 1.74l-19 11A1 1 0 017 28zM8 6.73v18.54L24 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/playlist.ts b/packages/hiccup-carbon-icons/src/playlist.ts index 336f68a53f..a7463cdf33 100644 --- a/packages/hiccup-carbon-icons/src/playlist.ts +++ b/packages/hiccup-carbon-icons/src/playlist.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLAYLIST */ // prettier-ignore -export const PLAYLIST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 6h18v2H4zM4 12h18v2H4zM4 18h12v2H4zM21 18l7 5-7 5V18z" }]]; +export const PLAYLIST = svg( + ["path", { d: "M4 6h18v2H4zM4 12h18v2H4zM4 18h12v2H4zM21 18l7 5-7 5V18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/plug-filled.ts b/packages/hiccup-carbon-icons/src/plug-filled.ts index 8bd61ca2f2..9bf4ea244c 100644 --- a/packages/hiccup-carbon-icons/src/plug-filled.ts +++ b/packages/hiccup-carbon-icons/src/plug-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLUG_FILLED */ // prettier-ignore -export const PLUG_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 8h-1V2h-2v6h-6V2h-2v6h-1a2 2 0 00-2 2v6a8.007 8.007 0 007 7.93V30h2v-6.07A8.007 8.007 0 0024 16v-6a2 2 0 00-2-2z" }]]; +export const PLUG_FILLED = svg( + ["path", { d: "M22 8h-1V2h-2v6h-6V2h-2v6h-1a2 2 0 00-2 2v6a8.007 8.007 0 007 7.93V30h2v-6.07A8.007 8.007 0 0024 16v-6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/plug.ts b/packages/hiccup-carbon-icons/src/plug.ts index ef9ec87b46..2a639deb54 100644 --- a/packages/hiccup-carbon-icons/src/plug.ts +++ b/packages/hiccup-carbon-icons/src/plug.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PLUG */ // prettier-ignore -export const PLUG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 8h-1V2h-2v6h-6V2h-2v6h-1a2 2 0 00-2 2v6a8.007 8.007 0 007 7.93V30h2v-6.07A8.007 8.007 0 0024 16v-6a2 2 0 00-2-2zm0 8a6 6 0 01-12 0v-6h12z" }]]; +export const PLUG = svg( + ["path", { d: "M22 8h-1V2h-2v6h-6V2h-2v6h-1a2 2 0 00-2 2v6a8.007 8.007 0 007 7.93V30h2v-6.07A8.007 8.007 0 0024 16v-6a2 2 0 00-2-2zm0 8a6 6 0 01-12 0v-6h12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/png.ts b/packages/hiccup-carbon-icons/src/png.ts index 2426426f03..5a1517361c 100644 --- a/packages/hiccup-carbon-icons/src/png.ts +++ b/packages/hiccup-carbon-icons/src/png.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PNG */ // prettier-ignore -export const PNG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 23h-6a2 2 0 01-2-2V11a2 2 0 012-2h6v2h-6v10h4v-4h-2v-2h4zM18 19L14.32 9H12v14h2V13l3.68 10H20V9h-2v10zM4 23H2V9h6a2 2 0 012 2v5a2 2 0 01-2 2H4zm0-7h4v-5H4z" }]]; +export const PNG = svg( + ["path", { d: "M30 23h-6a2 2 0 01-2-2V11a2 2 0 012-2h6v2h-6v10h4v-4h-2v-2h4zM18 19L14.32 9H12v14h2V13l3.68 10H20V9h-2v10zM4 23H2V9h6a2 2 0 012 2v5a2 2 0 01-2 2H4zm0-7h4v-5H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/police.ts b/packages/hiccup-carbon-icons/src/police.ts index c214baccab..002533f731 100644 --- a/packages/hiccup-carbon-icons/src/police.ts +++ b/packages/hiccup-carbon-icons/src/police.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#POLICE */ // prettier-ignore -export const POLICE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 24h2v6h-2z" }], - ["path", { d: "M21 20H7a3.003 3.003 0 01-3-3V6H2v11a5.006 5.006 0 005 5h14a4.942 4.942 0 012.105.481L17 28.586 18.414 30l6.307-6.307A4.96 4.96 0 0126 27v3h2v-3a7.008 7.008 0 00-7-7z" }], - ["path", { d: "M25.275 4.039l-7-2a1.001 1.001 0 00-.55 0l-7 2a1 1 0 00-.695 1.203L11 9.123V11a7 7 0 1014 0V9.123l.97-3.88a1 1 0 00-.695-1.204zM18 4.04l5.795 1.656L23.22 8H19V6h-2v2h-4.219l-.576-2.304zM18 16a5.006 5.006 0 01-5-5v-1h10v1a5.006 5.006 0 01-5 5z" }]]; +export const POLICE = svg( + ["path", { d: "M10 24h2v6h-2z" }], + ["path", { d: "M21 20H7a3.003 3.003 0 01-3-3V6H2v11a5.006 5.006 0 005 5h14a4.942 4.942 0 012.105.481L17 28.586 18.414 30l6.307-6.307A4.96 4.96 0 0126 27v3h2v-3a7.008 7.008 0 00-7-7z" }], + ["path", { d: "M25.275 4.039l-7-2a1.001 1.001 0 00-.55 0l-7 2a1 1 0 00-.695 1.203L11 9.123V11a7 7 0 1014 0V9.123l.97-3.88a1 1 0 00-.695-1.204zM18 4.04l5.795 1.656L23.22 8H19V6h-2v2h-4.219l-.576-2.304zM18 16a5.006 5.006 0 01-5-5v-1h10v1a5.006 5.006 0 01-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/policy.ts b/packages/hiccup-carbon-icons/src/policy.ts index 85f4820991..f2c55719e8 100644 --- a/packages/hiccup-carbon-icons/src/policy.ts +++ b/packages/hiccup-carbon-icons/src/policy.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#POLICY */ // prettier-ignore -export const POLICY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 18a6 6 0 10-10 4.46V30l4-1.893L28 30v-7.54A5.98 5.98 0 0030 18zm-4 8.84l-2-.947-2 .947v-3.19a5.888 5.888 0 004 0zM24 22a4 4 0 114-4 4.005 4.005 0 01-4 4zM9 14h7v2H9zM9 8h10v2H9z" }], - ["path", { d: "M6 30a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4h-2V4H6v24h10v2z" }]]; +export const POLICY = svg( + ["path", { d: "M30 18a6 6 0 10-10 4.46V30l4-1.893L28 30v-7.54A5.98 5.98 0 0030 18zm-4 8.84l-2-.947-2 .947v-3.19a5.888 5.888 0 004 0zM24 22a4 4 0 114-4 4.005 4.005 0 01-4 4zM9 14h7v2H9zM9 8h10v2H9z" }], + ["path", { d: "M6 30a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4h-2V4H6v24h10v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/popup.ts b/packages/hiccup-carbon-icons/src/popup.ts index 4d0a67cc0b..810f57bab4 100644 --- a/packages/hiccup-carbon-icons/src/popup.ts +++ b/packages/hiccup-carbon-icons/src/popup.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#POPUP */ // prettier-ignore -export const POPUP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H10a2.006 2.006 0 00-2 2v14a2.006 2.006 0 002 2h18a2.006 2.006 0 002-2V6a2.006 2.006 0 00-2-2zm0 16H10V6h18z" }], - ["path", { d: "M18 26H4V16h2v-2H4a2.006 2.006 0 00-2 2v10a2.006 2.006 0 002 2h14a2.006 2.006 0 002-2v-2h-2z" }]]; +export const POPUP = svg( + ["path", { d: "M28 4H10a2.006 2.006 0 00-2 2v14a2.006 2.006 0 002 2h18a2.006 2.006 0 002-2V6a2.006 2.006 0 00-2-2zm0 16H10V6h18z" }], + ["path", { d: "M18 26H4V16h2v-2H4a2.006 2.006 0 00-2 2v10a2.006 2.006 0 002 2h14a2.006 2.006 0 002-2v-2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/portfolio.ts b/packages/hiccup-carbon-icons/src/portfolio.ts index 3228183fd8..30d694c63d 100644 --- a/packages/hiccup-carbon-icons/src/portfolio.ts +++ b/packages/hiccup-carbon-icons/src/portfolio.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PORTFOLIO */ // prettier-ignore -export const PORTFOLIO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 10h-6V6a2 2 0 00-2-2h-8a2 2 0 00-2 2v4H4a2 2 0 00-2 2v14a2 2 0 002 2h24a2 2 0 002-2V12a2 2 0 00-2-2zM12 6h8v4h-8zM4 26V12h24v14z" }]]; +export const PORTFOLIO = svg( + ["path", { d: "M28 10h-6V6a2 2 0 00-2-2h-8a2 2 0 00-2 2v4H4a2 2 0 00-2 2v14a2 2 0 002 2h24a2 2 0 002-2V12a2 2 0 00-2-2zM12 6h8v4h-8zM4 26V12h24v14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/power.ts b/packages/hiccup-carbon-icons/src/power.ts index 27ac7a117d..fcd950eadb 100644 --- a/packages/hiccup-carbon-icons/src/power.ts +++ b/packages/hiccup-carbon-icons/src/power.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#POWER */ // prettier-ignore -export const POWER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.5 5.74l-1 1.73a11 11 0 11-11 0l-1-1.73a13 13 0 1013 0z" }], - ["path", { d: "M15 2h2v14h-2z" }]]; +export const POWER = svg( + ["path", { d: "M22.5 5.74l-1 1.73a11 11 0 11-11 0l-1-1.73a13 13 0 1013 0z" }], + ["path", { d: "M15 2h2v14h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/ppt.ts b/packages/hiccup-carbon-icons/src/ppt.ts index d0bacbe4ee..f8490814b9 100644 --- a/packages/hiccup-carbon-icons/src/ppt.ts +++ b/packages/hiccup-carbon-icons/src/ppt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PPT */ // prettier-ignore -export const PPT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 11h3v12h2V11h3V9h-8v2zM14 23h-2V9h6a2.002 2.002 0 012 2v5a2.002 2.002 0 01-2 2h-4zm0-7h4v-5.002h-4zM4 23H2V9h6a2.002 2.002 0 012 2v5a2.002 2.002 0 01-2 2H4zm0-7h4v-5.002H4z" }]]; +export const PPT = svg( + ["path", { d: "M22 11h3v12h2V11h3V9h-8v2zM14 23h-2V9h6a2.002 2.002 0 012 2v5a2.002 2.002 0 01-2 2h-4zm0-7h4v-5.002h-4zM4 23H2V9h6a2.002 2.002 0 012 2v5a2.002 2.002 0 01-2 2H4zm0-7h4v-5.002H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/presentation-file.ts b/packages/hiccup-carbon-icons/src/presentation-file.ts index 9d65706157..552d95add7 100644 --- a/packages/hiccup-carbon-icons/src/presentation-file.ts +++ b/packages/hiccup-carbon-icons/src/presentation-file.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PRESENTATION_FILE */ // prettier-ignore -export const PRESENTATION_FILE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 10h2v8h-2zM20 14h2v4h-2zM10 12h2v6h-2z" }], - ["path", { d: "M25 4h-8V2h-2v2H7a2 2 0 00-2 2v14a2 2 0 002 2h8v6h-4v2h10v-2h-4v-6h8a2 2 0 002-2V6a2 2 0 00-2-2zm0 16H7V6h18z" }]]; +export const PRESENTATION_FILE = svg( + ["path", { d: "M15 10h2v8h-2zM20 14h2v4h-2zM10 12h2v6h-2z" }], + ["path", { d: "M25 4h-8V2h-2v2H7a2 2 0 00-2 2v14a2 2 0 002 2h8v6h-4v2h10v-2h-4v-6h8a2 2 0 002-2V6a2 2 0 00-2-2zm0 16H7V6h18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pressure-filled.ts b/packages/hiccup-carbon-icons/src/pressure-filled.ts index f65d354478..bdccf7fdd5 100644 --- a/packages/hiccup-carbon-icons/src/pressure-filled.ts +++ b/packages/hiccup-carbon-icons/src/pressure-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PRESSURE_FILLED */ // prettier-ignore -export const PRESSURE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 30H10v-5H6l10-9 10 9h-4zM16 16L6 7h4V2h12v5h4z" }]]; +export const PRESSURE_FILLED = svg( + ["path", { d: "M22 30H10v-5H6l10-9 10 9h-4zM16 16L6 7h4V2h12v5h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/pressure.ts b/packages/hiccup-carbon-icons/src/pressure.ts index 4b9ad9a535..61a6bd0a88 100644 --- a/packages/hiccup-carbon-icons/src/pressure.ts +++ b/packages/hiccup-carbon-icons/src/pressure.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PRESSURE */ // prettier-ignore -export const PRESSURE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17.505 16l8.16-7.253A1 1 0 0025 7h-3V2h-2v7h2.37L16 14.662 9.63 9H12V2h-2v5H7a1 1 0 00-.665 1.747L14.495 16l-8.16 7.253A1 1 0 007 25h3v5h2v-7H9.63L16 17.338 22.37 23H20v7h2v-5h3a1 1 0 00.664-1.747z" }]]; +export const PRESSURE = svg( + ["path", { d: "M17.505 16l8.16-7.253A1 1 0 0025 7h-3V2h-2v7h2.37L16 14.662 9.63 9H12V2h-2v5H7a1 1 0 00-.665 1.747L14.495 16l-8.16 7.253A1 1 0 007 25h3v5h2v-7H9.63L16 17.338 22.37 23H20v7h2v-5h3a1 1 0 00.664-1.747z" }] +); diff --git a/packages/hiccup-carbon-icons/src/previous-filled.ts b/packages/hiccup-carbon-icons/src/previous-filled.ts index 216cc805f8..8c6956c8fb 100644 --- a/packages/hiccup-carbon-icons/src/previous-filled.ts +++ b/packages/hiccup-carbon-icons/src/previous-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PREVIOUS_FILLED */ // prettier-ignore -export const PREVIOUS_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm8 15H11.85l5.58 5.573L16 24l-8-8 8-8 1.43 1.393L11.85 15H24z" }]]; +export const PREVIOUS_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm8 15H11.85l5.58 5.573L16 24l-8-8 8-8 1.43 1.393L11.85 15H24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/previous-outline.ts b/packages/hiccup-carbon-icons/src/previous-outline.ts index e1df010214..b3b293717b 100644 --- a/packages/hiccup-carbon-icons/src/previous-outline.ts +++ b/packages/hiccup-carbon-icons/src/previous-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PREVIOUS_OUTLINE */ // prettier-ignore -export const PREVIOUS_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 8l1.43 1.393L11.85 15H24v2H11.85l5.58 5.573L16 24l-8-8 8-8z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const PREVIOUS_OUTLINE = svg( + ["path", { d: "M16 8l1.43 1.393L11.85 15H24v2H11.85l5.58 5.573L16 24l-8-8 8-8z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/printer.ts b/packages/hiccup-carbon-icons/src/printer.ts index d451671a04..0271b68e02 100644 --- a/packages/hiccup-carbon-icons/src/printer.ts +++ b/packages/hiccup-carbon-icons/src/printer.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PRINTER */ // prettier-ignore -export const PRINTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9h-3V3H7v6H4a2 2 0 00-2 2v10a2 2 0 002 2h3v6h18v-6h3a2 2 0 002-2V11a2 2 0 00-2-2zM9 5h14v4H9zm14 22H9V17h14zm5-6h-3v-6H7v6H4V11h24z" }]]; +export const PRINTER = svg( + ["path", { d: "M28 9h-3V3H7v6H4a2 2 0 00-2 2v10a2 2 0 002 2h3v6h18v-6h3a2 2 0 002-2V11a2 2 0 00-2-2zM9 5h14v4H9zm14 22H9V17h14zm5-6h-3v-6H7v6H4V11h24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/product.ts b/packages/hiccup-carbon-icons/src/product.ts index 191c71f40a..dabc847414 100644 --- a/packages/hiccup-carbon-icons/src/product.ts +++ b/packages/hiccup-carbon-icons/src/product.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PRODUCT */ // prettier-ignore -export const PRODUCT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 18h6v2H8zM8 22h10v2H8z" }], - ["path", { d: "M26 4H6a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h20a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zm-8 2v4h-4V6zM6 26V6h6v6h8V6h6l.001 20z" }]]; +export const PRODUCT = svg( + ["path", { d: "M8 18h6v2H8zM8 22h10v2H8z" }], + ["path", { d: "M26 4H6a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h20a2.002 2.002 0 002-2V6a2.002 2.002 0 00-2-2zm-8 2v4h-4V6zM6 26V6h6v6h8V6h6l.001 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/purchase.ts b/packages/hiccup-carbon-icons/src/purchase.ts index fda15b8740..2d3c2a2a5d 100644 --- a/packages/hiccup-carbon-icons/src/purchase.ts +++ b/packages/hiccup-carbon-icons/src/purchase.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#PURCHASE */ // prettier-ignore -export const PURCHASE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zm0 2v3H4V8zM4 24V13h24v11z" }], - ["path", { d: "M6 20h10v2H6z" }]]; +export const PURCHASE = svg( + ["path", { d: "M28 6H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V8a2 2 0 00-2-2zm0 2v3H4V8zM4 24V13h24v11z" }], + ["path", { d: "M6 20h10v2H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/qq-plot.ts b/packages/hiccup-carbon-icons/src/qq-plot.ts index af763322d5..5fcb1af1a7 100644 --- a/packages/hiccup-carbon-icons/src/qq-plot.ts +++ b/packages/hiccup-carbon-icons/src/qq-plot.ts @@ -1,37 +1,39 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#QQ_PLOT */ // prettier-ignore -export const QQ_PLOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 4, - cx: 20, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 8, - }], - ["circle", - { - r: 2, - cy: 12, - cx: 28, - }], - ["circle", - { - r: 2, - cy: 7, - cx: 11, - }], - ["circle", - { - r: 2, - cy: 24, - cx: 16, - }], - ["path", { d: "M30 3.413L28.586 2 4 26.585V2H2v26a2 2 0 002 2h26v-2H5.413z" }]]; +export const QQ_PLOT = svg( + ["circle", + { + r: 2, + cy: 4, + cx: 20, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 8, + }], + ["circle", + { + r: 2, + cy: 12, + cx: 28, + }], + ["circle", + { + r: 2, + cy: 7, + cx: 11, + }], + ["circle", + { + r: 2, + cy: 24, + cx: 16, + }], + ["path", { d: "M30 3.413L28.586 2 4 26.585V2H2v26a2 2 0 002 2h26v-2H5.413z" }] +); diff --git a/packages/hiccup-carbon-icons/src/qr-code.ts b/packages/hiccup-carbon-icons/src/qr-code.ts index 55167ab1fd..cf9d8ab678 100644 --- a/packages/hiccup-carbon-icons/src/qr-code.ts +++ b/packages/hiccup-carbon-icons/src/qr-code.ts @@ -1,10 +1,12 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#QR_CODE */ // prettier-ignore -export const QR_CODE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 28v-2h2v2zM18 24v-2h2v2zM18 30h4v-2h-2v-2h-2v4zM26 26v-4h2v4zM28 26h2v4h-4v-2h2v-2zM26 20v-2h4v4h-2v-2h-2zM24 20h-2v4h-2v2h4v-6zM18 20v-2h4v2zM6 22h4v4H6z" }], - ["path", { d: "M14 30H2V18h12zM4 28h8v-8H4zM22 6h4v4h-4z" }], - ["path", { d: "M30 14H18V2h12zm-10-2h8V4h-8zM6 6h4v4H6z" }], - ["path", { d: "M14 14H2V2h12zM4 12h8V4H4z" }]]; +export const QR_CODE = svg( + ["path", { d: "M24 28v-2h2v2zM18 24v-2h2v2zM18 30h4v-2h-2v-2h-2v4zM26 26v-4h2v4zM28 26h2v4h-4v-2h2v-2zM26 20v-2h4v4h-2v-2h-2zM24 20h-2v4h-2v2h4v-6zM18 20v-2h4v2zM6 22h4v4H6z" }], + ["path", { d: "M14 30H2V18h12zM4 28h8v-8H4zM22 6h4v4h-4z" }], + ["path", { d: "M30 14H18V2h12zm-10-2h8V4h-8zM6 6h4v4H6z" }], + ["path", { d: "M14 14H2V2h12zM4 12h8V4H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/query-queue.ts b/packages/hiccup-carbon-icons/src/query-queue.ts index 3631fadbcd..ad7e5fe3e4 100644 --- a/packages/hiccup-carbon-icons/src/query-queue.ts +++ b/packages/hiccup-carbon-icons/src/query-queue.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#QUERY_QUEUE */ // prettier-ignore -export const QUERY_QUEUE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 6h18v2H10zM10 12h18v2H10zM15 18h13v2H15zM10 24h18v2H10zM4 14l7 5-7 5V14z" }]]; +export const QUERY_QUEUE = svg( + ["path", { d: "M10 6h18v2H10zM10 12h18v2H10zM15 18h13v2H15zM10 24h18v2H10zM4 14l7 5-7 5V14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/queued.ts b/packages/hiccup-carbon-icons/src/queued.ts index ab0877de87..f508d14ceb 100644 --- a/packages/hiccup-carbon-icons/src/queued.ts +++ b/packages/hiccup-carbon-icons/src/queued.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#QUEUED */ // prettier-ignore -export const QUEUED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 20h8v2h-8zM22 24h8v2h-8zM22 28h8v2h-8zM18 24h2v2h-2zM18 20h2v2h-2zM18 28h2v2h-2zM6.815 8.293a12.078 12.078 0 013.192-2.673l-1-1.73a14.085 14.085 0 00-3.723 3.118zM25.185 8.293l1.53-1.285a14.085 14.085 0 00-3.723-3.118l-.999 1.73a12.078 12.078 0 013.192 2.673zM4.737 11.9l-1.878-.683A13.902 13.902 0 002 16h2a11.917 11.917 0 01.737-4.1zM6.815 23.707A11.998 11.998 0 014.737 20.1l-1.878.683a13.99 13.99 0 002.425 4.21zM27.263 11.9A11.917 11.917 0 0128 16h2a13.897 13.897 0 00-.86-4.783zM13.918 27.807a11.89 11.89 0 01-3.911-1.427l-1 1.73a13.867 13.867 0 004.564 1.664zM13.918 4.193a11.301 11.301 0 014.164 0l.347-1.967a13.187 13.187 0 00-4.858 0z" }]]; +export const QUEUED = svg( + ["path", { d: "M22 20h8v2h-8zM22 24h8v2h-8zM22 28h8v2h-8zM18 24h2v2h-2zM18 20h2v2h-2zM18 28h2v2h-2zM6.815 8.293a12.078 12.078 0 013.192-2.673l-1-1.73a14.085 14.085 0 00-3.723 3.118zM25.185 8.293l1.53-1.285a14.085 14.085 0 00-3.723-3.118l-.999 1.73a12.078 12.078 0 013.192 2.673zM4.737 11.9l-1.878-.683A13.902 13.902 0 002 16h2a11.917 11.917 0 01.737-4.1zM6.815 23.707A11.998 11.998 0 014.737 20.1l-1.878.683a13.99 13.99 0 002.425 4.21zM27.263 11.9A11.917 11.917 0 0128 16h2a13.897 13.897 0 00-.86-4.783zM13.918 27.807a11.89 11.89 0 01-3.911-1.427l-1 1.73a13.867 13.867 0 004.564 1.664zM13.918 4.193a11.301 11.301 0 014.164 0l.347-1.967a13.187 13.187 0 00-4.858 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/quotes.ts b/packages/hiccup-carbon-icons/src/quotes.ts index 7e90edb0e9..9446404fae 100644 --- a/packages/hiccup-carbon-icons/src/quotes.ts +++ b/packages/hiccup-carbon-icons/src/quotes.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#QUOTES */ // prettier-ignore -export const QUOTES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 15H6.11A9 9 0 0110 8.86l1.79-1.2L10.69 6 8.9 7.2A11 11 0 004 16.35V23a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zM26 15h-5.89A9 9 0 0124 8.86l1.79-1.2L24.7 6l-1.8 1.2a11 11 0 00-4.9 9.15V23a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2z" }]]; +export const QUOTES = svg( + ["path", { d: "M12 15H6.11A9 9 0 0110 8.86l1.79-1.2L10.69 6 8.9 7.2A11 11 0 004 16.35V23a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zM26 15h-5.89A9 9 0 0124 8.86l1.79-1.2L24.7 6l-1.8 1.2a11 11 0 00-4.9 9.15V23a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/radio-button-checked.ts b/packages/hiccup-carbon-icons/src/radio-button-checked.ts index 23a271e00a..da789c3b67 100644 --- a/packages/hiccup-carbon-icons/src/radio-button-checked.ts +++ b/packages/hiccup-carbon-icons/src/radio-button-checked.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RADIO_BUTTON_CHECKED */ // prettier-ignore -export const RADIO_BUTTON_CHECKED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M16 10a6 6 0 106 6 6 6 0 00-6-6z" }]]; +export const RADIO_BUTTON_CHECKED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M16 10a6 6 0 106 6 6 6 0 00-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/radio-button.ts b/packages/hiccup-carbon-icons/src/radio-button.ts index 9146e8e360..35a1f02209 100644 --- a/packages/hiccup-carbon-icons/src/radio-button.ts +++ b/packages/hiccup-carbon-icons/src/radio-button.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RADIO_BUTTON */ // prettier-ignore -export const RADIO_BUTTON: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }]]; +export const RADIO_BUTTON = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/radio.ts b/packages/hiccup-carbon-icons/src/radio.ts index ff8aa5cfde..04bbfe9fb6 100644 --- a/packages/hiccup-carbon-icons/src/radio.ts +++ b/packages/hiccup-carbon-icons/src/radio.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RADIO */ // prettier-ignore -export const RADIO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 10h-4V2h-2v8h-9V8h-2v2H8V8H6v2H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V12a2 2 0 00-2-2zM4 28V12h24v16z" }], - ["path", { d: "M10 26a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM7 14h6v2H7zM17 16h9v2h-9zM17 20h9v2h-9zM17 24h9v2h-9z" }]]; +export const RADIO = svg( + ["path", { d: "M28 10h-4V2h-2v8h-9V8h-2v2H8V8H6v2H4a2 2 0 00-2 2v16a2 2 0 002 2h24a2 2 0 002-2V12a2 2 0 00-2-2zM4 28V12h24v16z" }], + ["path", { d: "M10 26a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2zM7 14h6v2H7zM17 16h9v2h-9zM17 20h9v2h-9zM17 24h9v2h-9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rain-drizzle.ts b/packages/hiccup-carbon-icons/src/rain-drizzle.ts index dc181b81c4..4f5abcc8cb 100644 --- a/packages/hiccup-carbon-icons/src/rain-drizzle.ts +++ b/packages/hiccup-carbon-icons/src/rain-drizzle.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RAIN_DRIZZLE */ // prettier-ignore -export const RAIN_DRIZZLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0111 30z" }], - ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.497 6.497 0 008.5 22h10.881l-1.276 2.553a1 1 0 001.789.894L21.618 22H23.5a6.497 6.497 0 001.3-12.864zM23.5 20h-15a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }]]; +export const RAIN_DRIZZLE = svg( + ["path", { d: "M11 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0111 30z" }], + ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.497 6.497 0 008.5 22h10.881l-1.276 2.553a1 1 0 001.789.894L21.618 22H23.5a6.497 6.497 0 001.3-12.864zM23.5 20h-15a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rain-drop.ts b/packages/hiccup-carbon-icons/src/rain-drop.ts index 71ab40ae58..6457d1d374 100644 --- a/packages/hiccup-carbon-icons/src/rain-drop.ts +++ b/packages/hiccup-carbon-icons/src/rain-drop.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RAIN_DROP */ // prettier-ignore -export const RAIN_DROP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 24v-2a3.296 3.296 0 003-3h2a5.267 5.267 0 01-5 5z" }], - ["path", { d: "M16 28a9.011 9.011 0 01-9-9 9.984 9.984 0 011.494-4.955l6.659-10.608a1.04 1.04 0 011.694 0l6.63 10.556A10.063 10.063 0 0125 19a9.011 9.011 0 01-9 9zm0-22.152l-5.782 9.208A7.977 7.977 0 009 19a7 7 0 0014 0 8.062 8.062 0 00-1.248-3.995z" }]]; +export const RAIN_DROP = svg( + ["path", { d: "M16 24v-2a3.296 3.296 0 003-3h2a5.267 5.267 0 01-5 5z" }], + ["path", { d: "M16 28a9.011 9.011 0 01-9-9 9.984 9.984 0 011.494-4.955l6.659-10.608a1.04 1.04 0 011.694 0l6.63 10.556A10.063 10.063 0 0125 19a9.011 9.011 0 01-9 9zm0-22.152l-5.782 9.208A7.977 7.977 0 009 19a7 7 0 0014 0 8.062 8.062 0 00-1.248-3.995z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rain-heavy.ts b/packages/hiccup-carbon-icons/src/rain-heavy.ts index 01c77e2379..7b5c0a9f97 100644 --- a/packages/hiccup-carbon-icons/src/rain-heavy.ts +++ b/packages/hiccup-carbon-icons/src/rain-heavy.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RAIN_HEAVY */ // prettier-ignore -export const RAIN_HEAVY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0117 30zM8 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 018 30z" }], - ["path", { d: "M30 15.5a6.532 6.532 0 00-5.2-6.364 8.994 8.994 0 00-17.6 0 6.49 6.49 0 00-1.497 12.222l-1.597 3.195a1 1 0 101.788.894L7.617 22h6.765l-1.276 2.553a1 1 0 101.788.894L16.619 22h6.764l-1.276 2.553a1 1 0 101.788.894l1.945-3.89A6.506 6.506 0 0030 15.5zM23.5 20h-15a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }]]; +export const RAIN_HEAVY = svg( + ["path", { d: "M17 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0117 30zM8 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 018 30z" }], + ["path", { d: "M30 15.5a6.532 6.532 0 00-5.2-6.364 8.994 8.994 0 00-17.6 0 6.49 6.49 0 00-1.497 12.222l-1.597 3.195a1 1 0 101.788.894L7.617 22h6.765l-1.276 2.553a1 1 0 101.788.894L16.619 22h6.764l-1.276 2.553a1 1 0 101.788.894l1.945-3.89A6.506 6.506 0 0030 15.5zM23.5 20h-15a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rain-scattered-night.ts b/packages/hiccup-carbon-icons/src/rain-scattered-night.ts index 11d95c4ea7..edd1ea17ff 100644 --- a/packages/hiccup-carbon-icons/src/rain-scattered-night.ts +++ b/packages/hiccup-carbon-icons/src/rain-scattered-night.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RAIN_SCATTERED_NIGHT */ // prettier-ignore -export const RAIN_SCATTERED_NIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8.508 32a1.012 1.012 0 01-.448-.105.999.999 0 01-.449-1.342l1.494-3a1.002 1.002 0 011.794.894l-1.493 3a1.002 1.002 0 01-.898.553zM29.844 13.035a1.518 1.518 0 00-1.23-.866 5.359 5.359 0 01-3.41-1.716 6.465 6.465 0 01-1.285-6.393 1.603 1.603 0 00-.3-1.546 1.454 1.454 0 00-1.36-.492l-.019.002a7.855 7.855 0 00-6.105 6.48A7.372 7.372 0 0013.5 8a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 25h7.382l-1.276 2.553a1 1 0 101.788.894L17.619 25H19a5.955 5.955 0 005.88-7.146 7.5 7.5 0 004.867-3.3 1.538 1.538 0 00.097-1.52zM19 23H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23zm5.15-7.048a5.964 5.964 0 00-3.5-2.708 7.508 7.508 0 00-2.621-3.694 6.01 6.01 0 013.77-5.334 8.458 8.458 0 001.94 7.597 7.4 7.4 0 003.901 2.228 5.44 5.44 0 01-3.49 1.911z" }]]; +export const RAIN_SCATTERED_NIGHT = svg( + ["path", { d: "M8.508 32a1.012 1.012 0 01-.448-.105.999.999 0 01-.449-1.342l1.494-3a1.002 1.002 0 011.794.894l-1.493 3a1.002 1.002 0 01-.898.553zM29.844 13.035a1.518 1.518 0 00-1.23-.866 5.359 5.359 0 01-3.41-1.716 6.465 6.465 0 01-1.285-6.393 1.603 1.603 0 00-.3-1.546 1.454 1.454 0 00-1.36-.492l-.019.002a7.855 7.855 0 00-6.105 6.48A7.372 7.372 0 0013.5 8a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 25h7.382l-1.276 2.553a1 1 0 101.788.894L17.619 25H19a5.955 5.955 0 005.88-7.146 7.5 7.5 0 004.867-3.3 1.538 1.538 0 00.097-1.52zM19 23H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23zm5.15-7.048a5.964 5.964 0 00-3.5-2.708 7.508 7.508 0 00-2.621-3.694 6.01 6.01 0 013.77-5.334 8.458 8.458 0 001.94 7.597 7.4 7.4 0 003.901 2.228 5.44 5.44 0 01-3.49 1.911z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rain-scattered.ts b/packages/hiccup-carbon-icons/src/rain-scattered.ts index ef74164e0e..f91d563ea7 100644 --- a/packages/hiccup-carbon-icons/src/rain-scattered.ts +++ b/packages/hiccup-carbon-icons/src/rain-scattered.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RAIN_SCATTERED */ // prettier-ignore -export const RAIN_SCATTERED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8.508 32a1.013 1.013 0 01-.448-.105.999.999 0 01-.449-1.342l1.494-3a1.002 1.002 0 011.794.894l-1.493 3a1.001 1.001 0 01-.898.553zM26.464 16.88l1.414-1.415L30 17.586l-1.414 1.415zM29 10h3v2h-3zM26.464 5.122L28.585 3 30 4.415l-2.122 2.121zM20 0h2v3h-2zM12 4.414L13.414 3l2.121 2.121-1.414 1.415zM27 11a5.995 5.995 0 00-11.367-2.669A7.35 7.35 0 0013.5 8a7.55 7.55 0 00-7.15 5.244A5.993 5.993 0 008 25h7.382l-1.276 2.553a1 1 0 101.788.894L17.619 25H19a5.985 5.985 0 005.216-8.946A5.994 5.994 0 0027 11zm-8 12H8a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23zm3.927-8.51a5.96 5.96 0 00-2.278-1.246 7.516 7.516 0 00-3.185-4.069 3.987 3.987 0 115.463 5.314z" }]]; +export const RAIN_SCATTERED = svg( + ["path", { d: "M8.508 32a1.013 1.013 0 01-.448-.105.999.999 0 01-.449-1.342l1.494-3a1.002 1.002 0 011.794.894l-1.493 3a1.001 1.001 0 01-.898.553zM26.464 16.88l1.414-1.415L30 17.586l-1.414 1.415zM29 10h3v2h-3zM26.464 5.122L28.585 3 30 4.415l-2.122 2.121zM20 0h2v3h-2zM12 4.414L13.414 3l2.121 2.121-1.414 1.415zM27 11a5.995 5.995 0 00-11.367-2.669A7.35 7.35 0 0013.5 8a7.55 7.55 0 00-7.15 5.244A5.993 5.993 0 008 25h7.382l-1.276 2.553a1 1 0 101.788.894L17.619 25H19a5.985 5.985 0 005.216-8.946A5.994 5.994 0 0027 11zm-8 12H8a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23zm3.927-8.51a5.96 5.96 0 00-2.278-1.246 7.516 7.516 0 00-3.185-4.069 3.987 3.987 0 115.463 5.314z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rain.ts b/packages/hiccup-carbon-icons/src/rain.ts index 558b55d257..2207025f57 100644 --- a/packages/hiccup-carbon-icons/src/rain.ts +++ b/packages/hiccup-carbon-icons/src/rain.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RAIN */ // prettier-ignore -export const RAIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM14 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0114 30zM20 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0120 30zM8 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 018 30z" }]]; +export const RAIN = svg( + ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM14 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0114 30zM20 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 0120 30zM8 30a.93.93 0 01-.45-.11 1 1 0 01-.44-1.34l2-4a1 1 0 111.78.9l-2 4A1 1 0 018 30z" }] +); diff --git a/packages/hiccup-carbon-icons/src/raw.ts b/packages/hiccup-carbon-icons/src/raw.ts index f65cfae8a0..14f8b8464a 100644 --- a/packages/hiccup-carbon-icons/src/raw.ts +++ b/packages/hiccup-carbon-icons/src/raw.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RAW */ // prettier-ignore -export const RAW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.2 9l-.34 8-.26 4.54-.41-3.54-.68-5.46h-2.02L24.81 18l-.41 3.54-.26-4.54-.34-8H22l1 14h2.27l.76-4.93.46-4.07.01-.03.01.03.46 4.07.76 4.93H30l1-14h-1.8zM18 9h-4a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5zM10 15v-4a2 2 0 00-2-2H2v14h2v-6h1.48l2.34 6H10l-2.37-6H8a2 2 0 002-2zm-6-4h4v4H4z" }]]; +export const RAW = svg( + ["path", { d: "M29.2 9l-.34 8-.26 4.54-.41-3.54-.68-5.46h-2.02L24.81 18l-.41 3.54-.26-4.54-.34-8H22l1 14h2.27l.76-4.93.46-4.07.01-.03.01.03.46 4.07.76 4.93H30l1-14h-1.8zM18 9h-4a2 2 0 00-2 2v12h2v-5h4v5h2V11a2 2 0 00-2-2zm-4 7v-5h4v5zM10 15v-4a2 2 0 00-2-2H2v14h2v-6h1.48l2.34 6H10l-2.37-6H8a2 2 0 002-2zm-6-4h4v4H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/receipt.ts b/packages/hiccup-carbon-icons/src/receipt.ts index bd8d780daa..8703e23c79 100644 --- a/packages/hiccup-carbon-icons/src/receipt.ts +++ b/packages/hiccup-carbon-icons/src/receipt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RECEIPT */ // prettier-ignore -export const RECEIPT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 16h2v2h-2zM9 16h8v2H9zM21 12h2v2h-2zM9 12h8v2H9zM9 8h14v2H9z" }], - ["path", { d: "M25 2H7a2.002 2.002 0 00-2 2v25a1 1 0 001 1h1a.999.999 0 00.8-.4l2.2-2.933 2.2 2.933a1.035 1.035 0 001.6 0l2.2-2.933 2.2 2.933a1.035 1.035 0 001.6 0l2.2-2.933 2.2 2.933a1 1 0 00.8.4h1a1 1 0 001-1V4a2.002 2.002 0 00-2-2zm0 25.333L22.8 24.4a1.035 1.035 0 00-1.6 0L19 27.333 16.8 24.4a1.035 1.035 0 00-1.6 0L13 27.333 10.8 24.4a1.035 1.035 0 00-1.6 0L7 27.333V4h18z" }]]; +export const RECEIPT = svg( + ["path", { d: "M21 16h2v2h-2zM9 16h8v2H9zM21 12h2v2h-2zM9 12h8v2H9zM9 8h14v2H9z" }], + ["path", { d: "M25 2H7a2.002 2.002 0 00-2 2v25a1 1 0 001 1h1a.999.999 0 00.8-.4l2.2-2.933 2.2 2.933a1.035 1.035 0 001.6 0l2.2-2.933 2.2 2.933a1.035 1.035 0 001.6 0l2.2-2.933 2.2 2.933a1 1 0 00.8.4h1a1 1 0 001-1V4a2.002 2.002 0 00-2-2zm0 25.333L22.8 24.4a1.035 1.035 0 00-1.6 0L19 27.333 16.8 24.4a1.035 1.035 0 00-1.6 0L13 27.333 10.8 24.4a1.035 1.035 0 00-1.6 0L7 27.333V4h18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/recently-viewed.ts b/packages/hiccup-carbon-icons/src/recently-viewed.ts index 2f6b61dc67..7e2f2e1f8e 100644 --- a/packages/hiccup-carbon-icons/src/recently-viewed.ts +++ b/packages/hiccup-carbon-icons/src/recently-viewed.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RECENTLY_VIEWED */ // prettier-ignore -export const RECENTLY_VIEWED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20.59 22L15 16.41V7h2v8.58l5 5.01L20.59 22z" }], - ["path", { d: "M16 2A13.94 13.94 0 006 6.23V2H4v8h8V8H7.08A12 12 0 114 16H2A14 14 0 1016 2z" }]]; +export const RECENTLY_VIEWED = svg( + ["path", { d: "M20.59 22L15 16.41V7h2v8.58l5 5.01L20.59 22z" }], + ["path", { d: "M16 2A13.94 13.94 0 006 6.23V2H4v8h8V8H7.08A12 12 0 114 16H2A14 14 0 1016 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/recommend.ts b/packages/hiccup-carbon-icons/src/recommend.ts index 1b692b79ac..5d48515bb2 100644 --- a/packages/hiccup-carbon-icons/src/recommend.ts +++ b/packages/hiccup-carbon-icons/src/recommend.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RECOMMEND */ // prettier-ignore -export const RECOMMEND: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a9 9 0 00-6 15.69V30l6-4 6 4V17.69A9 9 0 0016 2zm4 24.26l-2.89-1.92L16 23.6l-1.11.74L12 26.26v-7.21a8.88 8.88 0 008 0zM20.89 16A7 7 0 1123 11a7 7 0 01-2.11 5z" }]]; +export const RECOMMEND = svg( + ["path", { d: "M16 2a9 9 0 00-6 15.69V30l6-4 6 4V17.69A9 9 0 0016 2zm4 24.26l-2.89-1.92L16 23.6l-1.11.74L12 26.26v-7.21a8.88 8.88 0 008 0zM20.89 16A7 7 0 1123 11a7 7 0 01-2.11 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/recording-filled-alt.ts b/packages/hiccup-carbon-icons/src/recording-filled-alt.ts index 201652366f..4d77e55d73 100644 --- a/packages/hiccup-carbon-icons/src/recording-filled-alt.ts +++ b/packages/hiccup-carbon-icons/src/recording-filled-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RECORDING_FILLED_ALT */ // prettier-ignore -export const RECORDING_FILLED_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm0 20c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" }]]; +export const RECORDING_FILLED_ALT = svg( + ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm0 20c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/recording-filled.ts b/packages/hiccup-carbon-icons/src/recording-filled.ts index 109e617459..41b2e26636 100644 --- a/packages/hiccup-carbon-icons/src/recording-filled.ts +++ b/packages/hiccup-carbon-icons/src/recording-filled.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RECORDING_FILLED */ // prettier-ignore -export const RECORDING_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 4, - cy: 16, - cx: 16, - }], - ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm0 20c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" }]]; +export const RECORDING_FILLED = svg( + ["circle", + { + r: 4, + cy: 16, + cx: 16, + }], + ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm0 20c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/recording.ts b/packages/hiccup-carbon-icons/src/recording.ts index 193a8500da..b30c4cccab 100644 --- a/packages/hiccup-carbon-icons/src/recording.ts +++ b/packages/hiccup-carbon-icons/src/recording.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RECORDING */ // prettier-ignore -export const RECORDING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], - ["path", { d: "M16 12a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6z" }]]; +export const RECORDING = svg( + ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], + ["path", { d: "M16 12a4 4 0 11-4 4 4 4 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/redo.ts b/packages/hiccup-carbon-icons/src/redo.ts index a2ccd2afe2..df273b71e8 100644 --- a/packages/hiccup-carbon-icons/src/redo.ts +++ b/packages/hiccup-carbon-icons/src/redo.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REDO */ // prettier-ignore -export const REDO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["style"], - ["path", { d: "M9 15c-2.5 0-4 1.5-4 4s1.5 4 4 4h5v2H9c-3.5 0-6-2.5-6-6s2.5-6 6-6h16.2l-4-4 1.4-1.5L29 14l-6.4 6.4-1.4-1.4 4-4H9z" }]]; +export const REDO = svg( + ["style"], + ["path", { d: "M9 15c-2.5 0-4 1.5-4 4s1.5 4 4 4h5v2H9c-3.5 0-6-2.5-6-6s2.5-6 6-6h16.2l-4-4 1.4-1.5L29 14l-6.4 6.4-1.4-1.4 4-4H9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/reflect-horizontal.ts b/packages/hiccup-carbon-icons/src/reflect-horizontal.ts index 8dedfc9eed..3518496725 100644 --- a/packages/hiccup-carbon-icons/src/reflect-horizontal.ts +++ b/packages/hiccup-carbon-icons/src/reflect-horizontal.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REFLECT_HORIZONTAL */ // prettier-ignore -export const REFLECT_HORIZONTAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19.386 15.21l9-7A1 1 0 0130 9v14a1 1 0 01-1.614.79l-9-7a1 1 0 010-1.58z" }], - ["path", - { - d: "M15 2h2v28h-2z", - transform: "rotate(-180 16 16)", - }], - ["path", { d: "M13 16a1.001 1.001 0 01-.386.79l-9 7A1 1 0 012 23V9a1 1 0 011.614-.79l9 7A1.001 1.001 0 0113 16zm-9 4.956L10.371 16 4 11.044z" }]]; +export const REFLECT_HORIZONTAL = svg( + ["path", { d: "M19.386 15.21l9-7A1 1 0 0130 9v14a1 1 0 01-1.614.79l-9-7a1 1 0 010-1.58z" }], + ["path", + { + d: "M15 2h2v28h-2z", + transform: "rotate(-180 16 16)", + }], + ["path", { d: "M13 16a1.001 1.001 0 01-.386.79l-9 7A1 1 0 012 23V9a1 1 0 011.614-.79l9 7A1.001 1.001 0 0113 16zm-9 4.956L10.371 16 4 11.044z" }] +); diff --git a/packages/hiccup-carbon-icons/src/reflect-vertical.ts b/packages/hiccup-carbon-icons/src/reflect-vertical.ts index 1d1121d4b6..ae5253330b 100644 --- a/packages/hiccup-carbon-icons/src/reflect-vertical.ts +++ b/packages/hiccup-carbon-icons/src/reflect-vertical.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REFLECT_VERTICAL */ // prettier-ignore -export const REFLECT_VERTICAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16.79 19.386l7 9A1 1 0 0123 30H9a1 1 0 01-.79-1.614l7-9a1 1 0 011.58 0z" }], - ["path", - { - d: "M15 2h2v28h-2z", - transform: "rotate(-90 16 16)", - }], - ["path", { d: "M16 13a1.001 1.001 0 01-.79-.386l-7-9A1 1 0 019 2h14a1 1 0 01.79 1.614l-7 9A1.001 1.001 0 0116 13zm-4.956-9L16 10.371 20.956 4z" }]]; +export const REFLECT_VERTICAL = svg( + ["path", { d: "M16.79 19.386l7 9A1 1 0 0123 30H9a1 1 0 01-.79-1.614l7-9a1 1 0 011.58 0z" }], + ["path", + { + d: "M15 2h2v28h-2z", + transform: "rotate(-90 16 16)", + }], + ["path", { d: "M16 13a1.001 1.001 0 01-.79-.386l-7-9A1 1 0 019 2h14a1 1 0 01.79 1.614l-7 9A1.001 1.001 0 0116 13zm-4.956-9L16 10.371 20.956 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/reminder-medical.ts b/packages/hiccup-carbon-icons/src/reminder-medical.ts index 4cbaa13ca1..7474c4e374 100644 --- a/packages/hiccup-carbon-icons/src/reminder-medical.ts +++ b/packages/hiccup-carbon-icons/src/reminder-medical.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REMINDER_MEDICAL */ // prettier-ignore -export const REMINDER_MEDICAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 12v2h1v4a3 3 0 01-6 0v-4h1v-2h-3v6a5.008 5.008 0 004 4.899V24a4 4 0 01-8 0v-2.184a3 3 0 10-2 0V24a6 6 0 0012 0v-1.101A5.008 5.008 0 0030 18v-6zm-12 6a1 1 0 11-1 1 1 1 0 011-1z" }], - ["path", { d: "M26 4h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v4h2V6a2 2 0 00-2-2z" }]]; +export const REMINDER_MEDICAL = svg( + ["path", { d: "M27 12v2h1v4a3 3 0 01-6 0v-4h1v-2h-3v6a5.008 5.008 0 004 4.899V24a4 4 0 01-8 0v-2.184a3 3 0 10-2 0V24a6 6 0 0012 0v-1.101A5.008 5.008 0 0030 18v-6zm-12 6a1 1 0 11-1 1 1 1 0 011-1z" }], + ["path", { d: "M26 4h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v4h2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/reminder.ts b/packages/hiccup-carbon-icons/src/reminder.ts index 7d3050d27b..71f0e38cf9 100644 --- a/packages/hiccup-carbon-icons/src/reminder.ts +++ b/packages/hiccup-carbon-icons/src/reminder.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REMINDER */ // prettier-ignore -export const REMINDER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 23.382l-2-1V20a6.005 6.005 0 00-5-5.91V12h-2v2.09A6.005 6.005 0 0016 20v2.382l-2 1V28h6v2h4v-2h6zM28 26H16v-1.382l2-1V20a4 4 0 018 0v3.618l2 1z" }], - ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }]]; +export const REMINDER = svg( + ["path", { d: "M30 23.382l-2-1V20a6.005 6.005 0 00-5-5.91V12h-2v2.09A6.005 6.005 0 0016 20v2.382l-2 1V28h6v2h4v-2h6zM28 26H16v-1.382l2-1V20a4 4 0 018 0v3.618l2 1z" }], + ["path", { d: "M28 6a2 2 0 00-2-2h-4V2h-2v2h-8V2h-2v2H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V6h4v2h2V6h8v2h2V6h4v6h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/renew.ts b/packages/hiccup-carbon-icons/src/renew.ts index 35ccced7ba..6e3206aaf6 100644 --- a/packages/hiccup-carbon-icons/src/renew.ts +++ b/packages/hiccup-carbon-icons/src/renew.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RENEW */ // prettier-ignore -export const RENEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 10H6.78A11 11 0 0127 16h2A13 13 0 006 7.68V4H4v8h8zM20 22h5.22A11 11 0 015 16H3a13 13 0 0023 8.32V28h2v-8h-8z" }]]; +export const RENEW = svg( + ["path", { d: "M12 10H6.78A11 11 0 0127 16h2A13 13 0 006 7.68V4H4v8h8zM20 22h5.22A11 11 0 015 16H3a13 13 0 0023 8.32V28h2v-8h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/repeat-one.ts b/packages/hiccup-carbon-icons/src/repeat-one.ts index e8037ddeaa..f723c499b8 100644 --- a/packages/hiccup-carbon-icons/src/repeat-one.ts +++ b/packages/hiccup-carbon-icons/src/repeat-one.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REPEAT_ONE */ // prettier-ignore -export const REPEAT_ONE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6H5.83l3.58-3.59L8 1 2 7l6 6 1.41-1.41L5.83 8H26v7h2V8a2 2 0 00-2-2zM22.59 20.41L26.17 24H6v-7H4v7a2 2 0 002 2h20.17l-3.58 3.59L24 31l6-6-6-6z" }], - ["path", { d: "M17 19v-8h-2v1h-2v2h2v5h-2v2h6v-2h-2z" }]]; +export const REPEAT_ONE = svg( + ["path", { d: "M26 6H5.83l3.58-3.59L8 1 2 7l6 6 1.41-1.41L5.83 8H26v7h2V8a2 2 0 00-2-2zM22.59 20.41L26.17 24H6v-7H4v7a2 2 0 002 2h20.17l-3.58 3.59L24 31l6-6-6-6z" }], + ["path", { d: "M17 19v-8h-2v1h-2v2h2v5h-2v2h6v-2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/repeat.ts b/packages/hiccup-carbon-icons/src/repeat.ts index 177fb797aa..4b6b763c7b 100644 --- a/packages/hiccup-carbon-icons/src/repeat.ts +++ b/packages/hiccup-carbon-icons/src/repeat.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REPEAT */ // prettier-ignore -export const REPEAT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6H5.83l3.58-3.59L8 1 2 7l6 6 1.41-1.41L5.83 8H26v7h2V8a2 2 0 00-2-2zM22.59 20.41L26.17 24H6v-7H4v7a2 2 0 002 2h20.17l-3.58 3.59L24 31l6-6-6-6z" }]]; +export const REPEAT = svg( + ["path", { d: "M26 6H5.83l3.58-3.59L8 1 2 7l6 6 1.41-1.41L5.83 8H26v7h2V8a2 2 0 00-2-2zM22.59 20.41L26.17 24H6v-7H4v7a2 2 0 002 2h20.17l-3.58 3.59L24 31l6-6-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/reply.ts b/packages/hiccup-carbon-icons/src/reply.ts index a905fb4a33..9d4f368bd2 100644 --- a/packages/hiccup-carbon-icons/src/reply.ts +++ b/packages/hiccup-carbon-icons/src/reply.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REPLY */ // prettier-ignore -export const REPLY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.88 30a1 1 0 01-.88-.5A15.19 15.19 0 0015 22v6a1 1 0 01-.62.92 1 1 0 01-1.09-.21l-12-12a1 1 0 010-1.42l12-12a1 1 0 011.09-.21A1 1 0 0115 4v6.11a17.19 17.19 0 0115 17 16.34 16.34 0 01-.13 2 1 1 0 01-.79.86zM14.5 20A17.62 17.62 0 0128 26a15.31 15.31 0 00-14.09-14 1 1 0 01-.91-1V6.41L3.41 16 13 25.59V21a1 1 0 011-1h.54z" }]]; +export const REPLY = svg( + ["path", { d: "M28.88 30a1 1 0 01-.88-.5A15.19 15.19 0 0015 22v6a1 1 0 01-.62.92 1 1 0 01-1.09-.21l-12-12a1 1 0 010-1.42l12-12a1 1 0 011.09-.21A1 1 0 0115 4v6.11a17.19 17.19 0 0115 17 16.34 16.34 0 01-.13 2 1 1 0 01-.79.86zM14.5 20A17.62 17.62 0 0128 26a15.31 15.31 0 00-14.09-14 1 1 0 01-.91-1V6.41L3.41 16 13 25.59V21a1 1 0 011-1h.54z" }] +); diff --git a/packages/hiccup-carbon-icons/src/report-data.ts b/packages/hiccup-carbon-icons/src/report-data.ts index 6e70c78cdd..34927f5349 100644 --- a/packages/hiccup-carbon-icons/src/report-data.ts +++ b/packages/hiccup-carbon-icons/src/report-data.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REPORT_DATA */ // prettier-ignore -export const REPORT_DATA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 20h2v4h-2zM20 18h2v6h-2zM10 14h2v10h-2z" }], - ["path", { d: "M25 5h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h18a2 2 0 002-2V7a2 2 0 00-2-2zM12 4h8v4h-8zm13 24H7V7h3v3h12V7h3z" }]]; +export const REPORT_DATA = svg( + ["path", { d: "M15 20h2v4h-2zM20 18h2v6h-2zM10 14h2v10h-2z" }], + ["path", { d: "M25 5h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h18a2 2 0 002-2V7a2 2 0 00-2-2zM12 4h8v4h-8zm13 24H7V7h3v3h12V7h3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/report.ts b/packages/hiccup-carbon-icons/src/report.ts index cbe9d87d97..74c252416f 100644 --- a/packages/hiccup-carbon-icons/src/report.ts +++ b/packages/hiccup-carbon-icons/src/report.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REPORT */ // prettier-ignore -export const REPORT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 18h8v2h-8zM10 13h12v2H10zM10 23h5v2h-5z" }], - ["path", { d: "M25 5h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h18a2 2 0 002-2V7a2 2 0 00-2-2zM12 4h8v4h-8zm13 24H7V7h3v3h12V7h3z" }]]; +export const REPORT = svg( + ["path", { d: "M10 18h8v2h-8zM10 13h12v2H10zM10 23h5v2h-5z" }], + ["path", { d: "M25 5h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h18a2 2 0 002-2V7a2 2 0 00-2-2zM12 4h8v4h-8zm13 24H7V7h3v3h12V7h3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/request-quote.ts b/packages/hiccup-carbon-icons/src/request-quote.ts index 906d3ebee2..4d844fcd96 100644 --- a/packages/hiccup-carbon-icons/src/request-quote.ts +++ b/packages/hiccup-carbon-icons/src/request-quote.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REQUEST_QUOTE */ // prettier-ignore -export const REQUEST_QUOTE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 22v6H6V4h10V2H6a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2v-6z" }], - ["path", { d: "M29.54 5.76l-3.3-3.3a1.6 1.6 0 00-2.24 0l-14 14V22h5.53l14-14a1.6 1.6 0 000-2.24zM14.7 20H12v-2.7l9.44-9.45 2.71 2.71zM25.56 9.15l-2.71-2.71 2.27-2.27 2.71 2.71z" }]]; +export const REQUEST_QUOTE = svg( + ["path", { d: "M22 22v6H6V4h10V2H6a2 2 0 00-2 2v24a2 2 0 002 2h16a2 2 0 002-2v-6z" }], + ["path", { d: "M29.54 5.76l-3.3-3.3a1.6 1.6 0 00-2.24 0l-14 14V22h5.53l14-14a1.6 1.6 0 000-2.24zM14.7 20H12v-2.7l9.44-9.45 2.71 2.71zM25.56 9.15l-2.71-2.71 2.27-2.27 2.71 2.71z" }] +); diff --git a/packages/hiccup-carbon-icons/src/research-bloch-sphere.ts b/packages/hiccup-carbon-icons/src/research-bloch-sphere.ts index 4d66a23b92..4d43ebd230 100644 --- a/packages/hiccup-carbon-icons/src/research-bloch-sphere.ts +++ b/packages/hiccup-carbon-icons/src/research-bloch-sphere.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESEARCH_BLOCH_SPHERE */ // prettier-ignore -export const RESEARCH_BLOCH_SPHERE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21.87 7.84l-1.74-1L16 14a2 2 0 102 2 2 2 0 00-.27-1z" }], - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 2a12 12 0 0111.17 7.65 25.69 25.69 0 00-3.69-1.5l-1 1.77a22.7 22.7 0 015.41 2.39 11.05 11.05 0 010 3.38A22.92 22.92 0 0116 21a22.92 22.92 0 01-11.87-3.31 11.05 11.05 0 010-3.38A22.8 22.8 0 0115 11V9a25 25 0 00-10.17 2.6A12 12 0 0116 4zm0 24a12 12 0 01-11.17-7.65A24.88 24.88 0 0016 23a24.88 24.88 0 0011.17-2.65A12 12 0 0116 28z" }]]; +export const RESEARCH_BLOCH_SPHERE = svg( + ["path", { d: "M21.87 7.84l-1.74-1L16 14a2 2 0 102 2 2 2 0 00-.27-1z" }], + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 2a12 12 0 0111.17 7.65 25.69 25.69 0 00-3.69-1.5l-1 1.77a22.7 22.7 0 015.41 2.39 11.05 11.05 0 010 3.38A22.92 22.92 0 0116 21a22.92 22.92 0 01-11.87-3.31 11.05 11.05 0 010-3.38A22.8 22.8 0 0115 11V9a25 25 0 00-10.17 2.6A12 12 0 0116 4zm0 24a12 12 0 01-11.17-7.65A24.88 24.88 0 0016 23a24.88 24.88 0 0011.17-2.65A12 12 0 0116 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/research-hinton-plot.ts b/packages/hiccup-carbon-icons/src/research-hinton-plot.ts index 3b0f14a509..c09e6f89b7 100644 --- a/packages/hiccup-carbon-icons/src/research-hinton-plot.ts +++ b/packages/hiccup-carbon-icons/src/research-hinton-plot.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESEARCH_HINTON_PLOT */ // prettier-ignore -export const RESEARCH_HINTON_PLOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 2h4v4H2zM10 2h4v4h-4zM18 2h4v4h-4zM26 2h4v4h-4zM2 10h4v4H2zM10 10h4v4h-4zM18 10h4v4h-4zM26 10h4v4h-4zM2 18h4v4H2zM10 18h4v4h-4zM18 18h4v4h-4zM26 18h4v4h-4zM2 26h4v4H2zM10 26h4v4h-4zM18 26h4v4h-4zM26 26h4v4h-4z" }]]; +export const RESEARCH_HINTON_PLOT = svg( + ["path", { d: "M2 2h4v4H2zM10 2h4v4h-4zM18 2h4v4h-4zM26 2h4v4h-4zM2 10h4v4H2zM10 10h4v4h-4zM18 10h4v4h-4zM26 10h4v4h-4zM2 18h4v4H2zM10 18h4v4h-4zM18 18h4v4h-4zM26 18h4v4h-4zM2 26h4v4H2zM10 26h4v4h-4zM18 26h4v4h-4zM26 26h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/research-matrix.ts b/packages/hiccup-carbon-icons/src/research-matrix.ts index 9b8e982663..2eb418a441 100644 --- a/packages/hiccup-carbon-icons/src/research-matrix.ts +++ b/packages/hiccup-carbon-icons/src/research-matrix.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESEARCH_MATRIX */ // prettier-ignore -export const RESEARCH_MATRIX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 13V4h-2v2h-3v2h3v5h-3v2h8v-2h-3zM16.5 20a3.5 3.5 0 11-3.5 3.5 3.5 3.5 0 013.5-3.5m0-2a5.5 5.5 0 105.5 5.5 5.5 5.5 0 00-5.5-5.5zM8 30H2V2h6v2H4v24h4v2zM30 30h-6v-2h4V4h-4V2h6v28z" }]]; +export const RESEARCH_MATRIX = svg( + ["path", { d: "M18 13V4h-2v2h-3v2h3v5h-3v2h8v-2h-3zM16.5 20a3.5 3.5 0 11-3.5 3.5 3.5 3.5 0 013.5-3.5m0-2a5.5 5.5 0 105.5 5.5 5.5 5.5 0 00-5.5-5.5zM8 30H2V2h6v2H4v24h4v2zM30 30h-6v-2h4V4h-4V2h6v28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/reset-alt.ts b/packages/hiccup-carbon-icons/src/reset-alt.ts index 3820aef5a4..93f14acf55 100644 --- a/packages/hiccup-carbon-icons/src/reset-alt.ts +++ b/packages/hiccup-carbon-icons/src/reset-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESET_ALT */ // prettier-ignore -export const RESET_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 8H6.83l3.58-3.59L9 3 3 9l6 6 1.41-1.41L6.83 10H27v16H7v-7H5v7a2 2 0 002 2h20a2 2 0 002-2V10a2 2 0 00-2-2z" }]]; +export const RESET_ALT = svg( + ["path", { d: "M27 8H6.83l3.58-3.59L9 3 3 9l6 6 1.41-1.41L6.83 10H27v16H7v-7H5v7a2 2 0 002 2h20a2 2 0 002-2V10a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/reset.ts b/packages/hiccup-carbon-icons/src/reset.ts index 7e7639a8d9..719ab6fafa 100644 --- a/packages/hiccup-carbon-icons/src/reset.ts +++ b/packages/hiccup-carbon-icons/src/reset.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESET */ // prettier-ignore -export const RESET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 28A12 12 0 106 16v6.2l-3.6-3.6L1 20l6 6 6-6-1.4-1.4L8 22.2V16a10 10 0 1110 10z" }]]; +export const RESET = svg( + ["path", { d: "M18 28A12 12 0 106 16v6.2l-3.6-3.6L1 20l6 6 6-6-1.4-1.4L8 22.2V16a10 10 0 1110 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/restart.ts b/packages/hiccup-carbon-icons/src/restart.ts index 0b4b74a9d4..83cfd49bd6 100644 --- a/packages/hiccup-carbon-icons/src/restart.ts +++ b/packages/hiccup-carbon-icons/src/restart.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESTART */ // prettier-ignore -export const RESTART: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 18A10 10 0 1115 8h6.18l-3.58 3.59L19 13l6-6-6-6-1.4 1.41L21.19 6H15a12 12 0 1012 12z" }]]; +export const RESTART = svg( + ["path", { d: "M25 18A10 10 0 1115 8h6.18l-3.58 3.59L19 13l6-6-6-6-1.4 1.41L21.19 6H15a12 12 0 1012 12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/restaurant-fine.ts b/packages/hiccup-carbon-icons/src/restaurant-fine.ts index 12b9c32ebc..9f93bde5ba 100644 --- a/packages/hiccup-carbon-icons/src/restaurant-fine.ts +++ b/packages/hiccup-carbon-icons/src/restaurant-fine.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESTAURANT_FINE */ // prettier-ignore -export const RESTAURANT_FINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 11V3a1 1 0 00-1-1H19a1 1 0 00-1 1v8a6.004 6.004 0 005 5.91V28h-4v2h10v-2h-4V16.91A6.004 6.004 0 0030 11zm-10 0V4h8v7a4 4 0 11-8 0zM12 2v9.02a3.964 3.964 0 01-3.96 3.96A4.005 4.005 0 014 11.02V2H2v9.02a5.989 5.989 0 005 5.865V30h2V16.895a5.965 5.965 0 005-5.875V2z" }], - ["path", { d: "M7 2h2v9.98H7z" }]]; +export const RESTAURANT_FINE = svg( + ["path", { d: "M30 11V3a1 1 0 00-1-1H19a1 1 0 00-1 1v8a6.004 6.004 0 005 5.91V28h-4v2h10v-2h-4V16.91A6.004 6.004 0 0030 11zm-10 0V4h8v7a4 4 0 11-8 0zM12 2v9.02a3.964 3.964 0 01-3.96 3.96A4.005 4.005 0 014 11.02V2H2v9.02a5.989 5.989 0 005 5.865V30h2V16.895a5.965 5.965 0 005-5.875V2z" }], + ["path", { d: "M7 2h2v9.98H7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/restaurant.ts b/packages/hiccup-carbon-icons/src/restaurant.ts index f08b0c4f5b..92a069884e 100644 --- a/packages/hiccup-carbon-icons/src/restaurant.ts +++ b/packages/hiccup-carbon-icons/src/restaurant.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RESTAURANT */ // prettier-ignore -export const RESTAURANT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9 2h2v10H9z" }], - ["path", { d: "M14 11a4 4 0 01-8 0V2H4v9a6 6 0 005 5.91V30h2V16.91A6 6 0 0016 11V2h-2zM22 2h-1v28h2V20h3a2 2 0 002-2V8a5.78 5.78 0 00-6-6zm4 16h-3V4.09c2.88.56 3 3.54 3 3.91z" }]]; +export const RESTAURANT = svg( + ["path", { d: "M9 2h2v10H9z" }], + ["path", { d: "M14 11a4 4 0 01-8 0V2H4v9a6 6 0 005 5.91V30h2V16.91A6 6 0 0016 11V2h-2zM22 2h-1v28h2V20h3a2 2 0 002-2V8a5.78 5.78 0 00-6-6zm4 16h-3V4.09c2.88.56 3 3.54 3 3.91z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rewind-10.ts b/packages/hiccup-carbon-icons/src/rewind-10.ts index a26f14f0a2..9421f01362 100644 --- a/packages/hiccup-carbon-icons/src/rewind-10.ts +++ b/packages/hiccup-carbon-icons/src/rewind-10.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REWIND_10 */ // prettier-ignore -export const REWIND_10: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 18A12 12 0 1016 6h-4V1L6 7l6 6V8h4A10 10 0 116 18z" }], - ["path", { d: "M19.63 22.13a2.84 2.84 0 01-1.28-.27 2.44 2.44 0 01-.89-.77 3.57 3.57 0 01-.52-1.25 7.69 7.69 0 01-.17-1.68 7.83 7.83 0 01.17-1.68 3.65 3.65 0 01.52-1.25 2.44 2.44 0 01.89-.77 2.84 2.84 0 011.28-.27 2.44 2.44 0 012.16 1 5.23 5.23 0 01.7 2.93 5.23 5.23 0 01-.7 2.93 2.44 2.44 0 01-2.16 1.08zm0-1.22a1.07 1.07 0 001-.55 3.38 3.38 0 00.37-1.51v-1.38a3.31 3.31 0 00-.29-1.5 1.23 1.23 0 00-2.06 0 3.31 3.31 0 00-.29 1.5v1.38a3.38 3.38 0 00.29 1.51 1.06 1.06 0 00.98.55zM10.63 22v-1.18h2v-5.19l-1.86 1-.55-1.06 2.32-1.3H14v6.5h1.78V22z" }]]; +export const REWIND_10 = svg( + ["path", { d: "M4 18A12 12 0 1016 6h-4V1L6 7l6 6V8h4A10 10 0 116 18z" }], + ["path", { d: "M19.63 22.13a2.84 2.84 0 01-1.28-.27 2.44 2.44 0 01-.89-.77 3.57 3.57 0 01-.52-1.25 7.69 7.69 0 01-.17-1.68 7.83 7.83 0 01.17-1.68 3.65 3.65 0 01.52-1.25 2.44 2.44 0 01.89-.77 2.84 2.84 0 011.28-.27 2.44 2.44 0 012.16 1 5.23 5.23 0 01.7 2.93 5.23 5.23 0 01-.7 2.93 2.44 2.44 0 01-2.16 1.08zm0-1.22a1.07 1.07 0 001-.55 3.38 3.38 0 00.37-1.51v-1.38a3.31 3.31 0 00-.29-1.5 1.23 1.23 0 00-2.06 0 3.31 3.31 0 00-.29 1.5v1.38a3.38 3.38 0 00.29 1.51 1.06 1.06 0 00.98.55zM10.63 22v-1.18h2v-5.19l-1.86 1-.55-1.06 2.32-1.3H14v6.5h1.78V22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rewind-30.ts b/packages/hiccup-carbon-icons/src/rewind-30.ts index ea59d1a1b3..d60821e73a 100644 --- a/packages/hiccup-carbon-icons/src/rewind-30.ts +++ b/packages/hiccup-carbon-icons/src/rewind-30.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REWIND_30 */ // prettier-ignore -export const REWIND_30: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 18A12 12 0 1016 6h-4V1L6 7l6 6V8h4A10 10 0 116 18z" }], - ["path", { d: "M19.64 22.13a2.81 2.81 0 01-1.28-.27 2.36 2.36 0 01-.89-.77 3.39 3.39 0 01-.47-1.25 7.12 7.12 0 01-.17-1.68 7.24 7.24 0 01.17-1.68 3.46 3.46 0 01.52-1.25 2.36 2.36 0 01.89-.77 2.81 2.81 0 011.28-.27 2.44 2.44 0 012.16 1 5.31 5.31 0 01.7 2.93 5.31 5.31 0 01-.7 2.93 2.44 2.44 0 01-2.21 1.08zm0-1.22a1 1 0 001-.55 3.24 3.24 0 00.3-1.51v-1.38a3.17 3.17 0 00-.3-1.5 1.22 1.22 0 00-2.05 0 3.18 3.18 0 00-.29 1.5v1.38a3.25 3.25 0 00.29 1.51 1 1 0 001.05.55zM12.62 17.42a1.46 1.46 0 001-.27.84.84 0 00.31-.68v-.08a.94.94 0 00-.3-.74 1.2 1.2 0 00-.83-.27 1.65 1.65 0 00-.89.24 2.1 2.1 0 00-.68.68l-.93-.83a5.37 5.37 0 01.44-.51 2.7 2.7 0 01.54-.4 2.55 2.55 0 01.7-.27 3.25 3.25 0 01.87-.1 3.94 3.94 0 011.06.14 2.33 2.33 0 01.82.4 1.91 1.91 0 01.54.63 1.87 1.87 0 01.18.83 2 2 0 01-.11.67 1.82 1.82 0 01-.32.52 1.79 1.79 0 01-.47.36 2.27 2.27 0 01-.57.2V18a2.34 2.34 0 01.63.21 1.7 1.7 0 01.51.38 1.89 1.89 0 01.34.55 2.07 2.07 0 01.12.73 2 2 0 01-.2.92 2 2 0 01-.58.72 2.66 2.66 0 01-.89.45 3.76 3.76 0 01-1.15.16 4.1 4.1 0 01-1-.11 3.1 3.1 0 01-.76-.31 2.76 2.76 0 01-.56-.45 4.22 4.22 0 01-.44-.55l1.07-.81a3.07 3.07 0 00.28.42 1.94 1.94 0 00.36.34 1.57 1.57 0 00.45.22 2 2 0 00.57.07 1.45 1.45 0 001-.3 1.12 1.12 0 00.34-.85v-.08a1 1 0 00-.37-.8 1.78 1.78 0 00-1.06-.28h-.76v-1.21z" }]]; +export const REWIND_30 = svg( + ["path", { d: "M4 18A12 12 0 1016 6h-4V1L6 7l6 6V8h4A10 10 0 116 18z" }], + ["path", { d: "M19.64 22.13a2.81 2.81 0 01-1.28-.27 2.36 2.36 0 01-.89-.77 3.39 3.39 0 01-.47-1.25 7.12 7.12 0 01-.17-1.68 7.24 7.24 0 01.17-1.68 3.46 3.46 0 01.52-1.25 2.36 2.36 0 01.89-.77 2.81 2.81 0 011.28-.27 2.44 2.44 0 012.16 1 5.31 5.31 0 01.7 2.93 5.31 5.31 0 01-.7 2.93 2.44 2.44 0 01-2.21 1.08zm0-1.22a1 1 0 001-.55 3.24 3.24 0 00.3-1.51v-1.38a3.17 3.17 0 00-.3-1.5 1.22 1.22 0 00-2.05 0 3.18 3.18 0 00-.29 1.5v1.38a3.25 3.25 0 00.29 1.51 1 1 0 001.05.55zM12.62 17.42a1.46 1.46 0 001-.27.84.84 0 00.31-.68v-.08a.94.94 0 00-.3-.74 1.2 1.2 0 00-.83-.27 1.65 1.65 0 00-.89.24 2.1 2.1 0 00-.68.68l-.93-.83a5.37 5.37 0 01.44-.51 2.7 2.7 0 01.54-.4 2.55 2.55 0 01.7-.27 3.25 3.25 0 01.87-.1 3.94 3.94 0 011.06.14 2.33 2.33 0 01.82.4 1.91 1.91 0 01.54.63 1.87 1.87 0 01.18.83 2 2 0 01-.11.67 1.82 1.82 0 01-.32.52 1.79 1.79 0 01-.47.36 2.27 2.27 0 01-.57.2V18a2.34 2.34 0 01.63.21 1.7 1.7 0 01.51.38 1.89 1.89 0 01.34.55 2.07 2.07 0 01.12.73 2 2 0 01-.2.92 2 2 0 01-.58.72 2.66 2.66 0 01-.89.45 3.76 3.76 0 01-1.15.16 4.1 4.1 0 01-1-.11 3.1 3.1 0 01-.76-.31 2.76 2.76 0 01-.56-.45 4.22 4.22 0 01-.44-.55l1.07-.81a3.07 3.07 0 00.28.42 1.94 1.94 0 00.36.34 1.57 1.57 0 00.45.22 2 2 0 00.57.07 1.45 1.45 0 001-.3 1.12 1.12 0 00.34-.85v-.08a1 1 0 00-.37-.8 1.78 1.78 0 00-1.06-.28h-.76v-1.21z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rewind-5.ts b/packages/hiccup-carbon-icons/src/rewind-5.ts index d9446aa7c3..6b3e2feaec 100644 --- a/packages/hiccup-carbon-icons/src/rewind-5.ts +++ b/packages/hiccup-carbon-icons/src/rewind-5.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#REWIND_5 */ // prettier-ignore -export const REWIND_5: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 18A12 12 0 1016 6h-4V1L6 7l6 6V8h4A10 10 0 116 18z" }], - ["path", { d: "M18.58 15.58h-3.45L15 18.15a4.83 4.83 0 01.26-.45 1.59 1.59 0 01.33-.35 1.53 1.53 0 01.44-.23 2 2 0 01.6-.08 2.54 2.54 0 01.92.16 2.06 2.06 0 01.74.48 2.28 2.28 0 01.5.77 2.73 2.73 0 01.18 1 2.87 2.87 0 01-.19 1.07 2.36 2.36 0 01-.55.84 2.44 2.44 0 01-.89.55 3.23 3.23 0 01-1.21.2 3.79 3.79 0 01-.94-.11 3 3 0 01-.74-.32 2.45 2.45 0 01-.55-.45 4.13 4.13 0 01-.41-.55l1.06-.81.27.41a1.82 1.82 0 00.34.34 1.59 1.59 0 00.43.22 1.52 1.52 0 00.55.08 1.29 1.29 0 001-.36 1.41 1.41 0 00.33-1v-.06a1.18 1.18 0 00-1.28-1.27 1.44 1.44 0 00-.77.18 1.94 1.94 0 00-.48.39l-1.19-.17.29-4.31h4.52z" }]]; +export const REWIND_5 = svg( + ["path", { d: "M4 18A12 12 0 1016 6h-4V1L6 7l6 6V8h4A10 10 0 116 18z" }], + ["path", { d: "M18.58 15.58h-3.45L15 18.15a4.83 4.83 0 01.26-.45 1.59 1.59 0 01.33-.35 1.53 1.53 0 01.44-.23 2 2 0 01.6-.08 2.54 2.54 0 01.92.16 2.06 2.06 0 01.74.48 2.28 2.28 0 01.5.77 2.73 2.73 0 01.18 1 2.87 2.87 0 01-.19 1.07 2.36 2.36 0 01-.55.84 2.44 2.44 0 01-.89.55 3.23 3.23 0 01-1.21.2 3.79 3.79 0 01-.94-.11 3 3 0 01-.74-.32 2.45 2.45 0 01-.55-.45 4.13 4.13 0 01-.41-.55l1.06-.81.27.41a1.82 1.82 0 00.34.34 1.59 1.59 0 00.43.22 1.52 1.52 0 00.55.08 1.29 1.29 0 001-.36 1.41 1.41 0 00.33-1v-.06a1.18 1.18 0 00-1.28-1.27 1.44 1.44 0 00-.77.18 1.94 1.94 0 00-.48.39l-1.19-.17.29-4.31h4.52z" }] +); diff --git a/packages/hiccup-carbon-icons/src/roadmap.ts b/packages/hiccup-carbon-icons/src/roadmap.ts index 7c3caa00e1..a5192bb651 100644 --- a/packages/hiccup-carbon-icons/src/roadmap.ts +++ b/packages/hiccup-carbon-icons/src/roadmap.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROADMAP */ // prettier-ignore -export const ROADMAP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 30H4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h8a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-8-6v4h8v-4zM28 20H12a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-16-6v4h16v-4zM16 10H4a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM4 4v4h12V4z" }]]; +export const ROADMAP = svg( + ["path", { d: "M12 30H4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h8a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-8-6v4h8v-4zM28 20H12a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h16a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zm-16-6v4h16v-4zM16 10H4a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM4 4v4h12V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rocket.ts b/packages/hiccup-carbon-icons/src/rocket.ts index 89aabb8e96..a9a47d899c 100644 --- a/packages/hiccup-carbon-icons/src/rocket.ts +++ b/packages/hiccup-carbon-icons/src/rocket.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROCKET */ // prettier-ignore -export const ROCKET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M7.288 23.292l7.997-7.997 1.415 1.414-7.998 7.997z" }], - ["path", { d: "M17 30a1 1 0 01-.37-.07 1 1 0 01-.62-.79l-1-7 2-.28.75 5.27L21 24.52V17a1 1 0 01.29-.71l4.07-4.07A8.94 8.94 0 0028 5.86V4h-1.86a8.94 8.94 0 00-6.36 2.64l-4.07 4.07A1 1 0 0115 11H7.48l-2.61 3.26 5.27.75-.28 2-7-1a1 1 0 01-.79-.62 1 1 0 01.15-1l4-5A1 1 0 017 9h7.59l3.77-3.78A10.92 10.92 0 0126.14 2H28a2 2 0 012 2v1.86a10.92 10.92 0 01-3.22 7.78L23 17.41V25a1 1 0 01-.38.78l-5 4A1 1 0 0117 30z" }]]; +export const ROCKET = svg( + ["path", { d: "M7.288 23.292l7.997-7.997 1.415 1.414-7.998 7.997z" }], + ["path", { d: "M17 30a1 1 0 01-.37-.07 1 1 0 01-.62-.79l-1-7 2-.28.75 5.27L21 24.52V17a1 1 0 01.29-.71l4.07-4.07A8.94 8.94 0 0028 5.86V4h-1.86a8.94 8.94 0 00-6.36 2.64l-4.07 4.07A1 1 0 0115 11H7.48l-2.61 3.26 5.27.75-.28 2-7-1a1 1 0 01-.79-.62 1 1 0 01.15-1l4-5A1 1 0 017 9h7.59l3.77-3.78A10.92 10.92 0 0126.14 2H28a2 2 0 012 2v1.86a10.92 10.92 0 01-3.22 7.78L23 17.41V25a1 1 0 01-.38.78l-5 4A1 1 0 0117 30z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-clockwise-alt-filled.ts b/packages/hiccup-carbon-icons/src/rotate-clockwise-alt-filled.ts index dfc11b4aa9..6004c663ae 100644 --- a/packages/hiccup-carbon-icons/src/rotate-clockwise-alt-filled.ts +++ b/packages/hiccup-carbon-icons/src/rotate-clockwise-alt-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_CLOCKWISE_ALT_FILLED */ // prettier-ignore -export const ROTATE_CLOCKWISE_ALT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 30H4a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM30 15l-1.41-1.41L26 16.17V11a7.008 7.008 0 00-7-7h-5v2h5a5.006 5.006 0 015 5v5.17l-2.59-2.58L20 15l5 5z" }]]; +export const ROTATE_CLOCKWISE_ALT_FILLED = svg( + ["path", { d: "M16 30H4a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM30 15l-1.41-1.41L26 16.17V11a7.008 7.008 0 00-7-7h-5v2h5a5.006 5.006 0 015 5v5.17l-2.59-2.58L20 15l5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-clockwise-alt.ts b/packages/hiccup-carbon-icons/src/rotate-clockwise-alt.ts index fb54c5afce..8b6d0c738b 100644 --- a/packages/hiccup-carbon-icons/src/rotate-clockwise-alt.ts +++ b/packages/hiccup-carbon-icons/src/rotate-clockwise-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_CLOCKWISE_ALT */ // prettier-ignore -export const ROTATE_CLOCKWISE_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 30H4a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM4 16v12h12.001L16 16zM30 15l-1.41-1.41L26 16.17V11a7.008 7.008 0 00-7-7h-5v2h5a5.006 5.006 0 015 5v5.17l-2.59-2.58L20 15l5 5z" }]]; +export const ROTATE_CLOCKWISE_ALT = svg( + ["path", { d: "M16 30H4a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM4 16v12h12.001L16 16zM30 15l-1.41-1.41L26 16.17V11a7.008 7.008 0 00-7-7h-5v2h5a5.006 5.006 0 015 5v5.17l-2.59-2.58L20 15l5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-clockwise-filled.ts b/packages/hiccup-carbon-icons/src/rotate-clockwise-filled.ts index 0a6232036d..34951a0bce 100644 --- a/packages/hiccup-carbon-icons/src/rotate-clockwise-filled.ts +++ b/packages/hiccup-carbon-icons/src/rotate-clockwise-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_CLOCKWISE_FILLED */ // prettier-ignore -export const ROTATE_CLOCKWISE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 30H16a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM15 2l-1.41 1.41L16.17 6H11a7.008 7.008 0 00-7 7v5h2v-5a5.006 5.006 0 015-5h5.17l-2.58 2.59L15 12l5-5z" }]]; +export const ROTATE_CLOCKWISE_FILLED = svg( + ["path", { d: "M28 30H16a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM15 2l-1.41 1.41L16.17 6H11a7.008 7.008 0 00-7 7v5h2v-5a5.006 5.006 0 015-5h5.17l-2.58 2.59L15 12l5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-clockwise.ts b/packages/hiccup-carbon-icons/src/rotate-clockwise.ts index 4942c4e57e..2b8c23b16e 100644 --- a/packages/hiccup-carbon-icons/src/rotate-clockwise.ts +++ b/packages/hiccup-carbon-icons/src/rotate-clockwise.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_CLOCKWISE */ // prettier-ignore -export const ROTATE_CLOCKWISE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 30H16a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM16 16v12h12.001L28 16zM15 2l-1.41 1.41L16.17 6H11a7.008 7.008 0 00-7 7v5h2v-5a5.006 5.006 0 015-5h5.17l-2.58 2.59L15 12l5-5z" }]]; +export const ROTATE_CLOCKWISE = svg( + ["path", { d: "M28 30H16a2.002 2.002 0 01-2-2V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2zM16 16v12h12.001L28 16zM15 2l-1.41 1.41L16.17 6H11a7.008 7.008 0 00-7 7v5h2v-5a5.006 5.006 0 015-5h5.17l-2.58 2.59L15 12l5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt-filled.ts b/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt-filled.ts index a9f6951bda..9ff36c213d 100644 --- a/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt-filled.ts +++ b/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_COUNTERCLOCKWISE_ALT_FILLED */ // prettier-ignore -export const ROTATE_COUNTERCLOCKWISE_ALT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H16a2.002 2.002 0 01-2-2zM2 15l1.41-1.41L6 16.17V11a7.008 7.008 0 017-7h5v2h-5a5.006 5.006 0 00-5 5v5.17l2.59-2.58L12 15l-5 5z" }]]; +export const ROTATE_COUNTERCLOCKWISE_ALT_FILLED = svg( + ["path", { d: "M14 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H16a2.002 2.002 0 01-2-2zM2 15l1.41-1.41L6 16.17V11a7.008 7.008 0 017-7h5v2h-5a5.006 5.006 0 00-5 5v5.17l2.59-2.58L12 15l-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt.ts b/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt.ts index 7fd7793069..1f60beafd4 100644 --- a/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt.ts +++ b/packages/hiccup-carbon-icons/src/rotate-counterclockwise-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_COUNTERCLOCKWISE_ALT */ // prettier-ignore -export const ROTATE_COUNTERCLOCKWISE_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H16a2.002 2.002 0 01-2-2zm2-12l-.001 12H28V16zM2 15l1.41-1.41L6 16.17V11a7.008 7.008 0 017-7h5v2h-5a5.006 5.006 0 00-5 5v5.17l2.59-2.58L12 15l-5 5z" }]]; +export const ROTATE_COUNTERCLOCKWISE_ALT = svg( + ["path", { d: "M14 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H16a2.002 2.002 0 01-2-2zm2-12l-.001 12H28V16zM2 15l1.41-1.41L6 16.17V11a7.008 7.008 0 017-7h5v2h-5a5.006 5.006 0 00-5 5v5.17l2.59-2.58L12 15l-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-counterclockwise-filled.ts b/packages/hiccup-carbon-icons/src/rotate-counterclockwise-filled.ts index bac4ebd18b..fe162ab634 100644 --- a/packages/hiccup-carbon-icons/src/rotate-counterclockwise-filled.ts +++ b/packages/hiccup-carbon-icons/src/rotate-counterclockwise-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_COUNTERCLOCKWISE_FILLED */ // prettier-ignore -export const ROTATE_COUNTERCLOCKWISE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H4a2.002 2.002 0 01-2-2zM17 2l1.41 1.41L15.83 6H21a7.008 7.008 0 017 7v5h-2v-5a5.006 5.006 0 00-5-5h-5.17l2.58 2.59L17 12l-5-5z" }]]; +export const ROTATE_COUNTERCLOCKWISE_FILLED = svg( + ["path", { d: "M2 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H4a2.002 2.002 0 01-2-2zM17 2l1.41 1.41L15.83 6H21a7.008 7.008 0 017 7v5h-2v-5a5.006 5.006 0 00-5-5h-5.17l2.58 2.59L17 12l-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate-counterclockwise.ts b/packages/hiccup-carbon-icons/src/rotate-counterclockwise.ts index 795ff75c17..37835236e2 100644 --- a/packages/hiccup-carbon-icons/src/rotate-counterclockwise.ts +++ b/packages/hiccup-carbon-icons/src/rotate-counterclockwise.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE_COUNTERCLOCKWISE */ // prettier-ignore -export const ROTATE_COUNTERCLOCKWISE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H4a2.002 2.002 0 01-2-2zm2-12l-.001 12H16V16zM17 2l1.41 1.41L15.83 6H21a7.008 7.008 0 017 7v5h-2v-5a5.006 5.006 0 00-5-5h-5.17l2.58 2.59L17 12l-5-5z" }]]; +export const ROTATE_COUNTERCLOCKWISE = svg( + ["path", { d: "M2 28V16a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.002 2.002 0 01-2 2H4a2.002 2.002 0 01-2-2zm2-12l-.001 12H16V16zM17 2l1.41 1.41L15.83 6H21a7.008 7.008 0 017 7v5h-2v-5a5.006 5.006 0 00-5-5h-5.17l2.58 2.59L17 12l-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rotate.ts b/packages/hiccup-carbon-icons/src/rotate.ts index 64c457b94a..4ad4b1922e 100644 --- a/packages/hiccup-carbon-icons/src/rotate.ts +++ b/packages/hiccup-carbon-icons/src/rotate.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROTATE */ // prettier-ignore -export const ROTATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17.91 26.82l.35 2a12.9 12.9 0 004.24-1.54l-1-1.73a10.88 10.88 0 01-3.59 1.27zM24.42 23.07L26 24.35a13 13 0 002.24-3.91l-1.87-.68a11 11 0 01-1.95 3.31zM9.5 27.25a12.9 12.9 0 004.24 1.54l.35-2a10.88 10.88 0 01-3.59-1.3zM5.67 19.76l-1.87.68A13 13 0 006 24.35l.32-.26 1.22-1a11 11 0 01-1.91-3.31zM29 16a12.85 12.85 0 00-.8-4.44l-1.87.68A11.18 11.18 0 0127 16zM26 7.65a13 13 0 00-20 0V4H4v8h8v-2H6.81a11 11 0 0117.61-1.07z" }]]; +export const ROTATE = svg( + ["path", { d: "M17.91 26.82l.35 2a12.9 12.9 0 004.24-1.54l-1-1.73a10.88 10.88 0 01-3.59 1.27zM24.42 23.07L26 24.35a13 13 0 002.24-3.91l-1.87-.68a11 11 0 01-1.95 3.31zM9.5 27.25a12.9 12.9 0 004.24 1.54l.35-2a10.88 10.88 0 01-3.59-1.3zM5.67 19.76l-1.87.68A13 13 0 006 24.35l.32-.26 1.22-1a11 11 0 01-1.91-3.31zM29 16a12.85 12.85 0 00-.8-4.44l-1.87.68A11.18 11.18 0 0127 16zM26 7.65a13 13 0 00-20 0V4H4v8h8v-2H6.81a11 11 0 0117.61-1.07z" }] +); diff --git a/packages/hiccup-carbon-icons/src/row-collapse.ts b/packages/hiccup-carbon-icons/src/row-collapse.ts index 1c2353c4f7..012b2a5779 100644 --- a/packages/hiccup-carbon-icons/src/row-collapse.ts +++ b/packages/hiccup-carbon-icons/src/row-collapse.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROW_COLLAPSE */ // prettier-ignore -export const ROW_COLLAPSE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 20H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2v-4a2 2 0 00-2-2zm0 6H6v-4h20zM17 7.828l2.586 2.586L21 9l-5-5-5 5 1.414 1.414L15 7.828V14H4v2h24v-2H17V7.828z" }]]; +export const ROW_COLLAPSE = svg( + ["path", { d: "M26 20H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2v-4a2 2 0 00-2-2zm0 6H6v-4h20zM17 7.828l2.586 2.586L21 9l-5-5-5 5 1.414 1.414L15 7.828V14H4v2h24v-2H17V7.828z" }] +); diff --git a/packages/hiccup-carbon-icons/src/row-expand.ts b/packages/hiccup-carbon-icons/src/row-expand.ts index 1a1d9507e5..54fb6d0931 100644 --- a/packages/hiccup-carbon-icons/src/row-expand.ts +++ b/packages/hiccup-carbon-icons/src/row-expand.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROW_EXPAND */ // prettier-ignore -export const ROW_EXPAND: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 18h11v6.172l-2.586-2.586L11 23l5 5 5-5-1.414-1.414L17 24.172V18h11v-2H4v2zM26 4H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm0 6H6V6h20z" }]]; +export const ROW_EXPAND = svg( + ["path", { d: "M4 18h11v6.172l-2.586-2.586L11 23l5 5 5-5-1.414-1.414L17 24.172V18h11v-2H4v2zM26 4H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zm0 6H6V6h20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/row.ts b/packages/hiccup-carbon-icons/src/row.ts index 06178ce434..b7d7de9b4c 100644 --- a/packages/hiccup-carbon-icons/src/row.ts +++ b/packages/hiccup-carbon-icons/src/row.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ROW */ // prettier-ignore -export const ROW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 24h24v2H4zM26 18H6v-4h20v4m2 0v-4a2 2 0 00-2-2H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2zM4 6h24v2H4z" }]]; +export const ROW = svg( + ["path", { d: "M4 24h24v2H4zM26 18H6v-4h20v4m2 0v-4a2 2 0 00-2-2H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2zM4 6h24v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rss.ts b/packages/hiccup-carbon-icons/src/rss.ts index ab0581d429..bd149c38e8 100644 --- a/packages/hiccup-carbon-icons/src/rss.ts +++ b/packages/hiccup-carbon-icons/src/rss.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RSS */ // prettier-ignore -export const RSS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 18c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zm0 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM30 24h-2C28 13 19 4 8 4V2c12.1 0 22 9.9 22 22z" }], - ["path", { d: "M22 24h-2c0-6.6-5.4-12-12-12v-2c7.7 0 14 6.3 14 14z" }]]; +export const RSS = svg( + ["path", { d: "M8 18c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zm0 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM30 24h-2C28 13 19 4 8 4V2c12.1 0 22 9.9 22 22z" }], + ["path", { d: "M22 24h-2c0-6.6-5.4-12-12-12v-2c7.7 0 14 6.3 14 14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/rule.ts b/packages/hiccup-carbon-icons/src/rule.ts index 9cbfdb4954..a0b5026d53 100644 --- a/packages/hiccup-carbon-icons/src/rule.ts +++ b/packages/hiccup-carbon-icons/src/rule.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RULE */ // prettier-ignore -export const RULE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 16h12v2H10zM10 10h12v2H10z" }], - ["path", { d: "M16 30l-6.176-3.293A10.982 10.982 0 014 17V4a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v13a10.982 10.982 0 01-5.824 9.707zM6 4v13a8.985 8.985 0 004.766 7.942L16 27.733l5.234-2.79A8.985 8.985 0 0026 17V4z" }]]; +export const RULE = svg( + ["path", { d: "M10 16h12v2H10zM10 10h12v2H10z" }], + ["path", { d: "M16 30l-6.176-3.293A10.982 10.982 0 014 17V4a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v13a10.982 10.982 0 01-5.824 9.707zM6 4v13a8.985 8.985 0 004.766 7.942L16 27.733l5.234-2.79A8.985 8.985 0 0026 17V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/ruler-alt.ts b/packages/hiccup-carbon-icons/src/ruler-alt.ts index f674292bf4..26c9f1b6b0 100644 --- a/packages/hiccup-carbon-icons/src/ruler-alt.ts +++ b/packages/hiccup-carbon-icons/src/ruler-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RULER_ALT */ // prettier-ignore -export const RULER_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.41 21.67L10.34 2.58a2 2 0 00-2.83 0L2.59 7.51a2 2 0 000 2.82l19.07 19.09a2 2 0 001.42.58 2 2 0 001.41-.58l4.92-4.93a2 2 0 000-2.82zM23.08 28L4 8.92 8.92 4l3.79 3.79L10.46 10l1.41 1.41 2.25-2.21 4.13 4.13L16 15.58 17.42 17l2.25-2.25 4.13 4.13-2.25 2.25L23 22.54l2.25-2.25L28 23.08z" }]]; +export const RULER_ALT = svg( + ["path", { d: "M29.41 21.67L10.34 2.58a2 2 0 00-2.83 0L2.59 7.51a2 2 0 000 2.82l19.07 19.09a2 2 0 001.42.58 2 2 0 001.41-.58l4.92-4.93a2 2 0 000-2.82zM23.08 28L4 8.92 8.92 4l3.79 3.79L10.46 10l1.41 1.41 2.25-2.21 4.13 4.13L16 15.58 17.42 17l2.25-2.25 4.13 4.13-2.25 2.25L23 22.54l2.25-2.25L28 23.08z" }] +); diff --git a/packages/hiccup-carbon-icons/src/ruler.ts b/packages/hiccup-carbon-icons/src/ruler.ts index 5c36eb4ae5..6eec79da1f 100644 --- a/packages/hiccup-carbon-icons/src/ruler.ts +++ b/packages/hiccup-carbon-icons/src/ruler.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RULER */ // prettier-ignore -export const RULER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 10H3a1 1 0 00-1 1v10a1 1 0 001 1h26a1 1 0 001-1V11a1 1 0 00-1-1zm-1 10H4v-8h4v4h2v-4h5v4h2v-4h5v4h2v-4h4z" }]]; +export const RULER = svg( + ["path", { d: "M29 10H3a1 1 0 00-1 1v10a1 1 0 001 1h26a1 1 0 001-1V11a1 1 0 00-1-1zm-1 10H4v-8h4v4h2v-4h5v4h2v-4h5v4h2v-4h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/run.ts b/packages/hiccup-carbon-icons/src/run.ts index 3fbcfc3670..30bfbed81c 100644 --- a/packages/hiccup-carbon-icons/src/run.ts +++ b/packages/hiccup-carbon-icons/src/run.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#RUN */ // prettier-ignore -export const RUN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 16a6 6 0 11-6 6 6 6 0 016-6m0-2a8 8 0 108 8 8 8 0 00-8-8z" }], - ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V12h22V6a2 2 0 00-2-2zM6 10V6h20v4z" }], - ["path", { d: "M19 19v6l5-3-5-3z" }]]; +export const RUN = svg( + ["path", { d: "M21 16a6 6 0 11-6 6 6 6 0 016-6m0-2a8 8 0 108 8 8 8 0 00-8-8z" }], + ["path", { d: "M26 4H6a2 2 0 00-2 2v20a2 2 0 002 2h4v-2H6V12h22V6a2 2 0 00-2-2zM6 10V6h20v4z" }], + ["path", { d: "M19 19v6l5-3-5-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/save-model.ts b/packages/hiccup-carbon-icons/src/save-model.ts index 4c6368047a..b7731f77f1 100644 --- a/packages/hiccup-carbon-icons/src/save-model.ts +++ b/packages/hiccup-carbon-icons/src/save-model.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SAVE_MODEL */ // prettier-ignore -export const SAVE_MODEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 20l1.427 1.903L23 26.963l-4.427-5.06L20 20h6m1-2h-8l-3 4 7 8 7-8-3-4z" }], - ["path", { d: "M16 26h-4v-8h2v-2h-2a2 2 0 00-2 2v8H6V6h4v4a2 2 0 002 2h8a2 2 0 002-2V6.41l4 4V16h2v-6a1 1 0 00-.29-.71l-5-5A.999.999 0 0022 4H6a2 2 0 00-2 2v20a2 2 0 002 2h10zM12 6h8v4h-8z" }]]; +export const SAVE_MODEL = svg( + ["path", { d: "M26 20l1.427 1.903L23 26.963l-4.427-5.06L20 20h6m1-2h-8l-3 4 7 8 7-8-3-4z" }], + ["path", { d: "M16 26h-4v-8h2v-2h-2a2 2 0 00-2 2v8H6V6h4v4a2 2 0 002 2h8a2 2 0 002-2V6.41l4 4V16h2v-6a1 1 0 00-.29-.71l-5-5A.999.999 0 0022 4H6a2 2 0 00-2 2v20a2 2 0 002 2h10zM12 6h8v4h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/save.ts b/packages/hiccup-carbon-icons/src/save.ts index fec8e15308..65aa1f5926 100644 --- a/packages/hiccup-carbon-icons/src/save.ts +++ b/packages/hiccup-carbon-icons/src/save.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SAVE */ // prettier-ignore -export const SAVE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.71 9.29l-5-5A1 1 0 0022 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V10a1 1 0 00-.29-.71zM12 6h8v4h-8zm8 20h-8v-8h8zm2 0v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8H6V6h4v4a2 2 0 002 2h8a2 2 0 002-2V6.41l4 4V26z" }]]; +export const SAVE = svg( + ["path", { d: "M27.71 9.29l-5-5A1 1 0 0022 4H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2V10a1 1 0 00-.29-.71zM12 6h8v4h-8zm8 20h-8v-8h8zm2 0v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8H6V6h4v4a2 2 0 002 2h8a2 2 0 002-2V6.41l4 4V26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/scale.ts b/packages/hiccup-carbon-icons/src/scale.ts index c5e9b16aff..f292501981 100644 --- a/packages/hiccup-carbon-icons/src/scale.ts +++ b/packages/hiccup-carbon-icons/src/scale.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCALE */ // prettier-ignore -export const SCALE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 17H7a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zm-6 8v-6h6v6z" }], - ["path", { d: "M19 21v2h6a2 2 0 002-2V7a2 2 0 00-2-2H11a2 2 0 00-2 2v6h2V7h14v14" }]]; +export const SCALE = svg( + ["path", { d: "M13 17H7a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2zm-6 8v-6h6v6z" }], + ["path", { d: "M19 21v2h6a2 2 0 002-2V7a2 2 0 00-2-2H11a2 2 0 00-2 2v6h2V7h14v14" }] +); diff --git a/packages/hiccup-carbon-icons/src/scalpel.ts b/packages/hiccup-carbon-icons/src/scalpel.ts index fdadb3bb78..ecb6ca431c 100644 --- a/packages/hiccup-carbon-icons/src/scalpel.ts +++ b/packages/hiccup-carbon-icons/src/scalpel.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCALPEL */ // prettier-ignore -export const SCALPEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.83 5.17a4.1 4.1 0 00-5.66 0L.34 28h9.25a5 5 0 003.53-1.46l15.71-15.71a4 4 0 000-5.66zM12.29 18.88l2.09-2.09 2.83 2.83-2.09 2.09zm-.58 6.24a3 3 0 01-2.12.88H5.17l5.71-5.71 2.83 2.83zm15.7-15.71l-8.79 8.8-2.83-2.83 8.8-8.79a2 2 0 012.82 0 2 2 0 010 2.82z" }]]; +export const SCALPEL = svg( + ["path", { d: "M28.83 5.17a4.1 4.1 0 00-5.66 0L.34 28h9.25a5 5 0 003.53-1.46l15.71-15.71a4 4 0 000-5.66zM12.29 18.88l2.09-2.09 2.83 2.83-2.09 2.09zm-.58 6.24a3 3 0 01-2.12.88H5.17l5.71-5.71 2.83 2.83zm15.7-15.71l-8.79 8.8-2.83-2.83 8.8-8.79a2 2 0 012.82 0 2 2 0 010 2.82z" }] +); diff --git a/packages/hiccup-carbon-icons/src/scan.ts b/packages/hiccup-carbon-icons/src/scan.ts index e20fd0f583..1b4e459674 100644 --- a/packages/hiccup-carbon-icons/src/scan.ts +++ b/packages/hiccup-carbon-icons/src/scan.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCAN */ // prettier-ignore -export const SCAN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 29H5a2 2 0 01-2-2V5a2 2 0 012-2h16v2H5v22h16z" }], - ["path", { d: "M15 9h2v14h-2zM27 9h2v14h-2zM21 9h2v14h-2z" }]]; +export const SCAN = svg( + ["path", { d: "M21 29H5a2 2 0 01-2-2V5a2 2 0 012-2h16v2H5v22h16z" }], + ["path", { d: "M15 9h2v14h-2zM27 9h2v14h-2zM21 9h2v14h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/scatter-matrix.ts b/packages/hiccup-carbon-icons/src/scatter-matrix.ts index 5452f91d1d..2be3356137 100644 --- a/packages/hiccup-carbon-icons/src/scatter-matrix.ts +++ b/packages/hiccup-carbon-icons/src/scatter-matrix.ts @@ -1,25 +1,27 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCATTER_MATRIX */ // prettier-ignore -export const SCATTER_MATRIX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2.5, - cy: 9.5, - cx: 9.5, - }], - ["circle", - { - r: 2.5, - cy: 22.5, - cx: 9.5, - }], - ["circle", - { - r: 2.5, - cy: 22.5, - cx: 22.5, - }], - ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zm0 13H17V4h11zM15 4v11H4V4zM4 17h11v11H4zm13 11V17h11v11z" }]]; +export const SCATTER_MATRIX = svg( + ["circle", + { + r: 2.5, + cy: 9.5, + cx: 9.5, + }], + ["circle", + { + r: 2.5, + cy: 22.5, + cx: 9.5, + }], + ["circle", + { + r: 2.5, + cy: 22.5, + cx: 22.5, + }], + ["path", { d: "M28 2H4a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2V4a2.002 2.002 0 00-2-2zm0 13H17V4h11zM15 4v11H4V4zM4 17h11v11H4zm13 11V17h11v11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/schematics.ts b/packages/hiccup-carbon-icons/src/schematics.ts index 68a24a87af..e09265cf5f 100644 --- a/packages/hiccup-carbon-icons/src/schematics.ts +++ b/packages/hiccup-carbon-icons/src/schematics.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCHEMATICS */ // prettier-ignore -export const SCHEMATICS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 19.001A4.006 4.006 0 0023 15H9A2.003 2.003 0 017 13V9.857A3.995 3.995 0 009.858 7h12.284a4 4 0 100-2H9.858A3.992 3.992 0 105 9.858v3.141A4.006 4.006 0 009.001 17H23A2.003 2.003 0 0125 19.001V22h-3v3H9.858a4 4 0 100 2H22v3h8v-8h-3zM26 4a2 2 0 11-2 2 2.002 2.002 0 012-2zM4 6a2 2 0 112 2 2.002 2.002 0 01-2-2zm2 22a2 2 0 112-2 2.002 2.002 0 01-2 2zm22-4v4h-4v-4z" }]]; +export const SCHEMATICS = svg( + ["path", { d: "M27 19.001A4.006 4.006 0 0023 15H9A2.003 2.003 0 017 13V9.857A3.995 3.995 0 009.858 7h12.284a4 4 0 100-2H9.858A3.992 3.992 0 105 9.858v3.141A4.006 4.006 0 009.001 17H23A2.003 2.003 0 0125 19.001V22h-3v3H9.858a4 4 0 100 2H22v3h8v-8h-3zM26 4a2 2 0 11-2 2 2.002 2.002 0 012-2zM4 6a2 2 0 112 2 2.002 2.002 0 01-2-2zm2 22a2 2 0 112-2 2.002 2.002 0 01-2 2zm22-4v4h-4v-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/scooter-front.ts b/packages/hiccup-carbon-icons/src/scooter-front.ts index bca4a0b9d9..25b0c84467 100644 --- a/packages/hiccup-carbon-icons/src/scooter-front.ts +++ b/packages/hiccup-carbon-icons/src/scooter-front.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCOOTER_FRONT */ // prettier-ignore -export const SCOOTER_FRONT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 19h2v9h-2z" }], - ["path", { d: "M23 10V8h-3a2.002 2.002 0 00-2-2h-4a2.002 2.002 0 00-2 2H9v2h3v4.184A2.996 2.996 0 0010 17v7h2v-7a1 1 0 011-1h6a1 1 0 011 1v7h2v-7a2.996 2.996 0 00-2-2.816V10zm-5-2v6h-4V8z" }]]; +export const SCOOTER_FRONT = svg( + ["path", { d: "M15 19h2v9h-2z" }], + ["path", { d: "M23 10V8h-3a2.002 2.002 0 00-2-2h-4a2.002 2.002 0 00-2 2H9v2h3v4.184A2.996 2.996 0 0010 17v7h2v-7a1 1 0 011-1h6a1 1 0 011 1v7h2v-7a2.996 2.996 0 00-2-2.816V10zm-5-2v6h-4V8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/scooter.ts b/packages/hiccup-carbon-icons/src/scooter.ts index f444973398..bf98a0f2c3 100644 --- a/packages/hiccup-carbon-icons/src/scooter.ts +++ b/packages/hiccup-carbon-icons/src/scooter.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCOOTER */ // prettier-ignore -export const SCOOTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 28a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM24 8h-6v2h6a1 1 0 010 2h-3a1 1 0 00-.98 1.196l.924 4.621L18.434 22h-2.69l-2.572-8.575A1.988 1.988 0 0011.256 12H6v2h5.256l.6 2H7a5.006 5.006 0 00-5 5v2a1 1 0 001 1h1a4 4 0 008 0h7a1 1 0 00.857-.485l3-5a1 1 0 00.123-.711L22.22 14H24a3 3 0 000-6zM8 26a2.002 2.002 0 01-2-2h4a2.002 2.002 0 01-2 2zm-4-4v-1a3.003 3.003 0 013-3h5.456l1.2 4z" }]]; +export const SCOOTER = svg( + ["path", { d: "M26 28a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2zM24 8h-6v2h6a1 1 0 010 2h-3a1 1 0 00-.98 1.196l.924 4.621L18.434 22h-2.69l-2.572-8.575A1.988 1.988 0 0011.256 12H6v2h5.256l.6 2H7a5.006 5.006 0 00-5 5v2a1 1 0 001 1h1a4 4 0 008 0h7a1 1 0 00.857-.485l3-5a1 1 0 00.123-.711L22.22 14H24a3 3 0 000-6zM8 26a2.002 2.002 0 01-2-2h4a2.002 2.002 0 01-2 2zm-4-4v-1a3.003 3.003 0 013-3h5.456l1.2 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/screen-off.ts b/packages/hiccup-carbon-icons/src/screen-off.ts index dc4adead56..95b6de5eb3 100644 --- a/packages/hiccup-carbon-icons/src/screen-off.ts +++ b/packages/hiccup-carbon-icons/src/screen-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCREEN_OFF */ // prettier-ignore -export const SCREEN_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 22H11.41L30 3.41 28.59 2l-2 2H4a2 2 0 00-2 2v16h2V6h20.59L2 28.59 3.41 30l6-6H12v4H8v2h16v-2h-4v-4h8a2 2 0 002-2V9h-2zm-10 6h-4v-4h4z" }]]; +export const SCREEN_OFF = svg( + ["path", { d: "M28 22H11.41L30 3.41 28.59 2l-2 2H4a2 2 0 00-2 2v16h2V6h20.59L2 28.59 3.41 30l6-6H12v4H8v2h16v-2h-4v-4h8a2 2 0 002-2V9h-2zm-10 6h-4v-4h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/screen.ts b/packages/hiccup-carbon-icons/src/screen.ts index 8276b0204d..fad82ad2e3 100644 --- a/packages/hiccup-carbon-icons/src/screen.ts +++ b/packages/hiccup-carbon-icons/src/screen.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCREEN */ // prettier-ignore -export const SCREEN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4H4a2 2 0 00-2 2v16a2 2 0 002 2h8v4H8v2h16v-2h-4v-4h8a2 2 0 002-2V6a2 2 0 00-2-2zM18 28h-4v-4h4zm10-6H4V6h24z" }]]; +export const SCREEN = svg( + ["path", { d: "M28 4H4a2 2 0 00-2 2v16a2 2 0 002 2h8v4H8v2h16v-2h-4v-4h8a2 2 0 002-2V6a2 2 0 00-2-2zM18 28h-4v-4h4zm10-6H4V6h24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/script-reference.ts b/packages/hiccup-carbon-icons/src/script-reference.ts index aad7831e75..55492f425e 100644 --- a/packages/hiccup-carbon-icons/src/script-reference.ts +++ b/packages/hiccup-carbon-icons/src/script-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCRIPT_REFERENCE */ // prettier-ignore -export const SCRIPT_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM27.17 26l-2.58 2.58L26 30l4-4-4-4-1.42 1.41L27.17 26zM18.83 26l2.58-2.58L20 22l-4 4 4 4 1.42-1.41L18.83 26zM25.7 9.3l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v12h2V4h8v6a2.006 2.006 0 002 2h6v6h2v-8a.91.91 0 00-.3-.7zM18 10V4.4l5.6 5.6z" }]]; +export const SCRIPT_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM27.17 26l-2.58 2.58L26 30l4-4-4-4-1.42 1.41L27.17 26zM18.83 26l2.58-2.58L20 22l-4 4 4 4 1.42-1.41L18.83 26zM25.7 9.3l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v12h2V4h8v6a2.006 2.006 0 002 2h6v6h2v-8a.91.91 0 00-.3-.7zM18 10V4.4l5.6 5.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/script.ts b/packages/hiccup-carbon-icons/src/script.ts index 43f1828554..26d6dc39b2 100644 --- a/packages/hiccup-carbon-icons/src/script.ts +++ b/packages/hiccup-carbon-icons/src/script.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SCRIPT */ // prettier-ignore -export const SCRIPT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18.83 26l2.58-2.58L20 22l-4 4 4 4 1.42-1.41L18.83 26zM27.17 26l-2.58 2.58L26 30l4-4-4-4-1.42 1.41L27.17 26z" }], - ["path", { d: "M14 28H8V4h8v6a2.006 2.006 0 002 2h6v6h2v-8a.91.91 0 00-.3-.7l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h6zm4-23.6l5.6 5.6H18z" }]]; +export const SCRIPT = svg( + ["path", { d: "M18.83 26l2.58-2.58L20 22l-4 4 4 4 1.42-1.41L18.83 26zM27.17 26l-2.58 2.58L26 30l4-4-4-4-1.42 1.41L27.17 26z" }], + ["path", { d: "M14 28H8V4h8v6a2.006 2.006 0 002 2h6v6h2v-8a.91.91 0 00-.3-.7l-7-7A.909.909 0 0018 2H8a2.006 2.006 0 00-2 2v24a2.006 2.006 0 002 2h6zm4-23.6l5.6 5.6H18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sdk.ts b/packages/hiccup-carbon-icons/src/sdk.ts index 57b8e31fbe..65aa297cd6 100644 --- a/packages/hiccup-carbon-icons/src/sdk.ts +++ b/packages/hiccup-carbon-icons/src/sdk.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SDK */ // prettier-ignore -export const SDK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 9h-2.1L24 15.6V9h-2v14h2v-4.3l.9-1.5 3 5.8H30l-3.9-7.6L30 9zM16 23h-4V9h4a4.012 4.012 0 014 4v6a4.012 4.012 0 01-4 4zm-2-2h2a2.006 2.006 0 002-2v-6a2.006 2.006 0 00-2-2h-2zM8 23H2v-2h6v-4H4a2.006 2.006 0 01-2-2v-4a2.006 2.006 0 012-2h6v2H4v4h4a2.006 2.006 0 012 2v4a2.006 2.006 0 01-2 2z" }]]; +export const SDK = svg( + ["path", { d: "M30 9h-2.1L24 15.6V9h-2v14h2v-4.3l.9-1.5 3 5.8H30l-3.9-7.6L30 9zM16 23h-4V9h4a4.012 4.012 0 014 4v6a4.012 4.012 0 01-4 4zm-2-2h2a2.006 2.006 0 002-2v-6a2.006 2.006 0 00-2-2h-2zM8 23H2v-2h6v-4H4a2.006 2.006 0 01-2-2v-4a2.006 2.006 0 012-2h6v2H4v4h4a2.006 2.006 0 012 2v4a2.006 2.006 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/search.ts b/packages/hiccup-carbon-icons/src/search.ts index 119e467e09..43e6848065 100644 --- a/packages/hiccup-carbon-icons/src/search.ts +++ b/packages/hiccup-carbon-icons/src/search.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SEARCH */ // prettier-ignore -export const SEARCH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 28.59L22.45 21A11 11 0 1021 22.45L28.59 30zM5 14a9 9 0 119 9 9 9 0 01-9-9z" }]]; +export const SEARCH = svg( + ["path", { d: "M30 28.59L22.45 21A11 11 0 1021 22.45L28.59 30zM5 14a9 9 0 119 9 9 9 0 01-9-9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/security.ts b/packages/hiccup-carbon-icons/src/security.ts index 8b306161e6..7fc9dd6a88 100644 --- a/packages/hiccup-carbon-icons/src/security.ts +++ b/packages/hiccup-carbon-icons/src/security.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SECURITY */ // prettier-ignore -export const SECURITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 16.59L11.41 14 10 15.41l4 4 8-8L20.59 10 14 16.59z" }], - ["path", { d: "M16 30l-6.176-3.293A10.982 10.982 0 014 17V4a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v13a10.982 10.982 0 01-5.824 9.707zM6 4v13a8.985 8.985 0 004.766 7.942L16 27.733l5.234-2.79A8.985 8.985 0 0026 17V4z" }]]; +export const SECURITY = svg( + ["path", { d: "M14 16.59L11.41 14 10 15.41l4 4 8-8L20.59 10 14 16.59z" }], + ["path", { d: "M16 30l-6.176-3.293A10.982 10.982 0 014 17V4a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v13a10.982 10.982 0 01-5.824 9.707zM6 4v13a8.985 8.985 0 004.766 7.942L16 27.733l5.234-2.79A8.985 8.985 0 0026 17V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/select-01.ts b/packages/hiccup-carbon-icons/src/select-01.ts index 86184df3d1..54ba98d8d9 100644 --- a/packages/hiccup-carbon-icons/src/select-01.ts +++ b/packages/hiccup-carbon-icons/src/select-01.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SELECT_01 */ // prettier-ignore -export const SELECT_01: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 6H8V2H6v4H2v2h4v4h2V8h4V6zM16 6h4v2h-4zM24 6v2h4v4h2V8a2 2 0 00-2-2zM6 16h2v4H6zM8 28v-4H6v4a2 2 0 002 2h4v-2zM28 16h2v4h-2zM16 28h4v2h-4zM28 24v4h-4v2h4a2 2 0 002-2v-4z" }]]; +export const SELECT_01 = svg( + ["path", { d: "M12 6H8V2H6v4H2v2h4v4h2V8h4V6zM16 6h4v2h-4zM24 6v2h4v4h2V8a2 2 0 00-2-2zM6 16h2v4H6zM8 28v-4H6v4a2 2 0 002 2h4v-2zM28 16h2v4h-2zM16 28h4v2h-4zM28 24v4h-4v2h4a2 2 0 002-2v-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/select-02.ts b/packages/hiccup-carbon-icons/src/select-02.ts index 24772ac878..262535af33 100644 --- a/packages/hiccup-carbon-icons/src/select-02.ts +++ b/packages/hiccup-carbon-icons/src/select-02.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SELECT_02 */ // prettier-ignore -export const SELECT_02: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 6H8V2H6v4H2v2h4v4h2V8h4V6zM30 10V4h-6v2h-8v2h8v2h2v14h-2v2H10v-2H8v-8H6v8H4v6h6v-2h14v2h6v-6h-2V10zM8 28H6v-2h2zm20 0h-2v-2h2zM26 6h2v2h-2z" }]]; +export const SELECT_02 = svg( + ["path", { d: "M12 6H8V2H6v4H2v2h4v4h2V8h4V6zM30 10V4h-6v2h-8v2h8v2h2v14h-2v2H10v-2H8v-8H6v8H4v6h6v-2h14v2h6v-6h-2V10zM8 28H6v-2h2zm20 0h-2v-2h2zM26 6h2v2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/send-alt-filled.ts b/packages/hiccup-carbon-icons/src/send-alt-filled.ts index bb731cf42b..fc0296696f 100644 --- a/packages/hiccup-carbon-icons/src/send-alt-filled.ts +++ b/packages/hiccup-carbon-icons/src/send-alt-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SEND_ALT_FILLED */ // prettier-ignore -export const SEND_ALT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.71 4.29a1 1 0 00-1.05-.23l-22 8a1 1 0 000 1.87l8.59 3.43L19.59 11 21 12.41l-6.37 6.37 3.44 8.59A1 1 0 0019 28a1 1 0 00.92-.66l8-22a1 1 0 00-.21-1.05z" }]]; +export const SEND_ALT_FILLED = svg( + ["path", { d: "M27.71 4.29a1 1 0 00-1.05-.23l-22 8a1 1 0 000 1.87l8.59 3.43L19.59 11 21 12.41l-6.37 6.37 3.44 8.59A1 1 0 0019 28a1 1 0 00.92-.66l8-22a1 1 0 00-.21-1.05z" }] +); diff --git a/packages/hiccup-carbon-icons/src/send-alt.ts b/packages/hiccup-carbon-icons/src/send-alt.ts index 0e109059f3..c184631548 100644 --- a/packages/hiccup-carbon-icons/src/send-alt.ts +++ b/packages/hiccup-carbon-icons/src/send-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SEND_ALT */ // prettier-ignore -export const SEND_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.71 4.29a1 1 0 00-1.05-.23l-22 8a1 1 0 000 1.87l9.6 3.84 3.84 9.6a1 1 0 00.9.63 1 1 0 00.92-.66l8-22a1 1 0 00-.21-1.05zM19 24.2l-2.79-7L21 12.41 19.59 11l-4.83 4.83L7.8 13l17.53-6.33z" }]]; +export const SEND_ALT = svg( + ["path", { d: "M27.71 4.29a1 1 0 00-1.05-.23l-22 8a1 1 0 000 1.87l9.6 3.84 3.84 9.6a1 1 0 00.9.63 1 1 0 00.92-.66l8-22a1 1 0 00-.21-1.05zM19 24.2l-2.79-7L21 12.41 19.59 11l-4.83 4.83L7.8 13l17.53-6.33z" }] +); diff --git a/packages/hiccup-carbon-icons/src/send-filled.ts b/packages/hiccup-carbon-icons/src/send-filled.ts index c87a0eade1..7133f16bd7 100644 --- a/packages/hiccup-carbon-icons/src/send-filled.ts +++ b/packages/hiccup-carbon-icons/src/send-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SEND_FILLED */ // prettier-ignore -export const SEND_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.45 15.11l-22-11a1 1 0 00-1.08.12 1 1 0 00-.33 1L6.69 15H18v2H6.69L4 26.74A1 1 0 005 28a1 1 0 00.45-.11l22-11a1 1 0 000-1.78z" }]]; +export const SEND_FILLED = svg( + ["path", { d: "M27.45 15.11l-22-11a1 1 0 00-1.08.12 1 1 0 00-.33 1L6.69 15H18v2H6.69L4 26.74A1 1 0 005 28a1 1 0 00.45-.11l22-11a1 1 0 000-1.78z" }] +); diff --git a/packages/hiccup-carbon-icons/src/send.ts b/packages/hiccup-carbon-icons/src/send.ts index 76d307d689..74c8082d48 100644 --- a/packages/hiccup-carbon-icons/src/send.ts +++ b/packages/hiccup-carbon-icons/src/send.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SEND */ // prettier-ignore -export const SEND: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.45 15.11l-22-11a1 1 0 00-1.08.12 1 1 0 00-.33 1L7 16 4 26.74A1 1 0 005 28a1 1 0 00.45-.11l22-11a1 1 0 000-1.78zm-20.9 10L8.76 17H18v-2H8.76L6.55 6.89 24.76 16z" }]]; +export const SEND = svg( + ["path", { d: "M27.45 15.11l-22-11a1 1 0 00-1.08.12 1 1 0 00-.33 1L7 16 4 26.74A1 1 0 005 28a1 1 0 00.45-.11l22-11a1 1 0 000-1.78zm-20.9 10L8.76 17H18v-2H8.76L6.55 6.89 24.76 16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/service-desk.ts b/packages/hiccup-carbon-icons/src/service-desk.ts index 5ab8d62be7..d1bb5930a7 100644 --- a/packages/hiccup-carbon-icons/src/service-desk.ts +++ b/packages/hiccup-carbon-icons/src/service-desk.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SERVICE_DESK */ // prettier-ignore -export const SERVICE_DESK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 24.005v-2a12.01 12.01 0 00-11-11.95v-2.05h3v-2h-8v2h3v2.05a12.01 12.01 0 00-11 11.95v2H2v2h28v-2zm-12-12a10.017 10.017 0 019.798 8H6.202a10.017 10.017 0 019.798-8zm-10 10h20v2H6z" }]]; +export const SERVICE_DESK = svg( + ["path", { d: "M28 24.005v-2a12.01 12.01 0 00-11-11.95v-2.05h3v-2h-8v2h3v2.05a12.01 12.01 0 00-11 11.95v2H2v2h28v-2zm-12-12a10.017 10.017 0 019.798 8H6.202a10.017 10.017 0 019.798-8zm-10 10h20v2H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/settings-adjust.ts b/packages/hiccup-carbon-icons/src/settings-adjust.ts index a695408c4d..17d47e4e2e 100644 --- a/packages/hiccup-carbon-icons/src/settings-adjust.ts +++ b/packages/hiccup-carbon-icons/src/settings-adjust.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SETTINGS_ADJUST */ // prettier-ignore -export const SETTINGS_ADJUST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 8h-4.1c-.5-2.3-2.5-4-4.9-4s-4.4 1.7-4.9 4H2v2h14.1c.5 2.3 2.5 4 4.9 4s4.4-1.7 4.9-4H30V8zm-9 4c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zM2 24h4.1c.5 2.3 2.5 4 4.9 4s4.4-1.7 4.9-4H30v-2H15.9c-.5-2.3-2.5-4-4.9-4s-4.4 1.7-4.9 4H2v2zm9-4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3z" }]]; +export const SETTINGS_ADJUST = svg( + ["path", { d: "M30 8h-4.1c-.5-2.3-2.5-4-4.9-4s-4.4 1.7-4.9 4H2v2h14.1c.5 2.3 2.5 4 4.9 4s4.4-1.7 4.9-4H30V8zm-9 4c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zM2 24h4.1c.5 2.3 2.5 4 4.9 4s4.4-1.7 4.9-4H30v-2H15.9c-.5-2.3-2.5-4-4.9-4s-4.4 1.7-4.9 4H2v2zm9-4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/settings.ts b/packages/hiccup-carbon-icons/src/settings.ts index 2d9cf5d091..b042705e03 100644 --- a/packages/hiccup-carbon-icons/src/settings.ts +++ b/packages/hiccup-carbon-icons/src/settings.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SETTINGS */ // prettier-ignore -export const SETTINGS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 16.76V16v-.77l1.92-1.68A2 2 0 0029.3 11l-2.36-4a2 2 0 00-1.73-1 2 2 0 00-.64.1l-2.43.82a11.35 11.35 0 00-1.31-.75l-.51-2.52a2 2 0 00-2-1.61h-4.68a2 2 0 00-2 1.61l-.51 2.52a11.48 11.48 0 00-1.32.75l-2.38-.86A2 2 0 006.79 6a2 2 0 00-1.73 1L2.7 11a2 2 0 00.41 2.51L5 15.24v1.53l-1.89 1.68A2 2 0 002.7 21l2.36 4a2 2 0 001.73 1 2 2 0 00.64-.1l2.43-.82a11.35 11.35 0 001.31.75l.51 2.52a2 2 0 002 1.61h4.72a2 2 0 002-1.61l.51-2.52a11.48 11.48 0 001.32-.75l2.42.82a2 2 0 00.64.1 2 2 0 001.73-1l2.28-4a2 2 0 00-.41-2.51zM25.21 24l-3.43-1.16a8.86 8.86 0 01-2.71 1.57L18.36 28h-4.72l-.71-3.55a9.36 9.36 0 01-2.7-1.57L6.79 24l-2.36-4 2.72-2.4a8.9 8.9 0 010-3.13L4.43 12l2.36-4 3.43 1.16a8.86 8.86 0 012.71-1.57L13.64 4h4.72l.71 3.55a9.36 9.36 0 012.7 1.57L25.21 8l2.36 4-2.72 2.4a8.9 8.9 0 010 3.13L27.57 20z" }], - ["path", { d: "M16 22a6 6 0 116-6 5.94 5.94 0 01-6 6zm0-10a3.91 3.91 0 00-4 4 3.91 3.91 0 004 4 3.91 3.91 0 004-4 3.91 3.91 0 00-4-4z" }]]; +export const SETTINGS = svg( + ["path", { d: "M27 16.76V16v-.77l1.92-1.68A2 2 0 0029.3 11l-2.36-4a2 2 0 00-1.73-1 2 2 0 00-.64.1l-2.43.82a11.35 11.35 0 00-1.31-.75l-.51-2.52a2 2 0 00-2-1.61h-4.68a2 2 0 00-2 1.61l-.51 2.52a11.48 11.48 0 00-1.32.75l-2.38-.86A2 2 0 006.79 6a2 2 0 00-1.73 1L2.7 11a2 2 0 00.41 2.51L5 15.24v1.53l-1.89 1.68A2 2 0 002.7 21l2.36 4a2 2 0 001.73 1 2 2 0 00.64-.1l2.43-.82a11.35 11.35 0 001.31.75l.51 2.52a2 2 0 002 1.61h4.72a2 2 0 002-1.61l.51-2.52a11.48 11.48 0 001.32-.75l2.42.82a2 2 0 00.64.1 2 2 0 001.73-1l2.28-4a2 2 0 00-.41-2.51zM25.21 24l-3.43-1.16a8.86 8.86 0 01-2.71 1.57L18.36 28h-4.72l-.71-3.55a9.36 9.36 0 01-2.7-1.57L6.79 24l-2.36-4 2.72-2.4a8.9 8.9 0 010-3.13L4.43 12l2.36-4 3.43 1.16a8.86 8.86 0 012.71-1.57L13.64 4h4.72l.71 3.55a9.36 9.36 0 012.7 1.57L25.21 8l2.36 4-2.72 2.4a8.9 8.9 0 010 3.13L27.57 20z" }], + ["path", { d: "M16 22a6 6 0 116-6 5.94 5.94 0 01-6 6zm0-10a3.91 3.91 0 00-4 4 3.91 3.91 0 004 4 3.91 3.91 0 004-4 3.91 3.91 0 00-4-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/share-knowledge.ts b/packages/hiccup-carbon-icons/src/share-knowledge.ts index 25eaf4334f..ee278d3271 100644 --- a/packages/hiccup-carbon-icons/src/share-knowledge.ts +++ b/packages/hiccup-carbon-icons/src/share-knowledge.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHARE_KNOWLEDGE */ // prettier-ignore -export const SHARE_KNOWLEDGE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 25h-6a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM20 20a4 4 0 104-4 4 4 0 00-4 4zm6 0a2 2 0 11-2-2 2 2 0 012 2zM6 21v-1H4v1a7 7 0 007 7h3v-2h-3a5 5 0 01-5-5zM19 10h7v2h-7zM19 6h10v2H19zM19 2h10v2H19zM11 11H5a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM8 10a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2z" }]]; +export const SHARE_KNOWLEDGE = svg( + ["path", { d: "M27 25h-6a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM20 20a4 4 0 104-4 4 4 0 00-4 4zm6 0a2 2 0 11-2-2 2 2 0 012 2zM6 21v-1H4v1a7 7 0 007 7h3v-2h-3a5 5 0 01-5-5zM19 10h7v2h-7zM19 6h10v2H19zM19 2h10v2H19zM11 11H5a3 3 0 00-3 3v2h2v-2a1 1 0 011-1h6a1 1 0 011 1v2h2v-2a3 3 0 00-3-3zM8 10a4 4 0 10-4-4 4 4 0 004 4zm0-6a2 2 0 11-2 2 2 2 0 012-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/share.ts b/packages/hiccup-carbon-icons/src/share.ts index 85c42ff540..b35c322bc1 100644 --- a/packages/hiccup-carbon-icons/src/share.ts +++ b/packages/hiccup-carbon-icons/src/share.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHARE */ // prettier-ignore -export const SHARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 20a5 5 0 00-3.89 1.89l-7.31-4.57a4.46 4.46 0 000-2.64l7.31-4.57A5 5 0 1018 7a4.79 4.79 0 00.2 1.32l-7.31 4.57a5 5 0 100 6.22l7.31 4.57A4.79 4.79 0 0018 25a5 5 0 105-5zm0-16a3 3 0 11-3 3 3 3 0 013-3zM7 19a3 3 0 113-3 3 3 0 01-3 3zm16 9a3 3 0 113-3 3 3 0 01-3 3z" }]]; +export const SHARE = svg( + ["path", { d: "M23 20a5 5 0 00-3.89 1.89l-7.31-4.57a4.46 4.46 0 000-2.64l7.31-4.57A5 5 0 1018 7a4.79 4.79 0 00.2 1.32l-7.31 4.57a5 5 0 100 6.22l7.31 4.57A4.79 4.79 0 0018 25a5 5 0 105-5zm0-16a3 3 0 11-3 3 3 3 0 013-3zM7 19a3 3 0 113-3 3 3 0 01-3 3zm16 9a3 3 0 113-3 3 3 0 01-3 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/shopping-bag.ts b/packages/hiccup-carbon-icons/src/shopping-bag.ts index b4059abd82..ac5e03cdca 100644 --- a/packages/hiccup-carbon-icons/src/shopping-bag.ts +++ b/packages/hiccup-carbon-icons/src/shopping-bag.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHOPPING_BAG */ // prettier-ignore -export const SHOPPING_BAG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.76 11.35A1 1 0 0028 11h-6V7a3 3 0 00-3-3h-6a3 3 0 00-3 3v4H4a1 1 0 00-1 1.15L4.88 24.3a2 2 0 002 1.7h18.26a2 2 0 002-1.7L29 12.15a1 1 0 00-.24-.8zM12 7a1 1 0 011-1h6a1 1 0 011 1v4h-8zm13.14 17H6.86L5.17 13h21.66z" }]]; +export const SHOPPING_BAG = svg( + ["path", { d: "M28.76 11.35A1 1 0 0028 11h-6V7a3 3 0 00-3-3h-6a3 3 0 00-3 3v4H4a1 1 0 00-1 1.15L4.88 24.3a2 2 0 002 1.7h18.26a2 2 0 002-1.7L29 12.15a1 1 0 00-.24-.8zM12 7a1 1 0 011-1h6a1 1 0 011 1v4h-8zm13.14 17H6.86L5.17 13h21.66z" }] +); diff --git a/packages/hiccup-carbon-icons/src/shopping-cart.ts b/packages/hiccup-carbon-icons/src/shopping-cart.ts index e21cb492fb..7e4b9b00e2 100644 --- a/packages/hiccup-carbon-icons/src/shopping-cart.ts +++ b/packages/hiccup-carbon-icons/src/shopping-cart.ts @@ -1,19 +1,21 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHOPPING_CART */ // prettier-ignore -export const SHOPPING_CART: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 28, - cx: 10, - }], - ["circle", - { - r: 2, - cy: 28, - cx: 24, - }], - ["path", { d: "M28 7H5.82L5 2.8A1 1 0 004 2H0v2h3.18L7 23.2a1 1 0 001 .8h18v-2H8.82L8 18h18a1 1 0 001-.78l2-9A1 1 0 0028 7zm-2.8 9H7.62l-1.4-7h20.53z" }]]; +export const SHOPPING_CART = svg( + ["circle", + { + r: 2, + cy: 28, + cx: 10, + }], + ["circle", + { + r: 2, + cy: 28, + cx: 24, + }], + ["path", { d: "M28 7H5.82L5 2.8A1 1 0 004 2H0v2h3.18L7 23.2a1 1 0 001 .8h18v-2H8.82L8 18h18a1 1 0 001-.78l2-9A1 1 0 0028 7zm-2.8 9H7.62l-1.4-7h20.53z" }] +); diff --git a/packages/hiccup-carbon-icons/src/shopping-catalog.ts b/packages/hiccup-carbon-icons/src/shopping-catalog.ts index bbd0b5f56b..5b2c6d3a19 100644 --- a/packages/hiccup-carbon-icons/src/shopping-catalog.ts +++ b/packages/hiccup-carbon-icons/src/shopping-catalog.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHOPPING_CATALOG */ // prettier-ignore -export const SHOPPING_CATALOG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 24h4v4h-4zM24 24h4v4h-4zM17 17h4v4h-4zM24 17h4v4h-4z" }], - ["path", { d: "M28 11h-6V7c0-1.7-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3v4H4c-.6 0-1 .4-1 1v.2l1.9 12.1c.1 1 1 1.7 2 1.7H15v-2H6.9L5.2 13H28v-2zM12 7c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v4h-8V7z" }]]; +export const SHOPPING_CATALOG = svg( + ["path", { d: "M17 24h4v4h-4zM24 24h4v4h-4zM17 17h4v4h-4zM24 17h4v4h-4z" }], + ["path", { d: "M28 11h-6V7c0-1.7-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3v4H4c-.6 0-1 .4-1 1v.2l1.9 12.1c.1 1 1 1.7 2 1.7H15v-2H6.9L5.2 13H28v-2zM12 7c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v4h-8V7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/shrink-screen-filled.ts b/packages/hiccup-carbon-icons/src/shrink-screen-filled.ts index ae80d27d0b..a590154cc5 100644 --- a/packages/hiccup-carbon-icons/src/shrink-screen-filled.ts +++ b/packages/hiccup-carbon-icons/src/shrink-screen-filled.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHRINK_SCREEN_FILLED */ // prettier-ignore -export const SHRINK_SCREEN_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["rect", { rx: 2 }], - ["path", { d: "M12 10v3.586L7.707 9.293l-1.414 1.414L10.586 15H7v2h7v-7h-2z" }], - ["path", { d: "M13 22H4a2.002 2.002 0 01-2-2V7a2.002 2.002 0 012-2h22a2.002 2.002 0 012 2v9h-2V7H4v13h9z" }]]; +export const SHRINK_SCREEN_FILLED = svg( + ["rect", { rx: 2 }], + ["path", { d: "M12 10v3.586L7.707 9.293l-1.414 1.414L10.586 15H7v2h7v-7h-2z" }], + ["path", { d: "M13 22H4a2.002 2.002 0 01-2-2V7a2.002 2.002 0 012-2h22a2.002 2.002 0 012 2v9h-2V7H4v13h9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/shrink-screen.ts b/packages/hiccup-carbon-icons/src/shrink-screen.ts index 0d4ea2c5eb..66c2270c57 100644 --- a/packages/hiccup-carbon-icons/src/shrink-screen.ts +++ b/packages/hiccup-carbon-icons/src/shrink-screen.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHRINK_SCREEN */ // prettier-ignore -export const SHRINK_SCREEN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 28H17a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h11a2.003 2.003 0 012 2v6a2.003 2.003 0 01-2 2zm-11-8v6h11.002L28 20zM12 10v3.586L7.707 9.293l-1.414 1.414L10.586 15H7v2h7v-7h-2z" }], - ["path", { d: "M13 22H4a2.002 2.002 0 01-2-2V7a2.002 2.002 0 012-2h22a2.002 2.002 0 012 2v9h-2V7H4v13h9z" }]]; +export const SHRINK_SCREEN = svg( + ["path", { d: "M28 28H17a2.002 2.002 0 01-2-2v-6a2.002 2.002 0 012-2h11a2.003 2.003 0 012 2v6a2.003 2.003 0 01-2 2zm-11-8v6h11.002L28 20zM12 10v3.586L7.707 9.293l-1.414 1.414L10.586 15H7v2h7v-7h-2z" }], + ["path", { d: "M13 22H4a2.002 2.002 0 01-2-2V7a2.002 2.002 0 012-2h22a2.002 2.002 0 012 2v9h-2V7H4v13h9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/shuffle.ts b/packages/hiccup-carbon-icons/src/shuffle.ts index 5741b7afcc..bed223e8ec 100644 --- a/packages/hiccup-carbon-icons/src/shuffle.ts +++ b/packages/hiccup-carbon-icons/src/shuffle.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHUFFLE */ // prettier-ignore -export const SHUFFLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.59 19.41L26.17 23h-6.62l-4.37-7 4.37-7h6.62l-3.58 3.59L24 14l6-6-6-6-1.41 1.41L26.17 7h-6.62a2 2 0 00-1.69.94L14 14.11l-3.86-6.17A2 2 0 008.45 7H2v2h6.45l4.37 7-4.37 7H2v2h6.45a2 2 0 001.69-.94L14 17.89l3.86 6.17a2 2 0 001.69.94h6.62l-3.58 3.59L24 30l6-6-6-6z" }]]; +export const SHUFFLE = svg( + ["path", { d: "M22.59 19.41L26.17 23h-6.62l-4.37-7 4.37-7h6.62l-3.58 3.59L24 14l6-6-6-6-1.41 1.41L26.17 7h-6.62a2 2 0 00-1.69.94L14 14.11l-3.86-6.17A2 2 0 008.45 7H2v2h6.45l4.37 7-4.37 7H2v2h6.45a2 2 0 001.69-.94L14 17.89l3.86 6.17a2 2 0 001.69.94h6.62l-3.58 3.59L24 30l6-6-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/shuttle.ts b/packages/hiccup-carbon-icons/src/shuttle.ts index 5309b13f03..af34a66a3f 100644 --- a/packages/hiccup-carbon-icons/src/shuttle.ts +++ b/packages/hiccup-carbon-icons/src/shuttle.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SHUTTLE */ // prettier-ignore -export const SHUTTLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.81 16l-7-9.56A1 1 0 0022 6H3a1 1 0 00-1 1v17a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7.44a1 1 0 00-.19-.56zM20 8h1.49l5.13 7H20zM4 8h14v7H4zm5 18a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4v-6h24z" }]]; +export const SHUTTLE = svg( + ["path", { d: "M29.81 16l-7-9.56A1 1 0 0022 6H3a1 1 0 00-1 1v17a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7.44a1 1 0 00-.19-.56zM20 8h1.49l5.13 7H20zM4 8h14v7H4zm5 18a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4v-6h24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sigma.ts b/packages/hiccup-carbon-icons/src/sigma.ts index 03f2647dc5..2d3b68e5a5 100644 --- a/packages/hiccup-carbon-icons/src/sigma.ts +++ b/packages/hiccup-carbon-icons/src/sigma.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SIGMA */ // prettier-ignore -export const SIGMA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 5H7v2.414L15.586 16 7 24.586V27h17v-2H9.414l9-9-9-9H24V5z" }]]; +export const SIGMA = svg( + ["path", { d: "M24 5H7v2.414L15.586 16 7 24.586V27h17v-2H9.414l9-9-9-9H24V5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skill-level-advanced.ts b/packages/hiccup-carbon-icons/src/skill-level-advanced.ts index 5954a65576..fa8728e608 100644 --- a/packages/hiccup-carbon-icons/src/skill-level-advanced.ts +++ b/packages/hiccup-carbon-icons/src/skill-level-advanced.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKILL_LEVEL_ADVANCED */ // prettier-ignore -export const SKILL_LEVEL_ADVANCED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30h-8V4h8zM20 30h-8V12h8zM10 30H2V18h8z" }]]; +export const SKILL_LEVEL_ADVANCED = svg( + ["path", { d: "M30 30h-8V4h8zM20 30h-8V12h8zM10 30H2V18h8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skill-level-basic.ts b/packages/hiccup-carbon-icons/src/skill-level-basic.ts index ba13fcd87e..5acd01aeb1 100644 --- a/packages/hiccup-carbon-icons/src/skill-level-basic.ts +++ b/packages/hiccup-carbon-icons/src/skill-level-basic.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKILL_LEVEL_BASIC */ // prettier-ignore -export const SKILL_LEVEL_BASIC: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30h-8V4h8zm-6-2h4V6h-4zM20 30h-8V12h8zm-6-2h4V14h-4zM10 30H2V18h8z" }]]; +export const SKILL_LEVEL_BASIC = svg( + ["path", { d: "M30 30h-8V4h8zm-6-2h4V6h-4zM20 30h-8V12h8zm-6-2h4V14h-4zM10 30H2V18h8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skill-level-intermediate.ts b/packages/hiccup-carbon-icons/src/skill-level-intermediate.ts index 7087a76958..d5c148c140 100644 --- a/packages/hiccup-carbon-icons/src/skill-level-intermediate.ts +++ b/packages/hiccup-carbon-icons/src/skill-level-intermediate.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKILL_LEVEL_INTERMEDIATE */ // prettier-ignore -export const SKILL_LEVEL_INTERMEDIATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30h-8V4h8zm-6-2h4V6h-4zM20 30h-8V12h8zM10 30H2V18h8z" }]]; +export const SKILL_LEVEL_INTERMEDIATE = svg( + ["path", { d: "M30 30h-8V4h8zm-6-2h4V6h-4zM20 30h-8V12h8zM10 30H2V18h8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skill-level.ts b/packages/hiccup-carbon-icons/src/skill-level.ts index 55bc40e340..fdf38444a3 100644 --- a/packages/hiccup-carbon-icons/src/skill-level.ts +++ b/packages/hiccup-carbon-icons/src/skill-level.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKILL_LEVEL */ // prettier-ignore -export const SKILL_LEVEL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30h-8V4h8zm-6-2h4V6h-4zM20 30h-8V12h8zm-6-2h4V14h-4zM10 30H2V18h8zm-6-2h4v-8H4z" }]]; +export const SKILL_LEVEL = svg( + ["path", { d: "M30 30h-8V4h8zm-6-2h4V6h-4zM20 30h-8V12h8zm-6-2h4V14h-4zM10 30H2V18h8zm-6-2h4v-8H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-back-filled.ts b/packages/hiccup-carbon-icons/src/skip-back-filled.ts index 738d4393b0..6e006b3f68 100644 --- a/packages/hiccup-carbon-icons/src/skip-back-filled.ts +++ b/packages/hiccup-carbon-icons/src/skip-back-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_BACK_FILLED */ // prettier-ignore -export const SKIP_BACK_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 28a.998.998 0 01-.501-.135l-19-11a1 1 0 010-1.73l19-11A1 1 0 0128 5v22a1 1 0 01-1 1zM2 4h2v24H2z" }]]; +export const SKIP_BACK_FILLED = svg( + ["path", { d: "M27 28a.998.998 0 01-.501-.135l-19-11a1 1 0 010-1.73l19-11A1 1 0 0128 5v22a1 1 0 01-1 1zM2 4h2v24H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-back-outline-filled.ts b/packages/hiccup-carbon-icons/src/skip-back-outline-filled.ts index 1d11d64df4..57d7e0e4d2 100644 --- a/packages/hiccup-carbon-icons/src/skip-back-outline-filled.ts +++ b/packages/hiccup-carbon-icons/src/skip-back-outline-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_BACK_OUTLINE_FILLED */ // prettier-ignore -export const SKIP_BACK_OUTLINE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-6 20H8V10h2zm14-1a1 1 0 01-1.486.874l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11z" }], - ["path", { d: "M22 19.301v-6.602L16.059 16 22 19.301z" }]]; +export const SKIP_BACK_OUTLINE_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-6 20H8V10h2zm14-1a1 1 0 01-1.486.874l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11z" }], + ["path", { d: "M22 19.301v-6.602L16.059 16 22 19.301z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-back-outline-solid.ts b/packages/hiccup-carbon-icons/src/skip-back-outline-solid.ts index 1329243394..9821f3d2fd 100644 --- a/packages/hiccup-carbon-icons/src/skip-back-outline-solid.ts +++ b/packages/hiccup-carbon-icons/src/skip-back-outline-solid.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_BACK_OUTLINE_SOLID */ // prettier-ignore -export const SKIP_BACK_OUTLINE_SOLID: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 22a1.004 1.004 0 01-.486-.126l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11v10a1 1 0 01-1 1zM11 22H9V10h2z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const SKIP_BACK_OUTLINE_SOLID = svg( + ["path", { d: "M23 22a1.004 1.004 0 01-.486-.126l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11v10a1 1 0 01-1 1zM11 22H9V10h2z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-back-outline.ts b/packages/hiccup-carbon-icons/src/skip-back-outline.ts index 186c4844c9..21bea52104 100644 --- a/packages/hiccup-carbon-icons/src/skip-back-outline.ts +++ b/packages/hiccup-carbon-icons/src/skip-back-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_BACK_OUTLINE */ // prettier-ignore -export const SKIP_BACK_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 22a1.004 1.004 0 01-.486-.126l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11v10a1 1 0 01-1 1zm-6.94-6L22 19.3v-6.6zM11 22H9V10h2z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const SKIP_BACK_OUTLINE = svg( + ["path", { d: "M23 22a1.004 1.004 0 01-.486-.126l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11v10a1 1 0 01-1 1zm-6.94-6L22 19.3v-6.6zM11 22H9V10h2z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-back-solid-filled.ts b/packages/hiccup-carbon-icons/src/skip-back-solid-filled.ts index 4909ca6f2c..6689082fa1 100644 --- a/packages/hiccup-carbon-icons/src/skip-back-solid-filled.ts +++ b/packages/hiccup-carbon-icons/src/skip-back-solid-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_BACK_SOLID_FILLED */ // prettier-ignore -export const SKIP_BACK_SOLID_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-6 20H8V10h2zm14-1a1 1 0 01-1.486.874l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11z" }]]; +export const SKIP_BACK_SOLID_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-6 20H8V10h2zm14-1a1 1 0 01-1.486.874l-9-5a1 1 0 010-1.748l9-5A1 1 0 0124 11z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-back.ts b/packages/hiccup-carbon-icons/src/skip-back.ts index d9d2c190ef..975031d856 100644 --- a/packages/hiccup-carbon-icons/src/skip-back.ts +++ b/packages/hiccup-carbon-icons/src/skip-back.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_BACK */ // prettier-ignore -export const SKIP_BACK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 28a1 1 0 01-.5-.13l-19-11a1 1 0 010-1.74l19-11a1 1 0 011 0A1 1 0 0128 5v22a1 1 0 01-1 1zM10 16l16 9.27V6.73zM2 4h2v24H2z" }]]; +export const SKIP_BACK = svg( + ["path", { d: "M27 28a1 1 0 01-.5-.13l-19-11a1 1 0 010-1.74l19-11a1 1 0 011 0A1 1 0 0128 5v22a1 1 0 01-1 1zM10 16l16 9.27V6.73zM2 4h2v24H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-forward-filled.ts b/packages/hiccup-carbon-icons/src/skip-forward-filled.ts index ce3f640dc9..beb3a1f50b 100644 --- a/packages/hiccup-carbon-icons/src/skip-forward-filled.ts +++ b/packages/hiccup-carbon-icons/src/skip-forward-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_FORWARD_FILLED */ // prettier-ignore -export const SKIP_FORWARD_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 4h2v24h-2zM5 28a1 1 0 01-1-1V5a1 1 0 011.501-.865l19 11a1 1 0 010 1.73l-19 11A.998.998 0 015 28z" }]]; +export const SKIP_FORWARD_FILLED = svg( + ["path", { d: "M28 4h2v24h-2zM5 28a1 1 0 01-1-1V5a1 1 0 011.501-.865l19 11a1 1 0 010 1.73l-19 11A.998.998 0 015 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-forward-outline-filled.ts b/packages/hiccup-carbon-icons/src/skip-forward-outline-filled.ts index 8c0740b6b8..026a140ff5 100644 --- a/packages/hiccup-carbon-icons/src/skip-forward-outline-filled.ts +++ b/packages/hiccup-carbon-icons/src/skip-forward-outline-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_FORWARD_OUTLINE_FILLED */ // prettier-ignore -export const SKIP_FORWARD_OUTLINE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 19.301L15.941 16 10 12.699v6.602z" }], - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm2.486 14.874l-9 5A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748zM24 22h-2V10h2z" }]]; +export const SKIP_FORWARD_OUTLINE_FILLED = svg( + ["path", { d: "M10 19.301L15.941 16 10 12.699v6.602z" }], + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm2.486 14.874l-9 5A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748zM24 22h-2V10h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-forward-outline-solid.ts b/packages/hiccup-carbon-icons/src/skip-forward-outline-solid.ts index 00d1565bf7..b9a6822a63 100644 --- a/packages/hiccup-carbon-icons/src/skip-forward-outline-solid.ts +++ b/packages/hiccup-carbon-icons/src/skip-forward-outline-solid.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_FORWARD_OUTLINE_SOLID */ // prettier-ignore -export const SKIP_FORWARD_OUTLINE_SOLID: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 10h2v12h-2zM8.493 21.862A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748l-9 5a1 1 0 01-.993-.012z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const SKIP_FORWARD_OUTLINE_SOLID = svg( + ["path", { d: "M21 10h2v12h-2zM8.493 21.862A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748l-9 5a1 1 0 01-.993-.012z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-forward-outline.ts b/packages/hiccup-carbon-icons/src/skip-forward-outline.ts index 29712d2f3f..0f1b55ca64 100644 --- a/packages/hiccup-carbon-icons/src/skip-forward-outline.ts +++ b/packages/hiccup-carbon-icons/src/skip-forward-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_FORWARD_OUTLINE */ // prettier-ignore -export const SKIP_FORWARD_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 10h2v12h-2zM8.493 21.862A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748l-9 5a1 1 0 01-.993-.012zM10 12.7v6.601L15.94 16z" }], - ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }]]; +export const SKIP_FORWARD_OUTLINE = svg( + ["path", { d: "M21 10h2v12h-2zM8.493 21.862A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748l-9 5a1 1 0 01-.993-.012zM10 12.7v6.601L15.94 16z" }], + ["path", { d: "M16 30a14 14 0 1114-14 14.016 14.016 0 01-14 14zm0-26a12 12 0 1012 12A12.014 12.014 0 0016 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-forward-solid-filled.ts b/packages/hiccup-carbon-icons/src/skip-forward-solid-filled.ts index 1be2f84699..1a34745747 100644 --- a/packages/hiccup-carbon-icons/src/skip-forward-solid-filled.ts +++ b/packages/hiccup-carbon-icons/src/skip-forward-solid-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_FORWARD_SOLID_FILLED */ // prettier-ignore -export const SKIP_FORWARD_SOLID_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm2.486 14.874l-9 5A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748zM24 22h-2V10h2z" }]]; +export const SKIP_FORWARD_SOLID_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm2.486 14.874l-9 5A1 1 0 018 21V11a1 1 0 011.486-.874l9 5a1 1 0 010 1.748zM24 22h-2V10h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/skip-forward.ts b/packages/hiccup-carbon-icons/src/skip-forward.ts index ec26e2f125..83add8afe9 100644 --- a/packages/hiccup-carbon-icons/src/skip-forward.ts +++ b/packages/hiccup-carbon-icons/src/skip-forward.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SKIP_FORWARD */ // prettier-ignore -export const SKIP_FORWARD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M5 28a1 1 0 01-1-1V5a1 1 0 01.5-.87 1 1 0 011 0l19 11a1 1 0 010 1.74l-19 11A1 1 0 015 28zM6 6.73v18.54L22 16zM28 4h2v24h-2z" }]]; +export const SKIP_FORWARD = svg( + ["path", { d: "M5 28a1 1 0 01-1-1V5a1 1 0 01.5-.87 1 1 0 011 0l19 11a1 1 0 010 1.74l-19 11A1 1 0 015 28zM6 6.73v18.54L22 16zM28 4h2v24h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sleet.ts b/packages/hiccup-carbon-icons/src/sleet.ts index 26962df126..0556abfde1 100644 --- a/packages/hiccup-carbon-icons/src/sleet.ts +++ b/packages/hiccup-carbon-icons/src/sleet.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SLEET */ // prettier-ignore -export const SLEET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 24h2v2H6zM8 26h2v2H8zM10 28h2v2h-2zM10 24h2v2h-2zM6 28h2v2H6zM21 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0121 30z" }], - ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.497 6.497 0 008.5 22h8.882l-1.276 2.553a1 1 0 101.788.894L19.619 22H23.5a6.497 6.497 0 001.3-12.864zM23.5 20h-15a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }]]; +export const SLEET = svg( + ["path", { d: "M6 24h2v2H6zM8 26h2v2H8zM10 28h2v2h-2zM10 24h2v2h-2zM6 28h2v2H6zM21 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0121 30z" }], + ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.497 6.497 0 008.5 22h8.882l-1.276 2.553a1 1 0 101.788.894L19.619 22H23.5a6.497 6.497 0 001.3-12.864zM23.5 20h-15a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/smell.ts b/packages/hiccup-carbon-icons/src/smell.ts index ec2e19d6d0..1558c030b3 100644 --- a/packages/hiccup-carbon-icons/src/smell.ts +++ b/packages/hiccup-carbon-icons/src/smell.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SMELL */ // prettier-ignore -export const SMELL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 15v-5h-2v7h2a3 3 0 010 6h-1v-2h-2v2a3 3 0 01-6 0v-2h-2v2h-1a3 3 0 010-6h2V9a3 3 0 013-3h1V4h-1a5 5 0 00-5 5v6a5 5 0 000 10h1.42a5 5 0 009.16 0H22a5 5 0 000-10z" }]]; +export const SMELL = svg( + ["path", { d: "M22 15v-5h-2v7h2a3 3 0 010 6h-1v-2h-2v2a3 3 0 01-6 0v-2h-2v2h-1a3 3 0 010-6h2V9a3 3 0 013-3h1V4h-1a5 5 0 00-5 5v6a5 5 0 000 10h1.42a5 5 0 009.16 0H22a5 5 0 000-10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/smoke.ts b/packages/hiccup-carbon-icons/src/smoke.ts index 6fd2855011..54472a47a4 100644 --- a/packages/hiccup-carbon-icons/src/smoke.ts +++ b/packages/hiccup-carbon-icons/src/smoke.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SMOKE */ // prettier-ignore -export const SMOKE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L23.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L27.8 26.4a1 1 0 01-.799 1.6zM22.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L18.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L22.8 26.4a1 1 0 01-.799 1.6zM17.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L13.2 5.6a1 1 0 111.6-1.2l.814 1.086a8.998 8.998 0 011.601 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L17.8 26.4a1 1 0 01-.799 1.6zM12.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L8.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L12.8 26.4a1 1 0 01-.799 1.6zM7.001 28a.998.998 0 01-.801-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.474-6.876a6.996 6.996 0 00-1.245-5.667L3.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L7.8 26.4a1 1 0 01-.799 1.6z" }]]; +export const SMOKE = svg( + ["path", { d: "M27.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L23.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L27.8 26.4a1 1 0 01-.799 1.6zM22.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L18.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L22.8 26.4a1 1 0 01-.799 1.6zM17.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L13.2 5.6a1 1 0 111.6-1.2l.814 1.086a8.998 8.998 0 011.601 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L17.8 26.4a1 1 0 01-.799 1.6zM12.001 28a.998.998 0 01-.8-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.473-6.876a6.996 6.996 0 00-1.245-5.667L8.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L12.8 26.4a1 1 0 01-.799 1.6zM7.001 28a.998.998 0 01-.801-.4l-.815-1.086a8.998 8.998 0 01-1.6-7.286l1.474-6.876a6.996 6.996 0 00-1.245-5.667L3.2 5.6a1 1 0 111.6-1.2l.815 1.086a8.998 8.998 0 011.6 7.285l-1.474 6.876a6.996 6.996 0 001.245 5.667L7.8 26.4a1 1 0 01-.799 1.6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/snooze.ts b/packages/hiccup-carbon-icons/src/snooze.ts index d221b3f045..e5118a7528 100644 --- a/packages/hiccup-carbon-icons/src/snooze.ts +++ b/packages/hiccup-carbon-icons/src/snooze.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SNOOZE */ // prettier-ignore -export const SNOOZE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 14v-2h-8v2h5.5L12 20v2h8v-2h-5.493L20 14zM23 5.412L24.417 4l3.583 3.59-1.415 1.412z" }], - ["path", { d: "M16 28a11 11 0 1111-11 11.012 11.012 0 01-11 11zm0-20a9 9 0 109 9 9.01 9.01 0 00-9-9zM4.002 7.589l3.583-3.59L9 5.411l-3.583 3.59z" }]]; +export const SNOOZE = svg( + ["path", { d: "M20 14v-2h-8v2h5.5L12 20v2h8v-2h-5.493L20 14zM23 5.412L24.417 4l3.583 3.59-1.415 1.412z" }], + ["path", { d: "M16 28a11 11 0 1111-11 11.012 11.012 0 01-11 11zm0-20a9 9 0 109 9 9.01 9.01 0 00-9-9zM4.002 7.589l3.583-3.59L9 5.411l-3.583 3.59z" }] +); diff --git a/packages/hiccup-carbon-icons/src/snow-blizzard.ts b/packages/hiccup-carbon-icons/src/snow-blizzard.ts index 7b77f15e89..b0116aa965 100644 --- a/packages/hiccup-carbon-icons/src/snow-blizzard.ts +++ b/packages/hiccup-carbon-icons/src/snow-blizzard.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SNOW_BLIZZARD */ // prettier-ignore -export const SNOW_BLIZZARD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 10h2v2h-2zM15 12h2v2h-2zM17 14h2v2h-2zM17 10h2v2h-2zM13 14h2v2h-2zM3 26h2v2H3zM5 28h2v2H5zM7 30h2v2H7zM7 26h2v2H7zM3 30h2v2H3zM23 26h2v2h-2zM25 28h2v2h-2zM27 30h2v2h-2zM27 26h2v2h-2zM23 30h2v2h-2zM8 18h2v2H8zM10 20h2v2h-2zM12 22h2v2h-2zM12 18h2v2h-2zM8 22h2v2H8zM18 18h2v2h-2zM20 20h2v2h-2zM22 22h2v2h-2zM22 18h2v2h-2zM18 22h2v2h-2zM13 26h2v2h-2zM15 28h2v2h-2zM17 30h2v2h-2zM17 26h2v2h-2zM13 30h2v2h-2z" }], - ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.496 6.496 0 006 21.5v-2.26a4.494 4.494 0 012.144-8.22l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.494 4.494 0 0126 19.239v2.26a6.496 6.496 0 00-1.2-12.363z" }]]; +export const SNOW_BLIZZARD = svg( + ["path", { d: "M13 10h2v2h-2zM15 12h2v2h-2zM17 14h2v2h-2zM17 10h2v2h-2zM13 14h2v2h-2zM3 26h2v2H3zM5 28h2v2H5zM7 30h2v2H7zM7 26h2v2H7zM3 30h2v2H3zM23 26h2v2h-2zM25 28h2v2h-2zM27 30h2v2h-2zM27 26h2v2h-2zM23 30h2v2h-2zM8 18h2v2H8zM10 20h2v2h-2zM12 22h2v2h-2zM12 18h2v2h-2zM8 22h2v2H8zM18 18h2v2h-2zM20 20h2v2h-2zM22 22h2v2h-2zM22 18h2v2h-2zM18 22h2v2h-2zM13 26h2v2h-2zM15 28h2v2h-2zM17 30h2v2h-2zM17 26h2v2h-2zM13 30h2v2h-2z" }], + ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.496 6.496 0 006 21.5v-2.26a4.494 4.494 0 012.144-8.22l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.494 4.494 0 0126 19.239v2.26a6.496 6.496 0 00-1.2-12.363z" }] +); diff --git a/packages/hiccup-carbon-icons/src/snow-heavy.ts b/packages/hiccup-carbon-icons/src/snow-heavy.ts index cda439e9a3..aaf8986bf5 100644 --- a/packages/hiccup-carbon-icons/src/snow-heavy.ts +++ b/packages/hiccup-carbon-icons/src/snow-heavy.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SNOW_HEAVY */ // prettier-ignore -export const SNOW_HEAVY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 26h2v2H4zM6 28h2v2H6zM8 30h2v2H8zM8 26h2v2H8zM4 30h2v2H4zM8 18h2v2H8zM10 20h2v2h-2zM12 22h2v2h-2zM12 18h2v2h-2zM8 22h2v2H8zM18 18h2v2h-2zM20 20h2v2h-2zM22 22h2v2h-2zM22 18h2v2h-2zM18 22h2v2h-2zM14 26h2v2h-2zM16 28h2v2h-2zM18 30h2v2h-2zM18 26h2v2h-2zM14 30h2v2h-2z" }], - ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.496 6.496 0 006 21.5v-2.26a4.494 4.494 0 012.144-8.22l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.494 4.494 0 0126 19.239v2.26a6.496 6.496 0 00-1.2-12.363z" }]]; +export const SNOW_HEAVY = svg( + ["path", { d: "M4 26h2v2H4zM6 28h2v2H6zM8 30h2v2H8zM8 26h2v2H8zM4 30h2v2H4zM8 18h2v2H8zM10 20h2v2h-2zM12 22h2v2h-2zM12 18h2v2h-2zM8 22h2v2H8zM18 18h2v2h-2zM20 20h2v2h-2zM22 22h2v2h-2zM22 18h2v2h-2zM18 22h2v2h-2zM14 26h2v2h-2zM16 28h2v2h-2zM18 30h2v2h-2zM18 26h2v2h-2zM14 30h2v2h-2z" }], + ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.496 6.496 0 006 21.5v-2.26a4.494 4.494 0 012.144-8.22l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.494 4.494 0 0126 19.239v2.26a6.496 6.496 0 00-1.2-12.363z" }] +); diff --git a/packages/hiccup-carbon-icons/src/snow-scattered-night.ts b/packages/hiccup-carbon-icons/src/snow-scattered-night.ts index 38a9ea2c35..4f2ae35ebf 100644 --- a/packages/hiccup-carbon-icons/src/snow-scattered-night.ts +++ b/packages/hiccup-carbon-icons/src/snow-scattered-night.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SNOW_SCATTERED_NIGHT */ // prettier-ignore -export const SNOW_SCATTERED_NIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 26h2v2H2zM4 28h2v2H4zM6 30h2v2H6zM6 26h2v2H6zM2 30h2v2H2zM20 26h2v2h-2zM22 28h2v2h-2zM24 30h2v2h-2zM24 26h2v2h-2zM20 30h2v2h-2zM11 26h2v2h-2zM13 28h2v2h-2zM15 30h2v2h-2zM15 26h2v2h-2zM11 30h2v2h-2zM29.844 13.035a1.517 1.517 0 00-1.23-.866 5.355 5.355 0 01-3.41-1.716 6.465 6.465 0 01-1.286-6.392 1.603 1.603 0 00-.299-1.546 1.454 1.454 0 00-1.36-.493l-.019.003A7.769 7.769 0 0016.356 7.6 7.37 7.37 0 0013.5 7a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 24h11a6.007 6.007 0 006-6c0-.057-.012-.111-.014-.169a7.508 7.508 0 004.761-3.276 1.537 1.537 0 00.097-1.52zM19 22H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 22zm5.597-6.129a5.966 5.966 0 00-3.948-3.627 7.49 7.49 0 00-2.489-3.58 5.902 5.902 0 013.638-4.447 8.458 8.458 0 001.94 7.596 7.4 7.4 0 003.902 2.228 5.449 5.449 0 01-3.043 1.83z" }]]; +export const SNOW_SCATTERED_NIGHT = svg( + ["path", { d: "M2 26h2v2H2zM4 28h2v2H4zM6 30h2v2H6zM6 26h2v2H6zM2 30h2v2H2zM20 26h2v2h-2zM22 28h2v2h-2zM24 30h2v2h-2zM24 26h2v2h-2zM20 30h2v2h-2zM11 26h2v2h-2zM13 28h2v2h-2zM15 30h2v2h-2zM15 26h2v2h-2zM11 30h2v2h-2zM29.844 13.035a1.517 1.517 0 00-1.23-.866 5.355 5.355 0 01-3.41-1.716 6.465 6.465 0 01-1.286-6.392 1.603 1.603 0 00-.299-1.546 1.454 1.454 0 00-1.36-.493l-.019.003A7.769 7.769 0 0016.356 7.6 7.37 7.37 0 0013.5 7a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 24h11a6.007 6.007 0 006-6c0-.057-.012-.111-.014-.169a7.508 7.508 0 004.761-3.276 1.537 1.537 0 00.097-1.52zM19 22H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 22zm5.597-6.129a5.966 5.966 0 00-3.948-3.627 7.49 7.49 0 00-2.489-3.58 5.902 5.902 0 013.638-4.447 8.458 8.458 0 001.94 7.596 7.4 7.4 0 003.902 2.228 5.449 5.449 0 01-3.043 1.83z" }] +); diff --git a/packages/hiccup-carbon-icons/src/snow-scattered.ts b/packages/hiccup-carbon-icons/src/snow-scattered.ts index 0f5944a445..a09869f1ad 100644 --- a/packages/hiccup-carbon-icons/src/snow-scattered.ts +++ b/packages/hiccup-carbon-icons/src/snow-scattered.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SNOW_SCATTERED */ // prettier-ignore -export const SNOW_SCATTERED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 26h2v2H2zM4 28h2v2H4zM6 30h2v2H6zM6 26h2v2H6zM2 30h2v2H2zM20 26h2v2h-2zM22 28h2v2h-2zM24 30h2v2h-2zM24 26h2v2h-2zM20 30h2v2h-2zM11 26h2v2h-2zM13 28h2v2h-2zM15 30h2v2h-2zM15 26h2v2h-2zM11 30h2v2h-2zM20 0h2v3h-2zM29 10.001h3v2h-3zM26.464 5.122L28.585 3 30 4.415l-2.12 2.121zM28.586 19l-2.121-2.12 1.414-1.415L30 17.587zM14.12 6.536L12 4.415l1.414-1.414 2.121 2.121z" }], - ["path", { d: "M27 11a5.985 5.985 0 00-10.857-3.492A7.374 7.374 0 0013.5 7a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 24h11a5.967 5.967 0 005.567-8.2A5.972 5.972 0 0027 11zm-8 11H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 22zm4.522-7.913a5.96 5.96 0 00-2.873-1.843 7.521 7.521 0 00-2.722-3.78 3.987 3.987 0 115.595 5.623z" }]]; +export const SNOW_SCATTERED = svg( + ["path", { d: "M2 26h2v2H2zM4 28h2v2H4zM6 30h2v2H6zM6 26h2v2H6zM2 30h2v2H2zM20 26h2v2h-2zM22 28h2v2h-2zM24 30h2v2h-2zM24 26h2v2h-2zM20 30h2v2h-2zM11 26h2v2h-2zM13 28h2v2h-2zM15 30h2v2h-2zM15 26h2v2h-2zM11 30h2v2h-2zM20 0h2v3h-2zM29 10.001h3v2h-3zM26.464 5.122L28.585 3 30 4.415l-2.12 2.121zM28.586 19l-2.121-2.12 1.414-1.415L30 17.587zM14.12 6.536L12 4.415l1.414-1.414 2.121 2.121z" }], + ["path", { d: "M27 11a5.985 5.985 0 00-10.857-3.492A7.374 7.374 0 0013.5 7a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 24h11a5.967 5.967 0 005.567-8.2A5.972 5.972 0 0027 11zm-8 11H8a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 22zm4.522-7.913a5.96 5.96 0 00-2.873-1.843 7.521 7.521 0 00-2.722-3.78 3.987 3.987 0 115.595 5.623z" }] +); diff --git a/packages/hiccup-carbon-icons/src/snow.ts b/packages/hiccup-carbon-icons/src/snow.ts index 989d4a3f2b..0e1a3421d8 100644 --- a/packages/hiccup-carbon-icons/src/snow.ts +++ b/packages/hiccup-carbon-icons/src/snow.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SNOW */ // prettier-ignore -export const SNOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM12 25.05L10.95 24 9.5 25.45 8.05 24 7 25.05l1.45 1.45L7 27.95 8.05 29l1.45-1.45L10.95 29 12 27.95l-1.45-1.45L12 25.05zM26 25.05L24.95 24l-1.45 1.45L22.05 24 21 25.05l1.45 1.45L21 27.95 22.05 29l1.45-1.45L24.95 29 26 27.95l-1.45-1.45L26 25.05zM19 27.05L17.95 26l-1.45 1.45L15.05 26 14 27.05l1.45 1.45L14 29.95 15.05 31l1.45-1.45L17.95 31 19 29.95l-1.45-1.45L19 27.05z" }]]; +export const SNOW = svg( + ["path", { d: "M23.5 22h-15A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22zM16 4a7 7 0 00-6.94 6.14L9 11h-.86a4.5 4.5 0 00.36 9h15a4.5 4.5 0 00.36-9H23l-.1-.82A7 7 0 0016 4zM12 25.05L10.95 24 9.5 25.45 8.05 24 7 25.05l1.45 1.45L7 27.95 8.05 29l1.45-1.45L10.95 29 12 27.95l-1.45-1.45L12 25.05zM26 25.05L24.95 24l-1.45 1.45L22.05 24 21 25.05l1.45 1.45L21 27.95 22.05 29l1.45-1.45L24.95 29 26 27.95l-1.45-1.45L26 25.05zM19 27.05L17.95 26l-1.45 1.45L15.05 26 14 27.05l1.45 1.45L14 29.95 15.05 31l1.45-1.45L17.95 31 19 29.95l-1.45-1.45L19 27.05z" }] +); diff --git a/packages/hiccup-carbon-icons/src/snowflake.ts b/packages/hiccup-carbon-icons/src/snowflake.ts index 35fefc7bde..a500cc8f07 100644 --- a/packages/hiccup-carbon-icons/src/snowflake.ts +++ b/packages/hiccup-carbon-icons/src/snowflake.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SNOWFLAKE */ // prettier-ignore -export const SNOWFLAKE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21.415 12H28v-2h-4.585L28 5.415 26.585 4 22 8.587V4h-2v6.587L18.587 12H17V8h-2v4h-1.587L12 10.587V4h-2v4.587L5.414 4 4 5.415 8.585 10H4v2h6.585L12 13.415V15H8v2h4v1.587L10.587 20H4v2h4.587L4 26.586l1.414 1.415L10 23.415V28h2v-6.585L13.415 20H15v4h2v-4h1.585L20 21.415V28h2v-4.585L26.585 28 28 26.586 23.413 22H28v-2h-6.587L20 18.587V17h4v-2h-4v-1.585zM18 18h-4v-4h4z" }]]; +export const SNOWFLAKE = svg( + ["path", { d: "M21.415 12H28v-2h-4.585L28 5.415 26.585 4 22 8.587V4h-2v6.587L18.587 12H17V8h-2v4h-1.587L12 10.587V4h-2v4.587L5.414 4 4 5.415 8.585 10H4v2h6.585L12 13.415V15H8v2h4v1.587L10.587 20H4v2h4.587L4 26.586l1.414 1.415L10 23.415V28h2v-6.585L13.415 20H15v4h2v-4h1.585L20 21.415V28h2v-4.585L26.585 28 28 26.586 23.413 22H28v-2h-6.587L20 18.587V17h4v-2h-4v-1.585zM18 18h-4v-4h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/soccer.ts b/packages/hiccup-carbon-icons/src/soccer.ts index 9a0eef4b77..e42b8e5c15 100644 --- a/packages/hiccup-carbon-icons/src/soccer.ts +++ b/packages/hiccup-carbon-icons/src/soccer.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SOCCER */ // prettier-ignore -export const SOCCER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 28, - cx: 17, - }], - ["path", { d: "M8 20.586L13.586 15 15 16.414 9.414 22z" }], - ["path", { d: "M28 16.584L19.414 8H6v2h12.586l3 3L6 28.586 7.414 30 23 14.415 26.584 18 23 21.586 24.414 23 28 19.416a2.004 2.004 0 000-2.832zM24.5 9A3.5 3.5 0 1128 5.5 3.504 3.504 0 0124.5 9zm0-5A1.5 1.5 0 1026 5.5 1.502 1.502 0 0024.5 4z" }]]; +export const SOCCER = svg( + ["circle", + { + r: 2, + cy: 28, + cx: 17, + }], + ["path", { d: "M8 20.586L13.586 15 15 16.414 9.414 22z" }], + ["path", { d: "M28 16.584L19.414 8H6v2h12.586l3 3L6 28.586 7.414 30 23 14.415 26.584 18 23 21.586 24.414 23 28 19.416a2.004 2.004 0 000-2.832zM24.5 9A3.5 3.5 0 1128 5.5 3.504 3.504 0 0124.5 9zm0-5A1.5 1.5 0 1026 5.5 1.502 1.502 0 0024.5 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/spell-check.ts b/packages/hiccup-carbon-icons/src/spell-check.ts index 7269eacc1e..d71cf7e76d 100644 --- a/packages/hiccup-carbon-icons/src/spell-check.ts +++ b/packages/hiccup-carbon-icons/src/spell-check.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SPELL_CHECK */ // prettier-ignore -export const SPELL_CHECK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 22h2l-5-12h-2l-5 12h2l1.24-3h5.53zm-5.93-5l1.82-4.42h.25L18 17z" }], - ["path", { d: "M12 28H6a2 2 0 01-2-2V6a2 2 0 012-2h20a2 2 0 012 2v11h-2V6H6v20h6zM23 27.18l-2.59-2.59L19 26l4 4 7-7-1.41-1.41L23 27.18z" }]]; +export const SPELL_CHECK = svg( + ["path", { d: "M20 22h2l-5-12h-2l-5 12h2l1.24-3h5.53zm-5.93-5l1.82-4.42h.25L18 17z" }], + ["path", { d: "M12 28H6a2 2 0 01-2-2V6a2 2 0 012-2h20a2 2 0 012 2v11h-2V6H6v20h6zM23 27.18l-2.59-2.59L19 26l4 4 7-7-1.41-1.41L23 27.18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/split-screen.ts b/packages/hiccup-carbon-icons/src/split-screen.ts index 9bff2ef35b..f50338fd9f 100644 --- a/packages/hiccup-carbon-icons/src/split-screen.ts +++ b/packages/hiccup-carbon-icons/src/split-screen.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SPLIT_SCREEN */ // prettier-ignore -export const SPLIT_SCREEN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 4h2v24h-2zM10 7v18H4V7h6m0-2H4a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 002-2V7a2 2 0 00-2-2zM28 7v18h-6V7h6m0-2h-6a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 002-2V7a2 2 0 00-2-2z" }]]; +export const SPLIT_SCREEN = svg( + ["path", { d: "M15 4h2v24h-2zM10 7v18H4V7h6m0-2H4a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 002-2V7a2 2 0 00-2-2zM28 7v18h-6V7h6m0-2h-6a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 002-2V7a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/split.ts b/packages/hiccup-carbon-icons/src/split.ts index ca49749138..e8c1ce2cac 100644 --- a/packages/hiccup-carbon-icons/src/split.ts +++ b/packages/hiccup-carbon-icons/src/split.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SPLIT */ // prettier-ignore -export const SPLIT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 20h2v4h-2zM15 14h2v4h-2zM15 8h2v4h-2z" }], - ["path", { d: "M28 16A12.01 12.01 0 0017 4.05V2h-2v2.05a11.99 11.99 0 000 23.9V30h2v-2.05A12.01 12.01 0 0028 16zM16 26a10 10 0 1110-10 10.011 10.011 0 01-10 10z" }]]; +export const SPLIT = svg( + ["path", { d: "M15 20h2v4h-2zM15 14h2v4h-2zM15 8h2v4h-2z" }], + ["path", { d: "M28 16A12.01 12.01 0 0017 4.05V2h-2v2.05a11.99 11.99 0 000 23.9V30h2v-2.05A12.01 12.01 0 0028 16zM16 26a10 10 0 1110-10 10.011 10.011 0 01-10 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/spray-paint.ts b/packages/hiccup-carbon-icons/src/spray-paint.ts index 1a8962028d..a732987eb0 100644 --- a/packages/hiccup-carbon-icons/src/spray-paint.ts +++ b/packages/hiccup-carbon-icons/src/spray-paint.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SPRAY_PAINT */ // prettier-ignore -export const SPRAY_PAINT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.5 23a4.5 4.5 0 114.5-4.5 4.505 4.505 0 01-4.5 4.5zm0-7a2.5 2.5 0 102.5 2.5 2.503 2.503 0 00-2.5-2.5z" }], - ["path", { d: "M28 8h-2V3h-7v5h-2a2.002 2.002 0 00-2 2v18a2.002 2.002 0 002 2h11a2.003 2.003 0 002-2V10a2.002 2.002 0 00-2-2zm-7-3h3v3h-3zm-4 23V10h11l.002 18zM2 14h3v3H2zM7 9h3v3H7zM2 9h3v3H2zM12 4h3v3h-3zM7 4h3v3H7zM2 4h3v3H2z" }]]; +export const SPRAY_PAINT = svg( + ["path", { d: "M22.5 23a4.5 4.5 0 114.5-4.5 4.505 4.505 0 01-4.5 4.5zm0-7a2.5 2.5 0 102.5 2.5 2.503 2.503 0 00-2.5-2.5z" }], + ["path", { d: "M28 8h-2V3h-7v5h-2a2.002 2.002 0 00-2 2v18a2.002 2.002 0 002 2h11a2.003 2.003 0 002-2V10a2.002 2.002 0 00-2-2zm-7-3h3v3h-3zm-4 23V10h11l.002 18zM2 14h3v3H2zM7 9h3v3H7zM2 9h3v3H2zM12 4h3v3h-3zM7 4h3v3H7zM2 4h3v3H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sprout.ts b/packages/hiccup-carbon-icons/src/sprout.ts index b47ca91023..52d87d0b51 100644 --- a/packages/hiccup-carbon-icons/src/sprout.ts +++ b/packages/hiccup-carbon-icons/src/sprout.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SPROUT */ // prettier-ignore -export const SPROUT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 2a11.01 11.01 0 00-10.245 7.024A6.994 6.994 0 009 6H6v3a7.008 7.008 0 007 7h1v9.05a9.923 9.923 0 00-6.071 2.879l1.414 1.414a8 8 0 0112.309 1.213l1.661-1.113A9.98 9.98 0 0016 25.062V16h1A11.012 11.012 0 0028 5V2zM13 14a5.006 5.006 0 01-5-5V8h1a5.005 5.005 0 015 5v1zm13-9a9.01 9.01 0 01-9 9h-1v-1a9.01 9.01 0 019-9h1z" }]]; +export const SPROUT = svg( + ["path", { d: "M25 2a11.01 11.01 0 00-10.245 7.024A6.994 6.994 0 009 6H6v3a7.008 7.008 0 007 7h1v9.05a9.923 9.923 0 00-6.071 2.879l1.414 1.414a8 8 0 0112.309 1.213l1.661-1.113A9.98 9.98 0 0016 25.062V16h1A11.012 11.012 0 0028 5V2zM13 14a5.006 5.006 0 01-5-5V8h1a5.005 5.005 0 015 5v1zm13-9a9.01 9.01 0 01-9 9h-1v-1a9.01 9.01 0 019-9h1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sql.ts b/packages/hiccup-carbon-icons/src/sql.ts index 5de1d18a71..5fbaf12d62 100644 --- a/packages/hiccup-carbon-icons/src/sql.ts +++ b/packages/hiccup-carbon-icons/src/sql.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SQL */ // prettier-ignore -export const SQL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 21V9h-2v14h8v-2h-6zM18 9h-4a2 2 0 00-2 2v10a2 2 0 002 2h1v2a2 2 0 002 2h2v-2h-2v-2h1a2 2 0 002-2V11a2 2 0 00-2-2zm-4 12V11h4v10zM8 23H2v-2h6v-4H4a2 2 0 01-2-2v-4a2 2 0 012-2h6v2H4v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }]]; +export const SQL = svg( + ["path", { d: "M24 21V9h-2v14h8v-2h-6zM18 9h-4a2 2 0 00-2 2v10a2 2 0 002 2h1v2a2 2 0 002 2h2v-2h-2v-2h1a2 2 0 002-2V11a2 2 0 00-2-2zm-4 12V11h4v10zM8 23H2v-2h6v-4H4a2 2 0 01-2-2v-4a2 2 0 012-2h6v2H4v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stamp.ts b/packages/hiccup-carbon-icons/src/stamp.ts index 8e77d42968..7d3880fe53 100644 --- a/packages/hiccup-carbon-icons/src/stamp.ts +++ b/packages/hiccup-carbon-icons/src/stamp.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STAMP */ // prettier-ignore -export const STAMP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 18h-6v-3.102a7.494 7.494 0 011.159-3.854 5.975 5.975 0 00-1.374-7.7 5.997 5.997 0 00-9.683 3.54 5.91 5.91 0 00.748 4.174A7.257 7.257 0 0112 14.794V18H6a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2v2a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2v-2a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zM12.07 7.244a4 4 0 117.373 2.773A9.76 9.76 0 0018.066 14H13.94a9.543 9.543 0 00-1.376-3.974 3.937 3.937 0 01-.494-2.782zM18 16v2h-4v-2zm6 12H8v-2h16zM6 24v-4h20v4z" }]]; +export const STAMP = svg( + ["path", { d: "M26 18h-6v-3.102a7.494 7.494 0 011.159-3.854 5.975 5.975 0 00-1.374-7.7 5.997 5.997 0 00-9.683 3.54 5.91 5.91 0 00.748 4.174A7.257 7.257 0 0112 14.794V18H6a2.002 2.002 0 00-2 2v4a2.002 2.002 0 002 2v2a2.002 2.002 0 002 2h16a2.002 2.002 0 002-2v-2a2.002 2.002 0 002-2v-4a2.002 2.002 0 00-2-2zM12.07 7.244a4 4 0 117.373 2.773A9.76 9.76 0 0018.066 14H13.94a9.543 9.543 0 00-1.376-3.974 3.937 3.937 0 01-.494-2.782zM18 16v2h-4v-2zm6 12H8v-2h16zM6 24v-4h20v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/star-filled.ts b/packages/hiccup-carbon-icons/src/star-filled.ts index 56550b38c3..ac01228b84 100644 --- a/packages/hiccup-carbon-icons/src/star-filled.ts +++ b/packages/hiccup-carbon-icons/src/star-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STAR_FILLED */ // prettier-ignore -export const STAR_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2l-4.55 9.22-10.17 1.47 7.36 7.18L6.9 30l9.1-4.78L25.1 30l-1.74-10.13 7.36-7.17-10.17-1.48z" }]]; +export const STAR_FILLED = svg( + ["path", { d: "M16 2l-4.55 9.22-10.17 1.47 7.36 7.18L6.9 30l9.1-4.78L25.1 30l-1.74-10.13 7.36-7.17-10.17-1.48z" }] +); diff --git a/packages/hiccup-carbon-icons/src/star-half.ts b/packages/hiccup-carbon-icons/src/star-half.ts index 0cca77bb02..dace03b296 100644 --- a/packages/hiccup-carbon-icons/src/star-half.ts +++ b/packages/hiccup-carbon-icons/src/star-half.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STAR_HALF */ // prettier-ignore -export const STAR_HALF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11.45 11.22L1.28 12.7l7.36 7.17L6.9 30l9.1-4.78V2l-4.55 9.22z" }]]; +export const STAR_HALF = svg( + ["path", { d: "M11.45 11.22L1.28 12.7l7.36 7.17L6.9 30l9.1-4.78V2l-4.55 9.22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/star-review.ts b/packages/hiccup-carbon-icons/src/star-review.ts index 022a7bf61c..fd8caaa840 100644 --- a/packages/hiccup-carbon-icons/src/star-review.ts +++ b/packages/hiccup-carbon-icons/src/star-review.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STAR_REVIEW */ // prettier-ignore -export const STAR_REVIEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 26h8v2h-8zM18 22h12v2H18zM18 18h12v2H18z" }], - ["path", { d: "M20.549 11.217L16 2l-4.549 9.217L1.28 12.695l7.36 7.175L6.902 30 14 26.269v-2.26l-4.441 2.335 1.052-6.136.178-1.037-.753-.733-4.458-4.347 6.161-.895 1.04-.151.466-.943L16 6.519l2.755 5.583.466.943 1.04.151 7.454 1.085L28 12.3l-7.451-1.083z" }]]; +export const STAR_REVIEW = svg( + ["path", { d: "M18 26h8v2h-8zM18 22h12v2H18zM18 18h12v2H18z" }], + ["path", { d: "M20.549 11.217L16 2l-4.549 9.217L1.28 12.695l7.36 7.175L6.902 30 14 26.269v-2.26l-4.441 2.335 1.052-6.136.178-1.037-.753-.733-4.458-4.347 6.161-.895 1.04-.151.466-.943L16 6.519l2.755 5.583.466.943 1.04.151 7.454 1.085L28 12.3l-7.451-1.083z" }] +); diff --git a/packages/hiccup-carbon-icons/src/star.ts b/packages/hiccup-carbon-icons/src/star.ts index 6df6d43d53..4dda9b4ba3 100644 --- a/packages/hiccup-carbon-icons/src/star.ts +++ b/packages/hiccup-carbon-icons/src/star.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STAR */ // prettier-ignore -export const STAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 6.52l2.76 5.58.46 1 1 .15 6.16.89-4.38 4.3-.75.73.18 1 1.05 6.13-5.51-2.89L16 23l-.93.49-5.51 2.85 1-6.13.18-1-.74-.77-4.42-4.35 6.16-.89 1-.15.46-1L16 6.52M16 2l-4.55 9.22-10.17 1.47 7.36 7.18L6.9 30l9.1-4.78L25.1 30l-1.74-10.13 7.36-7.17-10.17-1.48z" }]]; +export const STAR = svg( + ["path", { d: "M16 6.52l2.76 5.58.46 1 1 .15 6.16.89-4.38 4.3-.75.73.18 1 1.05 6.13-5.51-2.89L16 23l-.93.49-5.51 2.85 1-6.13.18-1-.74-.77-4.42-4.35 6.16-.89 1-.15.46-1L16 6.52M16 2l-4.55 9.22-10.17 1.47 7.36 7.18L6.9 30l9.1-4.78L25.1 30l-1.74-10.13 7.36-7.17-10.17-1.48z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stem-leaf-plot.ts b/packages/hiccup-carbon-icons/src/stem-leaf-plot.ts index 0bb9e51351..0c6fc76799 100644 --- a/packages/hiccup-carbon-icons/src/stem-leaf-plot.ts +++ b/packages/hiccup-carbon-icons/src/stem-leaf-plot.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STEM_LEAF_PLOT */ // prettier-ignore -export const STEM_LEAF_PLOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 10a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM19 19a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM27 19a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM19 28a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM12 2h2v28h-2zM7 28a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM7 19a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM7 10a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1z" }]]; +export const STEM_LEAF_PLOT = svg( + ["path", { d: "M19 10a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM19 19a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM27 19a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM19 28a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM12 2h2v28h-2zM7 28a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM7 19a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1zM7 10a3 3 0 113-3 3.003 3.003 0 01-3 3zm0-4a1 1 0 101 1 1.001 1.001 0 00-1-1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stethoscope.ts b/packages/hiccup-carbon-icons/src/stethoscope.ts index 587735591f..4ffe7cb334 100644 --- a/packages/hiccup-carbon-icons/src/stethoscope.ts +++ b/packages/hiccup-carbon-icons/src/stethoscope.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STETHOSCOPE */ // prettier-ignore -export const STETHOSCOPE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 2v2h2v6a4 4 0 01-8 0V4h2V2h-4v8a6.005 6.005 0 005 5.91V22a6 6 0 01-12 0v-6.142a4 4 0 10-2 0V22a8 8 0 0016 0v-6.09A6.005 6.005 0 0028 10V2zM6 12a2 2 0 112 2 2.002 2.002 0 01-2-2z" }]]; +export const STETHOSCOPE = svg( + ["path", { d: "M24 2v2h2v6a4 4 0 01-8 0V4h2V2h-4v8a6.005 6.005 0 005 5.91V22a6 6 0 01-12 0v-6.142a4 4 0 10-2 0V22a8 8 0 0016 0v-6.09A6.005 6.005 0 0028 10V2zM6 12a2 2 0 112 2 2.002 2.002 0 01-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stop-filled-alt.ts b/packages/hiccup-carbon-icons/src/stop-filled-alt.ts index fd65744e02..cabd920895 100644 --- a/packages/hiccup-carbon-icons/src/stop-filled-alt.ts +++ b/packages/hiccup-carbon-icons/src/stop-filled-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STOP_FILLED_ALT */ // prettier-ignore -export const STOP_FILLED_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 6H8a2 2 0 00-2 2v16a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2z" }]]; +export const STOP_FILLED_ALT = svg( + ["path", { d: "M24 6H8a2 2 0 00-2 2v16a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stop-filled.ts b/packages/hiccup-carbon-icons/src/stop-filled.ts index 625f4ca724..e5978a7e7b 100644 --- a/packages/hiccup-carbon-icons/src/stop-filled.ts +++ b/packages/hiccup-carbon-icons/src/stop-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STOP_FILLED */ // prettier-ignore -export const STOP_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm6 18a2 2 0 01-2 2h-8a2 2 0 01-2-2v-8a2 2 0 012-2h8a2 2 0 012 2z" }]]; +export const STOP_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm6 18a2 2 0 01-2 2h-8a2 2 0 01-2-2v-8a2 2 0 012-2h8a2 2 0 012 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stop-outline-filled.ts b/packages/hiccup-carbon-icons/src/stop-outline-filled.ts index 23459e705d..e824a3fb90 100644 --- a/packages/hiccup-carbon-icons/src/stop-outline-filled.ts +++ b/packages/hiccup-carbon-icons/src/stop-outline-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STOP_OUTLINE_FILLED */ // prettier-ignore -export const STOP_OUTLINE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm6 18a2 2 0 01-2 2h-8a2 2 0 01-2-2v-8a2 2 0 012-2h8a2 2 0 012 2z" }], - ["path", { d: "M12 12h8v8h-8z" }]]; +export const STOP_OUTLINE_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm6 18a2 2 0 01-2 2h-8a2 2 0 01-2-2v-8a2 2 0 012-2h8a2 2 0 012 2z" }], + ["path", { d: "M12 12h8v8h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stop-outline.ts b/packages/hiccup-carbon-icons/src/stop-outline.ts index 9096f8e11e..5d1f2620be 100644 --- a/packages/hiccup-carbon-icons/src/stop-outline.ts +++ b/packages/hiccup-carbon-icons/src/stop-outline.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STOP_OUTLINE */ // prettier-ignore -export const STOP_OUTLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], - ["path", { d: "M20 12v8h-8v-8h8m0-2h-8a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-8a2 2 0 00-2-2z" }]]; +export const STOP_OUTLINE = svg( + ["path", { d: "M16 4A12 12 0 114 16 12 12 0 0116 4m0-2a14 14 0 1014 14A14 14 0 0016 2z" }], + ["path", { d: "M20 12v8h-8v-8h8m0-2h-8a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-8a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/stop.ts b/packages/hiccup-carbon-icons/src/stop.ts index 68f655ea9b..a05477a27b 100644 --- a/packages/hiccup-carbon-icons/src/stop.ts +++ b/packages/hiccup-carbon-icons/src/stop.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STOP */ // prettier-ignore -export const STOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 8v16H8V8h16m0-2H8a2 2 0 00-2 2v16a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2z" }]]; +export const STOP = svg( + ["path", { d: "M24 8v16H8V8h16m0-2H8a2 2 0 00-2 2v16a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/store.ts b/packages/hiccup-carbon-icons/src/store.ts index 3656521329..fe00128ead 100644 --- a/packages/hiccup-carbon-icons/src/store.ts +++ b/packages/hiccup-carbon-icons/src/store.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STORE */ // prettier-ignore -export const STORE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 10.68l-2-6A1 1 0 0027 4H5a1 1 0 00-1 .68l-2 6A1.19 1.19 0 002 11v6a1 1 0 001 1h1v10h2V18h6v10h16V18h1a1 1 0 001-1v-6a1.19 1.19 0 000-.32zM26 26H14v-8h12zm2-10h-4v-4h-2v4h-5v-4h-2v4h-5v-4H8v4H4v-4.84L5.72 6h20.56L28 11.16z" }]]; +export const STORE = svg( + ["path", { d: "M30 10.68l-2-6A1 1 0 0027 4H5a1 1 0 00-1 .68l-2 6A1.19 1.19 0 002 11v6a1 1 0 001 1h1v10h2V18h6v10h16V18h1a1 1 0 001-1v-6a1.19 1.19 0 000-.32zM26 26H14v-8h12zm2-10h-4v-4h-2v4h-5v-4h-2v4h-5v-4H8v4H4v-4.84L5.72 6h20.56L28 11.16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/strawberry.ts b/packages/hiccup-carbon-icons/src/strawberry.ts index 518edc42c1..7117952ece 100644 --- a/packages/hiccup-carbon-icons/src/strawberry.ts +++ b/packages/hiccup-carbon-icons/src/strawberry.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STRAWBERRY */ // prettier-ignore -export const STRAWBERRY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9 10h2v2H9zM9 14h2v2H9zM13 12h2v2h-2z" }], - ["path", { d: "M9 28a5.169 5.169 0 01-.744-.054A5.093 5.093 0 014 22.866V11.199a7.162 7.162 0 016.31-7.165 6.96 6.96 0 014.464 1.07l7.97 4.981a6.98 6.98 0 01-.69 12.19l-10.88 5.229A4.976 4.976 0 019 28zm2.002-22q-.248 0-.5.024A5.146 5.146 0 006 11.198v11.669a3.084 3.084 0 002.543 3.1 3.027 3.027 0 001.763-.265l10.883-5.23a4.98 4.98 0 00.488-8.696l-7.972-4.982A4.969 4.969 0 0011.002 6zM26 7h-4a4.005 4.005 0 01-4-4V2h2v1a2.002 2.002 0 002 2h4z" }]]; +export const STRAWBERRY = svg( + ["path", { d: "M9 10h2v2H9zM9 14h2v2H9zM13 12h2v2h-2z" }], + ["path", { d: "M9 28a5.169 5.169 0 01-.744-.054A5.093 5.093 0 014 22.866V11.199a7.162 7.162 0 016.31-7.165 6.96 6.96 0 014.464 1.07l7.97 4.981a6.98 6.98 0 01-.69 12.19l-10.88 5.229A4.976 4.976 0 019 28zm2.002-22q-.248 0-.5.024A5.146 5.146 0 006 11.198v11.669a3.084 3.084 0 002.543 3.1 3.027 3.027 0 001.763-.265l10.883-5.23a4.98 4.98 0 00.488-8.696l-7.972-4.982A4.969 4.969 0 0011.002 6zM26 7h-4a4.005 4.005 0 01-4-4V2h2v1a2.002 2.002 0 002 2h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/string-integer.ts b/packages/hiccup-carbon-icons/src/string-integer.ts index 2648bf46c4..c7d7b004d4 100644 --- a/packages/hiccup-carbon-icons/src/string-integer.ts +++ b/packages/hiccup-carbon-icons/src/string-integer.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STRING_INTEGER */ // prettier-ignore -export const STRING_INTEGER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 12h-4v2h4v2h-3v2h3v2h-4v2h4a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zM19 22h-6v-4a2.002 2.002 0 012-2h2v-2h-4v-2h4a2.002 2.002 0 012 2v2a2.002 2.002 0 01-2 2h-2v2h4zM8 20v-8H6v1H4v2h2v5H4v2h6v-2H8z" }]]; +export const STRING_INTEGER = svg( + ["path", { d: "M26 12h-4v2h4v2h-3v2h3v2h-4v2h4a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zM19 22h-6v-4a2.002 2.002 0 012-2h2v-2h-4v-2h4a2.002 2.002 0 012 2v2a2.002 2.002 0 01-2 2h-2v2h4zM8 20v-8H6v1H4v2h2v5H4v2h6v-2H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/string-text.ts b/packages/hiccup-carbon-icons/src/string-text.ts index 3a8462e504..16dd626f65 100644 --- a/packages/hiccup-carbon-icons/src/string-text.ts +++ b/packages/hiccup-carbon-icons/src/string-text.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#STRING_TEXT */ // prettier-ignore -export const STRING_TEXT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 22h-5a2.003 2.003 0 01-2-2v-6a2.002 2.002 0 012-2h5v2h-5v6h5zM18 12h-4V8h-2v14h6a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM8 12H3v2h5v2H4a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2.002 2.002 0 00-2-2zm0 8H4v-2h4z" }]]; +export const STRING_TEXT = svg( + ["path", { d: "M29 22h-5a2.003 2.003 0 01-2-2v-6a2.002 2.002 0 012-2h5v2h-5v6h5zM18 12h-4V8h-2v14h6a2.003 2.003 0 002-2v-6a2.002 2.002 0 00-2-2zm-4 8v-6h4v6zM8 12H3v2h5v2H4a2 2 0 00-2 2v2a2 2 0 002 2h6v-8a2.002 2.002 0 00-2-2zm0 8H4v-2h4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/subtract-alt.ts b/packages/hiccup-carbon-icons/src/subtract-alt.ts index 0307ac1a25..6b4bdcf876 100644 --- a/packages/hiccup-carbon-icons/src/subtract-alt.ts +++ b/packages/hiccup-carbon-icons/src/subtract-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SUBTRACT_ALT */ // prettier-ignore -export const SUBTRACT_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4c6.6 0 12 5.4 12 12s-5.4 12-12 12S4 22.6 4 16 9.4 4 16 4m0-2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2z" }], - ["path", { d: "M8 15h16v2H8z" }]]; +export const SUBTRACT_ALT = svg( + ["path", { d: "M16 4c6.6 0 12 5.4 12 12s-5.4 12-12 12S4 22.6 4 16 9.4 4 16 4m0-2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2z" }], + ["path", { d: "M8 15h16v2H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/subtract.ts b/packages/hiccup-carbon-icons/src/subtract.ts index c89edc3fe7..17fddf4445 100644 --- a/packages/hiccup-carbon-icons/src/subtract.ts +++ b/packages/hiccup-carbon-icons/src/subtract.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SUBTRACT */ // prettier-ignore -export const SUBTRACT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 15h16v2H8z" }]]; +export const SUBTRACT = svg( + ["path", { d: "M8 15h16v2H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sun.ts b/packages/hiccup-carbon-icons/src/sun.ts index a453a2bee1..aa19893388 100644 --- a/packages/hiccup-carbon-icons/src/sun.ts +++ b/packages/hiccup-carbon-icons/src/sun.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SUN */ // prettier-ignore -export const SUN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 12.005a4 4 0 11-4 4 4.005 4.005 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6zM5.394 6.813l1.414-1.415 3.506 3.506L8.9 10.318zM2 15.005h5v2H2zM5.394 25.197L8.9 21.691l1.414 1.415-3.506 3.505zM15 25.005h2v5h-2zM21.687 23.106l1.414-1.415 3.506 3.506-1.414 1.414zM25 15.005h5v2h-5zM21.687 8.904l3.506-3.506 1.414 1.415-3.506 3.505zM15 2.005h2v5h-2z" }]]; +export const SUN = svg( + ["path", { d: "M16 12.005a4 4 0 11-4 4 4.005 4.005 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6zM5.394 6.813l1.414-1.415 3.506 3.506L8.9 10.318zM2 15.005h5v2H2zM5.394 25.197L8.9 21.691l1.414 1.415-3.506 3.505zM15 25.005h2v5h-2zM21.687 23.106l1.414-1.415 3.506 3.506-1.414 1.414zM25 15.005h5v2h-5zM21.687 8.904l3.506-3.506 1.414 1.415-3.506 3.505zM15 2.005h2v5h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sunny.ts b/packages/hiccup-carbon-icons/src/sunny.ts index 5f8a99d3dc..b162f353b7 100644 --- a/packages/hiccup-carbon-icons/src/sunny.ts +++ b/packages/hiccup-carbon-icons/src/sunny.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SUNNY */ // prettier-ignore -export const SUNNY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 12.005a4 4 0 11-4 4 4.005 4.005 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6zM5.394 6.813l1.414-1.415 3.506 3.506L8.9 10.318zM2 15.005h5v2H2zM5.394 25.197L8.9 21.691l1.414 1.415-3.506 3.505zM15 25.005h2v5h-2zM21.687 23.106l1.414-1.415 3.506 3.506-1.414 1.414zM25 15.005h5v2h-5zM21.687 8.904l3.506-3.506 1.414 1.415-3.506 3.505zM15 2.005h2v5h-2z" }]]; +export const SUNNY = svg( + ["path", { d: "M16 12.005a4 4 0 11-4 4 4.005 4.005 0 014-4m0-2a6 6 0 106 6 6 6 0 00-6-6zM5.394 6.813l1.414-1.415 3.506 3.506L8.9 10.318zM2 15.005h5v2H2zM5.394 25.197L8.9 21.691l1.414 1.415-3.506 3.505zM15 25.005h2v5h-2zM21.687 23.106l1.414-1.415 3.506 3.506-1.414 1.414zM25 15.005h5v2h-5zM21.687 8.904l3.506-3.506 1.414 1.415-3.506 3.505zM15 2.005h2v5h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sunrise.ts b/packages/hiccup-carbon-icons/src/sunrise.ts index 9c60525305..0b23d39af8 100644 --- a/packages/hiccup-carbon-icons/src/sunrise.ts +++ b/packages/hiccup-carbon-icons/src/sunrise.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SUNRISE */ // prettier-ignore -export const SUNRISE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 27h27.998v2H2zM16 20a4.005 4.005 0 014 4h2a6 6 0 00-12 0h2a4.005 4.005 0 014-4zM25 22h5v2h-5zM21.687 16.9l3.506-3.507 1.414 1.415-3.506 3.505zM16 4l-5 5 1.41 1.41L15 7.83V15h2V7.83l2.59 2.58L21 9l-5-5zM5.393 14.807l1.415-1.414 3.506 3.506-1.415 1.414zM2 22h5v2H2z" }]]; +export const SUNRISE = svg( + ["path", { d: "M2 27h27.998v2H2zM16 20a4.005 4.005 0 014 4h2a6 6 0 00-12 0h2a4.005 4.005 0 014-4zM25 22h5v2h-5zM21.687 16.9l3.506-3.507 1.414 1.415-3.506 3.505zM16 4l-5 5 1.41 1.41L15 7.83V15h2V7.83l2.59 2.58L21 9l-5-5zM5.393 14.807l1.415-1.414 3.506 3.506-1.415 1.414zM2 22h5v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sunset.ts b/packages/hiccup-carbon-icons/src/sunset.ts index 316c17af72..058fe0d19a 100644 --- a/packages/hiccup-carbon-icons/src/sunset.ts +++ b/packages/hiccup-carbon-icons/src/sunset.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SUNSET */ // prettier-ignore -export const SUNSET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 27.005h27.998v2H2zM16 20.005a4.005 4.005 0 014 4h2a6 6 0 00-12 0h2a4.005 4.005 0 014-4zM25 22.005h5v2h-5zM21.687 16.904l3.506-3.506 1.414 1.415-3.506 3.505zM19.59 9.595L17 12.175v-8.17h-2v8.17l-2.59-2.58-1.41 1.41 5 5 5-5-1.41-1.41zM5.393 14.812l1.415-1.414 3.506 3.505-1.415 1.415zM2 22.005h5v2H2z" }]]; +export const SUNSET = svg( + ["path", { d: "M2 27.005h27.998v2H2zM16 20.005a4.005 4.005 0 014 4h2a6 6 0 00-12 0h2a4.005 4.005 0 014-4zM25 22.005h5v2h-5zM21.687 16.904l3.506-3.506 1.414 1.415-3.506 3.505zM19.59 9.595L17 12.175v-8.17h-2v8.17l-2.59-2.58-1.41 1.41 5 5 5-5-1.41-1.41zM5.393 14.812l1.415-1.414 3.506 3.505-1.415 1.415zM2 22.005h5v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/svg.ts b/packages/hiccup-carbon-icons/src/svg.ts index d8fc969aae..0a1bce2b30 100644 --- a/packages/hiccup-carbon-icons/src/svg.ts +++ b/packages/hiccup-carbon-icons/src/svg.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SVG */ // prettier-ignore -export const SVG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 23h-6a2 2 0 01-2-2V11a2 2 0 012-2h6v2h-6v10h4v-4h-2v-2h4zM18 9l-2 13-2-13h-2l2.52 14h2.96L20 9h-2zM8 23H2v-2h6v-4H4a2 2 0 01-2-2v-4a2 2 0 012-2h6v2H4v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }]]; +export const SVG = svg( + ["path", { d: "M30 23h-6a2 2 0 01-2-2V11a2 2 0 012-2h6v2h-6v10h4v-4h-2v-2h4zM18 9l-2 13-2-13h-2l2.52 14h2.96L20 9h-2zM8 23H2v-2h6v-4H4a2 2 0 01-2-2v-4a2 2 0 012-2h6v2H4v4h4a2 2 0 012 2v4a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/swim.ts b/packages/hiccup-carbon-icons/src/swim.ts index 4299a3a0d9..62904d64b4 100644 --- a/packages/hiccup-carbon-icons/src/swim.ts +++ b/packages/hiccup-carbon-icons/src/swim.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SWIM */ // prettier-ignore -export const SWIM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 26h-2a4.932 4.932 0 01-4-1.987 5.02 5.02 0 01-8 0 5.02 5.02 0 01-8 0A4.932 4.932 0 014 26H2v-2h2a3.44 3.44 0 003.053-2.321A.971.971 0 018 21a1.007 1.007 0 01.949.684A3.438 3.438 0 0012 24a3.44 3.44 0 003.053-2.321A.99.99 0 0116 21a1.007 1.007 0 01.949.684A3.438 3.438 0 0020 24a3.44 3.44 0 003.053-2.321 1 1 0 011.896.005A3.438 3.438 0 0028 24h2zM23 17.586l-8.707-8.707A2.98 2.98 0 0012.171 8H4v2h8.171a.993.993 0 01.708.293L15.586 13 10 18.586 11.414 20 17 14.414 21.586 19zM20 10a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2z" }]]; +export const SWIM = svg( + ["path", { d: "M30 26h-2a4.932 4.932 0 01-4-1.987 5.02 5.02 0 01-8 0 5.02 5.02 0 01-8 0A4.932 4.932 0 014 26H2v-2h2a3.44 3.44 0 003.053-2.321A.971.971 0 018 21a1.007 1.007 0 01.949.684A3.438 3.438 0 0012 24a3.44 3.44 0 003.053-2.321A.99.99 0 0116 21a1.007 1.007 0 01.949.684A3.438 3.438 0 0020 24a3.44 3.44 0 003.053-2.321 1 1 0 011.896.005A3.438 3.438 0 0028 24h2zM23 17.586l-8.707-8.707A2.98 2.98 0 0012.171 8H4v2h8.171a.993.993 0 01.708.293L15.586 13 10 18.586 11.414 20 17 14.414 21.586 19zM20 10a4 4 0 114 4 4.004 4.004 0 01-4-4zm2 0a2 2 0 102-2 2.002 2.002 0 00-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/switcher.ts b/packages/hiccup-carbon-icons/src/switcher.ts index adb667957d..b565b47511 100644 --- a/packages/hiccup-carbon-icons/src/switcher.ts +++ b/packages/hiccup-carbon-icons/src/switcher.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SWITCHER */ // prettier-ignore -export const SWITCHER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 4h4v4h-4zM4 4h4v4H4zM24 4h4v4h-4zM14 14h4v4h-4zM4 14h4v4H4zM24 14h4v4h-4zM14 24h4v4h-4zM4 24h4v4H4zM24 24h4v4h-4z" }]]; +export const SWITCHER = svg( + ["path", { d: "M14 4h4v4h-4zM4 4h4v4H4zM24 4h4v4h-4zM14 14h4v4h-4zM4 14h4v4H4zM24 14h4v4h-4zM14 24h4v4h-4zM4 24h4v4H4zM24 24h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/sys-provision.ts b/packages/hiccup-carbon-icons/src/sys-provision.ts index c249763499..1af229475b 100644 --- a/packages/hiccup-carbon-icons/src/sys-provision.ts +++ b/packages/hiccup-carbon-icons/src/sys-provision.ts @@ -1,15 +1,17 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#SYS_PROVISION */ // prettier-ignore -export const SYS_PROVISION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 20v10l9-5-9-5z" }], - ["circle", - { - r: 2, - cy: 14, - cx: 14, - }], - ["path", { d: "M14 20a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }], - ["path", { d: "M25.951 12.91h-.006A12.05 12.05 0 1017 25.605v-2.066a9.981 9.981 0 116.623-6.81l1.925.544A12.034 12.034 0 0026 14q0-.55-.049-1.09z" }]]; +export const SYS_PROVISION = svg( + ["path", { d: "M21 20v10l9-5-9-5z" }], + ["circle", + { + r: 2, + cy: 14, + cx: 14, + }], + ["path", { d: "M14 20a6 6 0 116-6 6.007 6.007 0 01-6 6zm0-10a4 4 0 104 4 4.005 4.005 0 00-4-4z" }], + ["path", { d: "M25.951 12.91h-.006A12.05 12.05 0 1017 25.605v-2.066a9.981 9.981 0 116.623-6.81l1.925.544A12.034 12.034 0 0026 14q0-.55-.049-1.09z" }] +); diff --git a/packages/hiccup-carbon-icons/src/table-of-contents.ts b/packages/hiccup-carbon-icons/src/table-of-contents.ts index 1e4efea9c1..58deacc603 100644 --- a/packages/hiccup-carbon-icons/src/table-of-contents.ts +++ b/packages/hiccup-carbon-icons/src/table-of-contents.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TABLE_OF_CONTENTS */ // prettier-ignore -export const TABLE_OF_CONTENTS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 6h18v2H4zM4 12h18v2H4zM4 18h18v2H4zM4 24h18v2H4zM26 6h2v2h-2zM26 12h2v2h-2zM26 18h2v2h-2zM26 24h2v2h-2z" }]]; +export const TABLE_OF_CONTENTS = svg( + ["path", { d: "M4 6h18v2H4zM4 12h18v2H4zM4 18h18v2H4zM4 24h18v2H4zM26 6h2v2h-2zM26 12h2v2h-2zM26 18h2v2h-2zM26 24h2v2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/table-split.ts b/packages/hiccup-carbon-icons/src/table-split.ts index 3001040641..59cdbead18 100644 --- a/packages/hiccup-carbon-icons/src/table-split.ts +++ b/packages/hiccup-carbon-icons/src/table-split.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TABLE_SPLIT */ // prettier-ignore -export const TABLE_SPLIT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 3H5a2 2 0 00-2 2v22a2 2 0 002 2h22a2 2 0 002-2V5a2 2 0 00-2-2zm0 2v4H5V5zm-10 6h10v7H17zm-2 7H5v-7h10zM5 20h10v7H5zm12 7v-7h10v7z" }]]; +export const TABLE_SPLIT = svg( + ["path", { d: "M27 3H5a2 2 0 00-2 2v22a2 2 0 002 2h22a2 2 0 002-2V5a2 2 0 00-2-2zm0 2v4H5V5zm-10 6h10v7H17zm-2 7H5v-7h10zM5 20h10v7H5zm12 7v-7h10v7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/table.ts b/packages/hiccup-carbon-icons/src/table.ts index 9014ffe0e9..0e9563ea2b 100644 --- a/packages/hiccup-carbon-icons/src/table.ts +++ b/packages/hiccup-carbon-icons/src/table.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TABLE */ // prettier-ignore -export const TABLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 5a2 2 0 00-2-2H5a2 2 0 00-2 2v22a2 2 0 002 2h22a2 2 0 002-2zm-2 0v4H5V5zm0 22H5v-4h22zm0-6H5v-4h22zm0-6H5v-4h22z" }]]; +export const TABLE = svg( + ["path", { d: "M29 5a2 2 0 00-2-2H5a2 2 0 00-2 2v22a2 2 0 002 2h22a2 2 0 002-2zm-2 0v4H5V5zm0 22H5v-4h22zm0-6H5v-4h22zm0-6H5v-4h22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tablet-landscape.ts b/packages/hiccup-carbon-icons/src/tablet-landscape.ts index af22904b44..12a822128b 100644 --- a/packages/hiccup-carbon-icons/src/tablet-landscape.ts +++ b/packages/hiccup-carbon-icons/src/tablet-landscape.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TABLET_LANDSCAPE */ // prettier-ignore -export const TABLET_LANDSCAPE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 13h2v6h-2z" }], - ["path", { d: "M30 7v18a2.002 2.002 0 01-2 2H4a2.002 2.002 0 01-2-2V7a2.002 2.002 0 012-2h24a2.003 2.003 0 012 2zM4 25h24V7H4z" }]]; +export const TABLET_LANDSCAPE = svg( + ["path", { d: "M24 13h2v6h-2z" }], + ["path", { d: "M30 7v18a2.002 2.002 0 01-2 2H4a2.002 2.002 0 01-2-2V7a2.002 2.002 0 012-2h24a2.003 2.003 0 012 2zM4 25h24V7H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tablet.ts b/packages/hiccup-carbon-icons/src/tablet.ts index 834c6ae9b4..d1434fcf46 100644 --- a/packages/hiccup-carbon-icons/src/tablet.ts +++ b/packages/hiccup-carbon-icons/src/tablet.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TABLET */ // prettier-ignore -export const TABLET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 24v2h-6v-2z" }], - ["path", { d: "M25 30H7a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v24a2.003 2.003 0 01-2 2zM7 4v24h18V4z" }]]; +export const TABLET = svg( + ["path", { d: "M19 24v2h-6v-2z" }], + ["path", { d: "M25 30H7a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h18a2.002 2.002 0 012 2v24a2.003 2.003 0 01-2 2zM7 4v24h18V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tag-edit.ts b/packages/hiccup-carbon-icons/src/tag-edit.ts index 1b350aa1da..2632841a5d 100644 --- a/packages/hiccup-carbon-icons/src/tag-edit.ts +++ b/packages/hiccup-carbon-icons/src/tag-edit.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TAG_EDIT */ // prettier-ignore -export const TAG_EDIT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.707 7.293l-3-3a1 1 0 00-1.414 0L16 13.586V18h4.414l9.293-9.293a1 1 0 000-1.414zM19.586 16H18v-1.586l5-5L24.586 11zM26 9.586L24.414 8 26 6.414 27.586 8zM10 14a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], - ["path", { d: "M29.416 16.586l-2.38-2.379-1.414 1.414L28 18 18 28 4 14V4h10l4.377 4.376 1.415-1.414-4.378-4.378A2.002 2.002 0 0014 2H4a2.003 2.003 0 00-2 2v10a2.002 2.002 0 00.584 1.414l14 14a2.002 2.002 0 002.831 0l10-10a2 2 0 000-2.828z" }]]; +export const TAG_EDIT = svg( + ["path", { d: "M29.707 7.293l-3-3a1 1 0 00-1.414 0L16 13.586V18h4.414l9.293-9.293a1 1 0 000-1.414zM19.586 16H18v-1.586l5-5L24.586 11zM26 9.586L24.414 8 26 6.414 27.586 8zM10 14a4 4 0 114-4 4.005 4.005 0 01-4 4zm0-6a2 2 0 102 2 2.002 2.002 0 00-2-2z" }], + ["path", { d: "M29.416 16.586l-2.38-2.379-1.414 1.414L28 18 18 28 4 14V4h10l4.377 4.376 1.415-1.414-4.378-4.378A2.002 2.002 0 0014 2H4a2.003 2.003 0 00-2 2v10a2.002 2.002 0 00.584 1.414l14 14a2.002 2.002 0 002.831 0l10-10a2 2 0 000-2.828z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tag-group.ts b/packages/hiccup-carbon-icons/src/tag-group.ts index 3e3be97f82..d2d72b6ef2 100644 --- a/packages/hiccup-carbon-icons/src/tag-group.ts +++ b/packages/hiccup-carbon-icons/src/tag-group.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TAG_GROUP */ // prettier-ignore -export const TAG_GROUP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 14, - cx: 10, - }], - ["path", { d: "M16 30a1 1 0 01-.71-.29L4.59 19A2 2 0 014 17.59V10a2 2 0 012-2h7.59a2 2 0 011.41.59l10.71 10.7a1 1 0 010 1.42l-9 9A1 1 0 0116 30zM6 10v7.59l10 10L23.59 20l-10-10z" }], - ["path", { d: "M27.71 13.29L17 2.59A2 2 0 0015.59 2H8a2 2 0 00-2 2v2h2V4h7.59l10 10-1.3 1.29 1.42 1.42 2-2a1 1 0 000-1.42z" }]]; +export const TAG_GROUP = svg( + ["circle", + { + r: 2, + cy: 14, + cx: 10, + }], + ["path", { d: "M16 30a1 1 0 01-.71-.29L4.59 19A2 2 0 014 17.59V10a2 2 0 012-2h7.59a2 2 0 011.41.59l10.71 10.7a1 1 0 010 1.42l-9 9A1 1 0 0116 30zM6 10v7.59l10 10L23.59 20l-10-10z" }], + ["path", { d: "M27.71 13.29L17 2.59A2 2 0 0015.59 2H8a2 2 0 00-2 2v2h2V4h7.59l10 10-1.3 1.29 1.42 1.42 2-2a1 1 0 000-1.42z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tag.ts b/packages/hiccup-carbon-icons/src/tag.ts index e419754f85..de80e6836d 100644 --- a/packages/hiccup-carbon-icons/src/tag.ts +++ b/packages/hiccup-carbon-icons/src/tag.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TAG */ // prettier-ignore -export const TAG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18.52 30a3 3 0 01-2.12-.88L2.88 15.61A3 3 0 012 13.49V5a3 3 0 013-3h8.49a3 3 0 012.12.88l13.51 13.51a3 3 0 010 4.25l-8.48 8.48a3 3 0 01-2.12.88zM5 4a1 1 0 00-1 1v8.49a1 1 0 00.3.71l13.51 13.51a1 1 0 001.41 0l8.49-8.49a1 1 0 000-1.41L14.2 4.3a1 1 0 00-.71-.3H5z" }], - ["path", { d: "M10 14a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2z" }]]; +export const TAG = svg( + ["path", { d: "M18.52 30a3 3 0 01-2.12-.88L2.88 15.61A3 3 0 012 13.49V5a3 3 0 013-3h8.49a3 3 0 012.12.88l13.51 13.51a3 3 0 010 4.25l-8.48 8.48a3 3 0 01-2.12.88zM5 4a1 1 0 00-1 1v8.49a1 1 0 00.3.71l13.51 13.51a1 1 0 001.41 0l8.49-8.49a1 1 0 000-1.41L14.2 4.3a1 1 0 00-.71-.3H5z" }], + ["path", { d: "M10 14a4 4 0 114-4 4 4 0 01-4 4zm0-6a2 2 0 102 2 2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/task-view.ts b/packages/hiccup-carbon-icons/src/task-view.ts index de69ba9237..0488c7794a 100644 --- a/packages/hiccup-carbon-icons/src/task-view.ts +++ b/packages/hiccup-carbon-icons/src/task-view.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TASK_VIEW */ // prettier-ignore -export const TASK_VIEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 28a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.003 2.003 0 00-2-2z" }], - ["path", { d: "M29.777 23.479A8.64 8.64 0 0022 18a8.64 8.64 0 00-7.777 5.479L14 24l.223.521A8.64 8.64 0 0022 30a8.64 8.64 0 007.777-5.479L30 24zM22 28a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], - ["path", { d: "M12 28H7V7h3v3h12V7h3v9h2V7a2 2 0 00-2-2h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h5zm0-24h8v4h-8z" }]]; +export const TASK_VIEW = svg( + ["path", { d: "M22 28a4 4 0 114-4 4.004 4.004 0 01-4 4zm0-6a2 2 0 102 2 2.003 2.003 0 00-2-2z" }], + ["path", { d: "M29.777 23.479A8.64 8.64 0 0022 18a8.64 8.64 0 00-7.777 5.479L14 24l.223.521A8.64 8.64 0 0022 30a8.64 8.64 0 007.777-5.479L30 24zM22 28a4 4 0 114-4 4.005 4.005 0 01-4 4z" }], + ["path", { d: "M12 28H7V7h3v3h12V7h3v9h2V7a2 2 0 00-2-2h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h5zm0-24h8v4h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/task.ts b/packages/hiccup-carbon-icons/src/task.ts index 41878854e0..7bd9e2c780 100644 --- a/packages/hiccup-carbon-icons/src/task.ts +++ b/packages/hiccup-carbon-icons/src/task.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TASK */ // prettier-ignore -export const TASK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 20.18l-3.59-3.59L9 18l5 5 9-9-1.41-1.42-7.59 7.6z" }], - ["path", { d: "M25 5h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h18a2 2 0 002-2V7a2 2 0 00-2-2zM12 4h8v4h-8zm13 24H7V7h3v3h12V7h3z" }]]; +export const TASK = svg( + ["path", { d: "M14 20.18l-3.59-3.59L9 18l5 5 9-9-1.41-1.42-7.59 7.6z" }], + ["path", { d: "M25 5h-3V4a2 2 0 00-2-2h-8a2 2 0 00-2 2v1H7a2 2 0 00-2 2v21a2 2 0 002 2h18a2 2 0 002-2V7a2 2 0 00-2-2zM12 4h8v4h-8zm13 24H7V7h3v3h12V7h3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/taste.ts b/packages/hiccup-carbon-icons/src/taste.ts index e43a37845e..00af7064f0 100644 --- a/packages/hiccup-carbon-icons/src/taste.ts +++ b/packages/hiccup-carbon-icons/src/taste.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TASTE */ // prettier-ignore -export const TASTE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 4v2h4v8a8 8 0 0016 0V6h4V4zm18 10a6 6 0 01-12 0V6h5v8h2V6h5zM11 26h2v2h-2zM7 24h2v2H7zM15 24h2v2h-2zM19 26h2v2h-2zM23 24h2v2h-2z" }]]; +export const TASTE = svg( + ["path", { d: "M4 4v2h4v8a8 8 0 0016 0V6h4V4zm18 10a6 6 0 01-12 0V6h5v8h2V6h5zM11 26h2v2h-2zM7 24h2v2H7zM15 24h2v2h-2zM19 26h2v2h-2zM23 24h2v2h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/taxi.ts b/packages/hiccup-carbon-icons/src/taxi.ts index 60793bbca9..d1818fcaf3 100644 --- a/packages/hiccup-carbon-icons/src/taxi.ts +++ b/packages/hiccup-carbon-icons/src/taxi.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TAXI */ // prettier-ignore -export const TAXI: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.39 16.08l-6.69-2.87-2.54-4.34-.08-.12A2 2 0 0018.52 8h-8a2 2 0 00-1.67.89L5.46 14H3a1 1 0 00-1 1v9a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7a1 1 0 00-.61-.92zM9 26a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4v-7h2a1 1 0 00.83-.45L10.54 10h8l2.63 4.5a1 1 0 00.47.42L28 17.66z" }]]; +export const TAXI = svg( + ["path", { d: "M29.39 16.08l-6.69-2.87-2.54-4.34-.08-.12A2 2 0 0018.52 8h-8a2 2 0 00-1.67.89L5.46 14H3a1 1 0 00-1 1v9a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7a1 1 0 00-.61-.92zM9 26a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4v-7h2a1 1 0 00.83-.45L10.54 10h8l2.63 4.5a1 1 0 00.47.42L28 17.66z" }] +); diff --git a/packages/hiccup-carbon-icons/src/temperature-frigid.ts b/packages/hiccup-carbon-icons/src/temperature-frigid.ts index 54b84129d0..127245d9af 100644 --- a/packages/hiccup-carbon-icons/src/temperature-frigid.ts +++ b/packages/hiccup-carbon-icons/src/temperature-frigid.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEMPERATURE_FRIGID */ // prettier-ignore -export const TEMPERATURE_FRIGID: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.167 16.89L21.72 13l5.447-3.891 2.517.839.632-1.897L28 7.279V5h-2v2.485l-5 3.572v-5.69l2.555-1.703L22.445 2 20 3.63 17.555 2l-1.11 1.664L19 5.367v5.69l-3-2.143v2.458L18.28 13 16 14.628v2.458l3-2.143v6.76L22.445 24l1.11-1.664L21 20.633v-5.69l5 3.572V21h2v-2.279l2.316-.773-.632-1.897-2.517.839zM12 23a3 3 0 01-6 0z" }], - ["path", { d: "M13 17.262V6a4 4 0 00-8 0v11.262a7 7 0 108 0zM9 28a4.997 4.997 0 01-2.499-9.325l.499-.29V6a2 2 0 014 0v12.386l.499.289A4.997 4.997 0 019 28z" }]]; +export const TEMPERATURE_FRIGID = svg( + ["path", { d: "M27.167 16.89L21.72 13l5.447-3.891 2.517.839.632-1.897L28 7.279V5h-2v2.485l-5 3.572v-5.69l2.555-1.703L22.445 2 20 3.63 17.555 2l-1.11 1.664L19 5.367v5.69l-3-2.143v2.458L18.28 13 16 14.628v2.458l3-2.143v6.76L22.445 24l1.11-1.664L21 20.633v-5.69l5 3.572V21h2v-2.279l2.316-.773-.632-1.897-2.517.839zM12 23a3 3 0 01-6 0z" }], + ["path", { d: "M13 17.262V6a4 4 0 00-8 0v11.262a7 7 0 108 0zM9 28a4.997 4.997 0 01-2.499-9.325l.499-.29V6a2 2 0 014 0v12.386l.499.289A4.997 4.997 0 019 28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/temperature-hot.ts b/packages/hiccup-carbon-icons/src/temperature-hot.ts index c3a6d88041..303db9f3a3 100644 --- a/packages/hiccup-carbon-icons/src/temperature-hot.ts +++ b/packages/hiccup-carbon-icons/src/temperature-hot.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEMPERATURE_HOT */ // prettier-ignore -export const TEMPERATURE_HOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 20.414L24.413 19l2.828 2.828-1.414 1.414zM26 13h4v2h-4zM23 7.586l2.828-2.828 1.414 1.414-2.828 2.829zM17 2h2v4h-2zM18 8a6.037 6.037 0 00-1 .09v2.052A3.957 3.957 0 0118 10a4 4 0 010 8v2a6 6 0 000-12zM10 20.184V7H8v13.184a3 3 0 102 0z" }], - ["path", { d: "M14 18.138V7A5 5 0 004 7v11.138A6.99 6.99 0 1016 23a6.941 6.941 0 00-2-4.862zM9 28a5.006 5.006 0 01-5-5 4.916 4.916 0 011.075-3.06 5.1 5.1 0 01.299-.344c.052-.054.1-.111.155-.163a5.14 5.14 0 01.346-.302c.042-.034.081-.072.125-.105V7a3 3 0 016 0v12.025c.044.034.083.072.126.107.118.096.236.194.345.3.054.053.104.11.156.165.103.11.204.223.298.343A4.915 4.915 0 0114 23a5.006 5.006 0 01-5 5z" }]]; +export const TEMPERATURE_HOT = svg( + ["path", { d: "M23 20.414L24.413 19l2.828 2.828-1.414 1.414zM26 13h4v2h-4zM23 7.586l2.828-2.828 1.414 1.414-2.828 2.829zM17 2h2v4h-2zM18 8a6.037 6.037 0 00-1 .09v2.052A3.957 3.957 0 0118 10a4 4 0 010 8v2a6 6 0 000-12zM10 20.184V7H8v13.184a3 3 0 102 0z" }], + ["path", { d: "M14 18.138V7A5 5 0 004 7v11.138A6.99 6.99 0 1016 23a6.941 6.941 0 00-2-4.862zM9 28a5.006 5.006 0 01-5-5 4.916 4.916 0 011.075-3.06 5.1 5.1 0 01.299-.344c.052-.054.1-.111.155-.163a5.14 5.14 0 01.346-.302c.042-.034.081-.072.125-.105V7a3 3 0 016 0v12.025c.044.034.083.072.126.107.118.096.236.194.345.3.054.053.104.11.156.165.103.11.204.223.298.343A4.915 4.915 0 0114 23a5.006 5.006 0 01-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/temperature.ts b/packages/hiccup-carbon-icons/src/temperature.ts index 562e37fc4d..499144d22b 100644 --- a/packages/hiccup-carbon-icons/src/temperature.ts +++ b/packages/hiccup-carbon-icons/src/temperature.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEMPERATURE */ // prettier-ignore -export const TEMPERATURE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 17.26V6a4 4 0 00-8 0v11.26a7 7 0 108 0zM9 4a2 2 0 012 2v7H7V6a2 2 0 012-2zm0 24a5 5 0 01-2.5-9.33l.5-.28V15h4v3.39l.5.28A5 5 0 019 28zM20 4h10v2H20zM20 10h7v2h-7zM20 16h10v2H20zM20 22h7v2h-7z" }]]; +export const TEMPERATURE = svg( + ["path", { d: "M13 17.26V6a4 4 0 00-8 0v11.26a7 7 0 108 0zM9 4a2 2 0 012 2v7H7V6a2 2 0 012-2zm0 24a5 5 0 01-2.5-9.33l.5-.28V15h4v3.39l.5.28A5 5 0 019 28zM20 4h10v2H20zM20 10h7v2h-7zM20 16h10v2H20zM20 22h7v2h-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/template.ts b/packages/hiccup-carbon-icons/src/template.ts index ad2c2361c5..7d455dfde0 100644 --- a/packages/hiccup-carbon-icons/src/template.ts +++ b/packages/hiccup-carbon-icons/src/template.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEMPLATE */ // prettier-ignore -export const TEMPLATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 6v4H6V6h20m0-2H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM10 16v10H6V16h4m0-2H6a2 2 0 00-2 2v10a2 2 0 002 2h4a2 2 0 002-2V16a2 2 0 00-2-2zM26 16v10H16V16h10m0-2H16a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V16a2 2 0 00-2-2z" }]]; +export const TEMPLATE = svg( + ["path", { d: "M26 6v4H6V6h20m0-2H6a2 2 0 00-2 2v4a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2zM10 16v10H6V16h4m0-2H6a2 2 0 00-2 2v10a2 2 0 002 2h4a2 2 0 002-2V16a2 2 0 00-2-2zM26 16v10H16V16h10m0-2H16a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V16a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tennis-ball.ts b/packages/hiccup-carbon-icons/src/tennis-ball.ts index ae21450e5b..2f6ee6fa51 100644 --- a/packages/hiccup-carbon-icons/src/tennis-ball.ts +++ b/packages/hiccup-carbon-icons/src/tennis-ball.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TENNIS_BALL */ // prettier-ignore -export const TENNIS_BALL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 4a8.981 8.981 0 00-8.169 12.755L2 25.585 3.414 27l8.487-8.487a9.04 9.04 0 001.586 1.586L10 23.586 11.414 25l3.831-3.831A8.996 8.996 0 1019 4zm6.906 7.906a7.005 7.005 0 01-5.812-5.812 7.005 7.005 0 015.812 5.812zm-13.812 2.188a7.005 7.005 0 015.812 5.812 7.005 7.005 0 01-5.812-5.812zm7.836 5.837a9.01 9.01 0 00-7.861-7.862 7.004 7.004 0 016-6 9.01 9.01 0 007.861 7.862 7.004 7.004 0 01-6 6z" }]]; +export const TENNIS_BALL = svg( + ["path", { d: "M19 4a8.981 8.981 0 00-8.169 12.755L2 25.585 3.414 27l8.487-8.487a9.04 9.04 0 001.586 1.586L10 23.586 11.414 25l3.831-3.831A8.996 8.996 0 1019 4zm6.906 7.906a7.005 7.005 0 01-5.812-5.812 7.005 7.005 0 015.812 5.812zm-13.812 2.188a7.005 7.005 0 015.812 5.812 7.005 7.005 0 01-5.812-5.812zm7.836 5.837a9.01 9.01 0 00-7.861-7.862 7.004 7.004 0 016-6 9.01 9.01 0 007.861 7.862 7.004 7.004 0 01-6 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tennis.ts b/packages/hiccup-carbon-icons/src/tennis.ts index ad5051698f..a9e377eea6 100644 --- a/packages/hiccup-carbon-icons/src/tennis.ts +++ b/packages/hiccup-carbon-icons/src/tennis.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TENNIS */ // prettier-ignore -export const TENNIS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["rect", { rx: 2 }], - ["path", { d: "M11 16a1 1 0 01-.707-1.707l7-7a1 1 0 111.414 1.414l-7 7A.996.996 0 0111 16z" }], - ["path", { d: "M23.707 24.293a8.395 8.395 0 00-4.72-2.209c.2-.164.393-.336.578-.521a9.245 9.245 0 001.733-9.914l-1.877.697c1.11 2.98.635 5.898-1.272 7.802a6.696 6.696 0 01-5.56 1.805 9.775 9.775 0 01-5.772-2.786c-2.973-2.97-4.076-8.227-.98-11.32 1.906-1.905 4.826-2.38 7.809-1.27l.699-1.875c-3.683-1.369-7.486-.706-9.924 1.731-3.943 3.939-2.676 10.496.98 14.149a11.814 11.814 0 006.976 3.36c.21.022.416.023.623.033V24h4.996a6.846 6.846 0 014.297 1.707L26.586 30 28 28.586z" }]]; +export const TENNIS = svg( + ["rect", { rx: 2 }], + ["path", { d: "M11 16a1 1 0 01-.707-1.707l7-7a1 1 0 111.414 1.414l-7 7A.996.996 0 0111 16z" }], + ["path", { d: "M23.707 24.293a8.395 8.395 0 00-4.72-2.209c.2-.164.393-.336.578-.521a9.245 9.245 0 001.733-9.914l-1.877.697c1.11 2.98.635 5.898-1.272 7.802a6.696 6.696 0 01-5.56 1.805 9.775 9.775 0 01-5.772-2.786c-2.973-2.97-4.076-8.227-.98-11.32 1.906-1.905 4.826-2.38 7.809-1.27l.699-1.875c-3.683-1.369-7.486-.706-9.924 1.731-3.943 3.939-2.676 10.496.98 14.149a11.814 11.814 0 006.976 3.36c.21.022.416.023.623.033V24h4.996a6.846 6.846 0 014.297 1.707L26.586 30 28 28.586z" }] +); diff --git a/packages/hiccup-carbon-icons/src/term.ts b/packages/hiccup-carbon-icons/src/term.ts index b80fd95686..ef5fe0536c 100644 --- a/packages/hiccup-carbon-icons/src/term.ts +++ b/packages/hiccup-carbon-icons/src/term.ts @@ -1,26 +1,28 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TERM */ // prettier-ignore -export const TERM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 26h-3v-2h3V8h-3V6h3a2.002 2.002 0 012 2v16a2.003 2.003 0 01-2 2z" }], - ["circle", - { - r: 2, - cy: 16, - cx: 23, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 16, - }], - ["circle", - { - r: 2, - cy: 16, - cx: 9, - }], - ["path", { d: "M7 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h3v2H4v16h3z" }]]; +export const TERM = svg( + ["path", { d: "M28 26h-3v-2h3V8h-3V6h3a2.002 2.002 0 012 2v16a2.003 2.003 0 01-2 2z" }], + ["circle", + { + r: 2, + cy: 16, + cx: 23, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 16, + }], + ["circle", + { + r: 2, + cy: 16, + cx: 9, + }], + ["path", { d: "M7 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h3v2H4v16h3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/terminal.ts b/packages/hiccup-carbon-icons/src/terminal.ts index 6affc7aed1..7077eed733 100644 --- a/packages/hiccup-carbon-icons/src/terminal.ts +++ b/packages/hiccup-carbon-icons/src/terminal.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TERMINAL */ // prettier-ignore -export const TERMINAL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 4.01H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2v-20a2 2 0 00-2-2zm0 2v4H6v-4zm-20 20v-14h20v14z" }], - ["path", { d: "M10.76 16.18l2.82 2.83-2.82 2.83 1.41 1.41 4.24-4.24-4.24-4.24-1.41 1.41z" }]]; +export const TERMINAL = svg( + ["path", { d: "M26 4.01H6a2 2 0 00-2 2v20a2 2 0 002 2h20a2 2 0 002-2v-20a2 2 0 00-2-2zm0 2v4H6v-4zm-20 20v-14h20v14z" }], + ["path", { d: "M10.76 16.18l2.82 2.83-2.82 2.83 1.41 1.41 4.24-4.24-4.24-4.24-1.41 1.41z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-align-center.ts b/packages/hiccup-carbon-icons/src/text-align-center.ts index b4164f5859..62fb5ef2bf 100644 --- a/packages/hiccup-carbon-icons/src/text-align-center.ts +++ b/packages/hiccup-carbon-icons/src/text-align-center.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_ALIGN_CENTER */ // prettier-ignore -export const TEXT_ALIGN_CENTER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 6h20v2H6zM10 12h12v2H10zM6 18h20v2H6zM10 24h12v2H10z" }]]; +export const TEXT_ALIGN_CENTER = svg( + ["path", { d: "M6 6h20v2H6zM10 12h12v2H10zM6 18h20v2H6zM10 24h12v2H10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-align-justify.ts b/packages/hiccup-carbon-icons/src/text-align-justify.ts index 44918071a8..7bfbfb33a4 100644 --- a/packages/hiccup-carbon-icons/src/text-align-justify.ts +++ b/packages/hiccup-carbon-icons/src/text-align-justify.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_ALIGN_JUSTIFY */ // prettier-ignore -export const TEXT_ALIGN_JUSTIFY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 6h20v2H6zM6 12h20v2H6zM6 18h20v2H6zM6 24h20v2H6z" }]]; +export const TEXT_ALIGN_JUSTIFY = svg( + ["path", { d: "M6 6h20v2H6zM6 12h20v2H6zM6 18h20v2H6zM6 24h20v2H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-align-left.ts b/packages/hiccup-carbon-icons/src/text-align-left.ts index 3323d0ccc3..1721c591bf 100644 --- a/packages/hiccup-carbon-icons/src/text-align-left.ts +++ b/packages/hiccup-carbon-icons/src/text-align-left.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_ALIGN_LEFT */ // prettier-ignore -export const TEXT_ALIGN_LEFT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 6h14v2H12zM12 12h10v2H12zM12 18h14v2H12zM12 24h10v2H12zM6 4h2v24H6z" }]]; +export const TEXT_ALIGN_LEFT = svg( + ["path", { d: "M12 6h14v2H12zM12 12h10v2H12zM12 18h14v2H12zM12 24h10v2H12zM6 4h2v24H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-align-right.ts b/packages/hiccup-carbon-icons/src/text-align-right.ts index d046ab70b4..3a1eec5089 100644 --- a/packages/hiccup-carbon-icons/src/text-align-right.ts +++ b/packages/hiccup-carbon-icons/src/text-align-right.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_ALIGN_RIGHT */ // prettier-ignore -export const TEXT_ALIGN_RIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 6h14v2H6zM10 12h10v2H10zM6 18h14v2H6zM10 24h10v2H10zM24 4h2v24h-2z" }]]; +export const TEXT_ALIGN_RIGHT = svg( + ["path", { d: "M6 6h14v2H6zM10 12h10v2H10zM6 18h14v2H6zM10 24h10v2H10zM24 4h2v24h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-all-caps.ts b/packages/hiccup-carbon-icons/src/text-all-caps.ts index 1663cd42da..3be60cbda5 100644 --- a/packages/hiccup-carbon-icons/src/text-all-caps.ts +++ b/packages/hiccup-carbon-icons/src/text-all-caps.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_ALL_CAPS */ // prettier-ignore -export const TEXT_ALL_CAPS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M1 8v2h6v14h2V10h6V8H1zM17 8v2h6v14h2V10h6V8H17z" }]]; +export const TEXT_ALL_CAPS = svg( + ["path", { d: "M1 8v2h6v14h2V10h6V8H1zM17 8v2h6v14h2V10h6V8H17z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-bold.ts b/packages/hiccup-carbon-icons/src/text-bold.ts index 18a43c5203..500bf355f2 100644 --- a/packages/hiccup-carbon-icons/src/text-bold.ts +++ b/packages/hiccup-carbon-icons/src/text-bold.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_BOLD */ // prettier-ignore -export const TEXT_BOLD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18.25 25H9V7h8.5a5.25 5.25 0 014 8.65A5.25 5.25 0 0118.25 25zM12 22h6.23a2.25 2.25 0 100-4.5H12zm0-7.5h5.5a2.25 2.25 0 100-4.5H12z" }]]; +export const TEXT_BOLD = svg( + ["path", { d: "M18.25 25H9V7h8.5a5.25 5.25 0 014 8.65A5.25 5.25 0 0118.25 25zM12 22h6.23a2.25 2.25 0 100-4.5H12zm0-7.5h5.5a2.25 2.25 0 100-4.5H12z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-color.ts b/packages/hiccup-carbon-icons/src/text-color.ts index aa890e35d0..062e7cd86e 100644 --- a/packages/hiccup-carbon-icons/src/text-color.ts +++ b/packages/hiccup-carbon-icons/src/text-color.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_COLOR */ // prettier-ignore -export const TEXT_COLOR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 21h2L17 4h-2L8 21h2l1.61-4h8.74zm-9.57-6l3.44-8.37h.26L19.54 15zM6 24h20v4H6z" }]]; +export const TEXT_COLOR = svg( + ["path", { d: "M22 21h2L17 4h-2L8 21h2l1.61-4h8.74zm-9.57-6l3.44-8.37h.26L19.54 15zM6 24h20v4H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-creation.ts b/packages/hiccup-carbon-icons/src/text-creation.ts index 174da746c1..31bcaba7ee 100644 --- a/packages/hiccup-carbon-icons/src/text-creation.ts +++ b/packages/hiccup-carbon-icons/src/text-creation.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_CREATION */ // prettier-ignore -export const TEXT_CREATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 22.14V9.86A4 4 0 1022.14 5H9.86A4 4 0 105 9.86v12.28A4 4 0 109.86 27h12.28A4 4 0 1027 22.14zM26 4a2 2 0 11-2 2 2 2 0 012-2zM4 6a2 2 0 112 2 2 2 0 01-2-2zm2 22a2 2 0 112-2 2 2 0 01-2 2zm16.14-3H9.86A4 4 0 007 22.14V9.86A4 4 0 009.86 7h12.28A4 4 0 0025 9.86v12.28A4 4 0 0022.14 25zM26 28a2 2 0 112-2 2 2 0 01-2 2z" }], - ["path", { d: "M21 11H11v2h4v9h2v-9h4v-2z" }]]; +export const TEXT_CREATION = svg( + ["path", { d: "M27 22.14V9.86A4 4 0 1022.14 5H9.86A4 4 0 105 9.86v12.28A4 4 0 109.86 27h12.28A4 4 0 1027 22.14zM26 4a2 2 0 11-2 2 2 2 0 012-2zM4 6a2 2 0 112 2 2 2 0 01-2-2zm2 22a2 2 0 112-2 2 2 0 01-2 2zm16.14-3H9.86A4 4 0 007 22.14V9.86A4 4 0 009.86 7h12.28A4 4 0 0025 9.86v12.28A4 4 0 0022.14 25zM26 28a2 2 0 112-2 2 2 0 01-2 2z" }], + ["path", { d: "M21 11H11v2h4v9h2v-9h4v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-fill.ts b/packages/hiccup-carbon-icons/src/text-fill.ts index 946e5b4327..c0a0c19b1b 100644 --- a/packages/hiccup-carbon-icons/src/text-fill.ts +++ b/packages/hiccup-carbon-icons/src/text-fill.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_FILL */ // prettier-ignore -export const TEXT_FILL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 26h24v4H4z" }], - ["path", { d: "M26 14.54a1 1 0 00-.25-.69l-8.58-9.52A1.09 1.09 0 0017 4.2V2h-2v3L4.32 14.74a1 1 0 00-.06 1.41l8.57 9.52a1 1 0 00.69.33h.05a1 1 0 00.68-.26L24 16.8V21a1 1 0 002 0v-6.43-.03zm-12.35 9l-7.23-8L15 7.67V12h2V7.13l6.59 7.33z" }]]; +export const TEXT_FILL = svg( + ["path", { d: "M4 26h24v4H4z" }], + ["path", { d: "M26 14.54a1 1 0 00-.25-.69l-8.58-9.52A1.09 1.09 0 0017 4.2V2h-2v3L4.32 14.74a1 1 0 00-.06 1.41l8.57 9.52a1 1 0 00.69.33h.05a1 1 0 00.68-.26L24 16.8V21a1 1 0 002 0v-6.43-.03zm-12.35 9l-7.23-8L15 7.67V12h2V7.13l6.59 7.33z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-highlight.ts b/packages/hiccup-carbon-icons/src/text-highlight.ts index f687c0efe9..b78a2b870b 100644 --- a/packages/hiccup-carbon-icons/src/text-highlight.ts +++ b/packages/hiccup-carbon-icons/src/text-highlight.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_HIGHLIGHT */ // prettier-ignore -export const TEXT_HIGHLIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 15H5a3 3 0 01-3-3v-2a3 3 0 013-3h5V5a1 1 0 00-1-1H3V2h6a3 3 0 013 3zM5 9a1 1 0 00-1 1v2a1 1 0 001 1h5V9zM20 23v2a1 1 0 001 1h5v-4h-5a1 1 0 00-1 1z" }], - ["path", { d: "M2 30h28V2zm26-2h-7a3 3 0 01-3-3v-2a3 3 0 013-3h5v-2a1 1 0 00-1-1h-6v-2h6a3 3 0 013 3z" }]]; +export const TEXT_HIGHLIGHT = svg( + ["path", { d: "M12 15H5a3 3 0 01-3-3v-2a3 3 0 013-3h5V5a1 1 0 00-1-1H3V2h6a3 3 0 013 3zM5 9a1 1 0 00-1 1v2a1 1 0 001 1h5V9zM20 23v2a1 1 0 001 1h5v-4h-5a1 1 0 00-1 1z" }], + ["path", { d: "M2 30h28V2zm26-2h-7a3 3 0 01-3-3v-2a3 3 0 013-3h5v-2a1 1 0 00-1-1h-6v-2h6a3 3 0 013 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-indent-less.ts b/packages/hiccup-carbon-icons/src/text-indent-less.ts index b258ae60be..06db4f5e9b 100644 --- a/packages/hiccup-carbon-icons/src/text-indent-less.ts +++ b/packages/hiccup-carbon-icons/src/text-indent-less.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_INDENT_LESS */ // prettier-ignore -export const TEXT_INDENT_LESS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M2 6h10v2H2zM5 12h7v2H5zM2 18h10v2H2zM5 24h7v2H5zM16 4h2v24h-2zM28.15 23.5l1.41-1.38L23.27 16l6.29-6.12-1.41-1.38-7.71 7.5 7.71 7.5z" }]]; +export const TEXT_INDENT_LESS = svg( + ["path", { d: "M2 6h10v2H2zM5 12h7v2H5zM2 18h10v2H2zM5 24h7v2H5zM16 4h2v24h-2zM28.15 23.5l1.41-1.38L23.27 16l6.29-6.12-1.41-1.38-7.71 7.5 7.71 7.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-indent-more.ts b/packages/hiccup-carbon-icons/src/text-indent-more.ts index f8186ff401..c2f3c0d062 100644 --- a/packages/hiccup-carbon-icons/src/text-indent-more.ts +++ b/packages/hiccup-carbon-icons/src/text-indent-more.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_INDENT_MORE */ // prettier-ignore -export const TEXT_INDENT_MORE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 6h10v2H20zM20 12h7v2h-7zM20 18h10v2H20zM20 24h7v2h-7zM14 4h2v24h-2zM3.85 22.5l-1.41-1.38L8.73 15 2.44 8.88 3.85 7.5l7.71 7.5-7.71 7.5z" }]]; +export const TEXT_INDENT_MORE = svg( + ["path", { d: "M20 6h10v2H20zM20 12h7v2h-7zM20 18h10v2H20zM20 24h7v2h-7zM14 4h2v24h-2zM3.85 22.5l-1.41-1.38L8.73 15 2.44 8.88 3.85 7.5l7.71 7.5-7.71 7.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-indent.ts b/packages/hiccup-carbon-icons/src/text-indent.ts index f94cec35da..01751a61da 100644 --- a/packages/hiccup-carbon-icons/src/text-indent.ts +++ b/packages/hiccup-carbon-icons/src/text-indent.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_INDENT */ // prettier-ignore -export const TEXT_INDENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 6h14v2H14zM14 12h14v2H14zM7 18h21v2H7zM7 24h21v2H7zM4 13.59L7.29 10 4 6.41 5.42 5l4.62 5-4.62 5L4 13.59z" }]]; +export const TEXT_INDENT = svg( + ["path", { d: "M14 6h14v2H14zM14 12h14v2H14zM7 18h21v2H7zM7 24h21v2H7zM4 13.59L7.29 10 4 6.41 5.42 5l4.62 5-4.62 5L4 13.59z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-italic.ts b/packages/hiccup-carbon-icons/src/text-italic.ts index ffb451e1e1..2fd38827ce 100644 --- a/packages/hiccup-carbon-icons/src/text-italic.ts +++ b/packages/hiccup-carbon-icons/src/text-italic.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_ITALIC */ // prettier-ignore -export const TEXT_ITALIC: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 9V7H12v2h5.14l-4.37 14H7v2h13v-2h-5.14l4.37-14H25z" }]]; +export const TEXT_ITALIC = svg( + ["path", { d: "M25 9V7H12v2h5.14l-4.37 14H7v2h13v-2h-5.14l4.37-14H25z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-kerning.ts b/packages/hiccup-carbon-icons/src/text-kerning.ts index a8e6f14e1c..7eba79a046 100644 --- a/packages/hiccup-carbon-icons/src/text-kerning.ts +++ b/packages/hiccup-carbon-icons/src/text-kerning.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_KERNING */ // prettier-ignore -export const TEXT_KERNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 24H18.83l2.29-2.29-1.41-1.42L15 25l4.71 4.71 1.41-1.42L18.83 26H30v-2zM14 21l6-17h-2l-6 17h2zM13 4L9 16 5 4H3l5 14h2l5-14h-2zM28 18h2L25 4h-2l-5 14h2l1-3h6zm-6.33-5L24 6l2.33 7z" }]]; +export const TEXT_KERNING = svg( + ["path", { d: "M30 24H18.83l2.29-2.29-1.41-1.42L15 25l4.71 4.71 1.41-1.42L18.83 26H30v-2zM14 21l6-17h-2l-6 17h2zM13 4L9 16 5 4H3l5 14h2l5-14h-2zM28 18h2L25 4h-2l-5 14h2l1-3h6zm-6.33-5L24 6l2.33 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-leading.ts b/packages/hiccup-carbon-icons/src/text-leading.ts index 6252c93b18..a679fe448d 100644 --- a/packages/hiccup-carbon-icons/src/text-leading.ts +++ b/packages/hiccup-carbon-icons/src/text-leading.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_LEADING */ // prettier-ignore -export const TEXT_LEADING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 13h16v2H14zM15 28h15v2H15zM25.85 27H28l-4.36-10h-2.28L17 27h2.15l.8-2h5.1zm-5.1-4l1.75-4.37L24.25 23zM25.85 12H28L23.64 2h-2.28L17 12h2.15l.8-2h5.1zm-5.1-4l1.75-4.37L24.25 8zM6 15.83l2.58 2.58L10 17l-4-4-4 4 1.41 1.42L6 15.83zM6 27.17l-2.58-2.58L2 26l4 4 4-4-1.41-1.42L6 27.17z" }]]; +export const TEXT_LEADING = svg( + ["path", { d: "M14 13h16v2H14zM15 28h15v2H15zM25.85 27H28l-4.36-10h-2.28L17 27h2.15l.8-2h5.1zm-5.1-4l1.75-4.37L24.25 23zM25.85 12H28L23.64 2h-2.28L17 12h2.15l.8-2h5.1zm-5.1-4l1.75-4.37L24.25 8zM6 15.83l2.58 2.58L10 17l-4-4-4 4 1.41 1.42L6 15.83zM6 27.17l-2.58-2.58L2 26l4 4 4-4-1.41-1.42L6 27.17z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-line-spacing.ts b/packages/hiccup-carbon-icons/src/text-line-spacing.ts index 30b382ef43..230cb3d5b0 100644 --- a/packages/hiccup-carbon-icons/src/text-line-spacing.ts +++ b/packages/hiccup-carbon-icons/src/text-line-spacing.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_LINE_SPACING */ // prettier-ignore -export const TEXT_LINE_SPACING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 6h13v2H17zM17 12h10v2H17zM17 18h13v2H17zM17 24h10v2H17zM11.59 13.41L8 9.83l-3.59 3.59L3 12l5-5 5 5-1.41 1.41zM11.59 18.59L8 22.17l-3.59-3.59L3 20l5 5 5-5-1.41-1.41z" }]]; +export const TEXT_LINE_SPACING = svg( + ["path", { d: "M17 6h13v2H17zM17 12h10v2H17zM17 18h13v2H17zM17 24h10v2H17zM11.59 13.41L8 9.83l-3.59 3.59L3 12l5-5 5 5-1.41 1.41zM11.59 18.59L8 22.17l-3.59-3.59L3 20l5 5 5-5-1.41-1.41z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-link-analysis.ts b/packages/hiccup-carbon-icons/src/text-link-analysis.ts index dd26875608..15e7700870 100644 --- a/packages/hiccup-carbon-icons/src/text-link-analysis.ts +++ b/packages/hiccup-carbon-icons/src/text-link-analysis.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_LINK_ANALYSIS */ // prettier-ignore -export const TEXT_LINK_ANALYSIS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 10h8v2H8zM8 6h12v2H8zM8 2h12v2H8z" }], - ["path", { d: "M4.711 28l5.631-9.996 7.434 6.49a2 2 0 003.084-.534l6.97-10.403-1.661-1.114-7 10.448-.07.103-7.435-6.49a2.003 2.003 0 00-3.08.53L4 25.183V2H2v26a2.002 2.002 0 002 2h26v-2z" }]]; +export const TEXT_LINK_ANALYSIS = svg( + ["path", { d: "M8 10h8v2H8zM8 6h12v2H8zM8 2h12v2H8z" }], + ["path", { d: "M4.711 28l5.631-9.996 7.434 6.49a2 2 0 003.084-.534l6.97-10.403-1.661-1.114-7 10.448-.07.103-7.435-6.49a2.003 2.003 0 00-3.08.53L4 25.183V2H2v26a2.002 2.002 0 002 2h26v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-link.ts b/packages/hiccup-carbon-icons/src/text-link.ts index 319bac9453..3a422c1dd9 100644 --- a/packages/hiccup-carbon-icons/src/text-link.ts +++ b/packages/hiccup-carbon-icons/src/text-link.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_LINK */ // prettier-ignore -export const TEXT_LINK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18.706 27.585a5.261 5.261 0 01-3.723-8.983l1.415 1.414a3.264 3.264 0 104.616 4.616l6.03-6.03a3.264 3.264 0 00-4.616-4.616l-1.414-1.414a5.264 5.264 0 017.444 7.444l-6.03 6.03a5.246 5.246 0 01-3.722 1.539z" }], - ["path", { d: "M10.264 29.997a5.262 5.262 0 01-3.722-8.983l6.03-6.03a5.264 5.264 0 117.444 7.443l-1.414-1.414a3.264 3.264 0 10-4.616-4.615l-6.03 6.03a3.264 3.264 0 004.616 4.616l1.414 1.414a5.245 5.245 0 01-3.722 1.54zM2 10h8v2H2zM2 6h12v2H2zM2 2h12v2H2z" }]]; +export const TEXT_LINK = svg( + ["path", { d: "M18.706 27.585a5.261 5.261 0 01-3.723-8.983l1.415 1.414a3.264 3.264 0 104.616 4.616l6.03-6.03a3.264 3.264 0 00-4.616-4.616l-1.414-1.414a5.264 5.264 0 017.444 7.444l-6.03 6.03a5.246 5.246 0 01-3.722 1.539z" }], + ["path", { d: "M10.264 29.997a5.262 5.262 0 01-3.722-8.983l6.03-6.03a5.264 5.264 0 117.444 7.443l-1.414-1.414a3.264 3.264 0 10-4.616-4.615l-6.03 6.03a3.264 3.264 0 004.616 4.616l1.414 1.414a5.245 5.245 0 01-3.722 1.54zM2 10h8v2H2zM2 6h12v2H2zM2 2h12v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-mining-applier.ts b/packages/hiccup-carbon-icons/src/text-mining-applier.ts index 9fa725a165..37b0778fef 100644 --- a/packages/hiccup-carbon-icons/src/text-mining-applier.ts +++ b/packages/hiccup-carbon-icons/src/text-mining-applier.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_MINING_APPLIER */ // prettier-ignore -export const TEXT_MINING_APPLIER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16.001 26.473H16L4.284 12.955 9.5 6h13l5.216 6.955-3.24 3.737 1.513 1.31 4.295-4.957L23.5 4h-15l-6.784 9.045 12.772 14.737 1.513-1.309z" }], - ["path", { d: "M20 19l7 5-7 5V19z" }]]; +export const TEXT_MINING_APPLIER = svg( + ["path", { d: "M16.001 26.473H16L4.284 12.955 9.5 6h13l5.216 6.955-3.24 3.737 1.513 1.31 4.295-4.957L23.5 4h-15l-6.784 9.045 12.772 14.737 1.513-1.309z" }], + ["path", { d: "M20 19l7 5-7 5V19z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-mining.ts b/packages/hiccup-carbon-icons/src/text-mining.ts index d7c4a74716..b5ba440176 100644 --- a/packages/hiccup-carbon-icons/src/text-mining.ts +++ b/packages/hiccup-carbon-icons/src/text-mining.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_MINING */ // prettier-ignore -export const TEXT_MINING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 28h8v2h-8zM18 24h12v2H18zM18 20h12v2H18z" }], - ["path", { d: "M16.001 26.473H16L4.284 12.955 9.5 6h13l5.216 6.955-3.24 3.737 1.513 1.31 4.295-4.957L23.5 4h-15l-6.784 9.045 12.772 14.737 1.513-1.309z" }]]; +export const TEXT_MINING = svg( + ["path", { d: "M18 28h8v2h-8zM18 24h12v2H18zM18 20h12v2H18z" }], + ["path", { d: "M16.001 26.473H16L4.284 12.955 9.5 6h13l5.216 6.955-3.24 3.737 1.513 1.31 4.295-4.957L23.5 4h-15l-6.784 9.045 12.772 14.737 1.513-1.309z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-new-line.ts b/packages/hiccup-carbon-icons/src/text-new-line.ts index de061ec30e..ad4397ca4b 100644 --- a/packages/hiccup-carbon-icons/src/text-new-line.ts +++ b/packages/hiccup-carbon-icons/src/text-new-line.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_NEW_LINE */ // prettier-ignore -export const TEXT_NEW_LINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20.586 14.414L24.172 18H6V8H4v10a2.002 2.002 0 002 2h18.172l-3.586 3.586L22 25l6-6-6-6z" }]]; +export const TEXT_NEW_LINE = svg( + ["path", { d: "M20.586 14.414L24.172 18H6V8H4v10a2.002 2.002 0 002 2h18.172l-3.586 3.586L22 25l6-6-6-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-scale.ts b/packages/hiccup-carbon-icons/src/text-scale.ts index 9acf6a8361..3acc53610b 100644 --- a/packages/hiccup-carbon-icons/src/text-scale.ts +++ b/packages/hiccup-carbon-icons/src/text-scale.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_SCALE */ // prettier-ignore -export const TEXT_SCALE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 5v3h-8v18h-3V8h-8V5h19z" }], - ["path", { d: "M7 26V14H2v-2h12v2H9v12H7z" }]]; +export const TEXT_SCALE = svg( + ["path", { d: "M30 5v3h-8v18h-3V8h-8V5h19z" }], + ["path", { d: "M7 26V14H2v-2h12v2H9v12H7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-selection.ts b/packages/hiccup-carbon-icons/src/text-selection.ts index add1626709..d48eeea14e 100644 --- a/packages/hiccup-carbon-icons/src/text-selection.ts +++ b/packages/hiccup-carbon-icons/src/text-selection.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_SELECTION */ // prettier-ignore -export const TEXT_SELECTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 27h-7a3 3 0 01-3-3v-2a3 3 0 013-3h5v-2a1 1 0 00-1-1h-6v-2h6a3 3 0 013 3zm-7-6a1 1 0 00-1 1v2a1 1 0 001 1h5v-4zM13 7h3V5h-3a4 4 0 00-3 1.38A4 4 0 007 5H4v2h3a2 2 0 012 2v5H5v2h4v7a2 2 0 01-2 2H4v2h3a4 4 0 003-1.38A4 4 0 0013 27h3v-2h-3a2 2 0 01-2-2v-7h4v-2h-4V9a2 2 0 012-2z" }]]; +export const TEXT_SELECTION = svg( + ["path", { d: "M28 27h-7a3 3 0 01-3-3v-2a3 3 0 013-3h5v-2a1 1 0 00-1-1h-6v-2h6a3 3 0 013 3zm-7-6a1 1 0 00-1 1v2a1 1 0 001 1h5v-4zM13 7h3V5h-3a4 4 0 00-3 1.38A4 4 0 007 5H4v2h3a2 2 0 012 2v5H5v2h4v7a2 2 0 01-2 2H4v2h3a4 4 0 003-1.38A4 4 0 0013 27h3v-2h-3a2 2 0 01-2-2v-7h4v-2h-4V9a2 2 0 012-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-small-caps.ts b/packages/hiccup-carbon-icons/src/text-small-caps.ts index c168fddc39..459a885029 100644 --- a/packages/hiccup-carbon-icons/src/text-small-caps.ts +++ b/packages/hiccup-carbon-icons/src/text-small-caps.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_SMALL_CAPS */ // prettier-ignore -export const TEXT_SMALL_CAPS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 27V15h-5v-2h12v2h-5v12h-2z" }], - ["path", { d: "M11 27V8H2V6h20v2h-9v19h-2z" }]]; +export const TEXT_SMALL_CAPS = svg( + ["path", { d: "M23 27V15h-5v-2h12v2h-5v12h-2z" }], + ["path", { d: "M11 27V8H2V6h20v2h-9v19h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-strikethrough.ts b/packages/hiccup-carbon-icons/src/text-strikethrough.ts index d812eac6db..d8186b8c6a 100644 --- a/packages/hiccup-carbon-icons/src/text-strikethrough.ts +++ b/packages/hiccup-carbon-icons/src/text-strikethrough.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_STRIKETHROUGH */ // prettier-ignore -export const TEXT_STRIKETHROUGH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 15H17.956a39.769 39.769 0 00-1.338-.335c-2.808-.664-4.396-1.15-4.396-3.423a2.868 2.868 0 01.787-2.145 4.789 4.789 0 013.013-1.09c2.83-.07 4.135.89 5.202 2.35l1.615-1.18a7.473 7.473 0 00-6.83-3.17 6.773 6.773 0 00-4.4 1.661 4.827 4.827 0 00-1.386 3.574A4.372 4.372 0 0011.957 15H4v2h13.652c1.967.57 3.143 1.312 3.173 3.358a3.119 3.119 0 01-.862 2.393A5.824 5.824 0 0116.243 24a6.634 6.634 0 01-5.145-2.691l-1.533 1.284A8.526 8.526 0 0016.212 26h.1a7.67 7.67 0 005.048-1.819 5.078 5.078 0 001.465-3.853A4.952 4.952 0 0021.675 17H28z" }]]; +export const TEXT_STRIKETHROUGH = svg( + ["path", { d: "M28 15H17.956a39.769 39.769 0 00-1.338-.335c-2.808-.664-4.396-1.15-4.396-3.423a2.868 2.868 0 01.787-2.145 4.789 4.789 0 013.013-1.09c2.83-.07 4.135.89 5.202 2.35l1.615-1.18a7.473 7.473 0 00-6.83-3.17 6.773 6.773 0 00-4.4 1.661 4.827 4.827 0 00-1.386 3.574A4.372 4.372 0 0011.957 15H4v2h13.652c1.967.57 3.143 1.312 3.173 3.358a3.119 3.119 0 01-.862 2.393A5.824 5.824 0 0116.243 24a6.634 6.634 0 01-5.145-2.691l-1.533 1.284A8.526 8.526 0 0016.212 26h.1a7.67 7.67 0 005.048-1.819 5.078 5.078 0 001.465-3.853A4.952 4.952 0 0021.675 17H28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-subscript.ts b/packages/hiccup-carbon-icons/src/text-subscript.ts index d83c100d82..d550d7498d 100644 --- a/packages/hiccup-carbon-icons/src/text-subscript.ts +++ b/packages/hiccup-carbon-icons/src/text-subscript.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_SUBSCRIPT */ // prettier-ignore -export const TEXT_SUBSCRIPT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 25h-6v-6h4v-2h-4v-2h6v6h-4v2h4v2zM5 7v2h7v16h2V9h7V7H5z" }]]; +export const TEXT_SUBSCRIPT = svg( + ["path", { d: "M26 25h-6v-6h4v-2h-4v-2h6v6h-4v2h4v2zM5 7v2h7v16h2V9h7V7H5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-superscript.ts b/packages/hiccup-carbon-icons/src/text-superscript.ts index a9913a3a17..02219aa5ba 100644 --- a/packages/hiccup-carbon-icons/src/text-superscript.ts +++ b/packages/hiccup-carbon-icons/src/text-superscript.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_SUPERSCRIPT */ // prettier-ignore -export const TEXT_SUPERSCRIPT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 17h-6v-6h4V9h-4V7h6v6h-4v2h4v2zM4 7v2h7v16h2V9h7V7H4z" }]]; +export const TEXT_SUPERSCRIPT = svg( + ["path", { d: "M29 17h-6v-6h4V9h-4V7h6v6h-4v2h4v2zM4 7v2h7v16h2V9h7V7H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-tracking.ts b/packages/hiccup-carbon-icons/src/text-tracking.ts index 00c14cc1f8..a96af9c3d7 100644 --- a/packages/hiccup-carbon-icons/src/text-tracking.ts +++ b/packages/hiccup-carbon-icons/src/text-tracking.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_TRACKING */ // prettier-ignore -export const TEXT_TRACKING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.29 19.29l-1.41 1.42L26.17 23H5.83l2.29-2.29-1.41-1.42L2 24l4.71 4.71 1.41-1.42L5.83 25h20.34l-2.29 2.29 1.41 1.42L30 24l-4.71-4.71zM26 17h2L23 3h-2l-5 14h2l1-3h6zm-6.33-5L22 5l2.33 7zM14 3l-4 12L6 3H4l5 14h2l5-14h-2z" }]]; +export const TEXT_TRACKING = svg( + ["path", { d: "M25.29 19.29l-1.41 1.42L26.17 23H5.83l2.29-2.29-1.41-1.42L2 24l4.71 4.71 1.41-1.42L5.83 25h20.34l-2.29 2.29 1.41 1.42L30 24l-4.71-4.71zM26 17h2L23 3h-2l-5 14h2l1-3h6zm-6.33-5L22 5l2.33 7zM14 3l-4 12L6 3H4l5 14h2l5-14h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-underline.ts b/packages/hiccup-carbon-icons/src/text-underline.ts index 4988c6e69d..946a80cf65 100644 --- a/packages/hiccup-carbon-icons/src/text-underline.ts +++ b/packages/hiccup-carbon-icons/src/text-underline.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_UNDERLINE */ // prettier-ignore -export const TEXT_UNDERLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 26h24v2H4zM16 23a7 7 0 01-7-7V5h2v11a5 5 0 0010 0V5h2v11a7 7 0 01-7 7z" }]]; +export const TEXT_UNDERLINE = svg( + ["path", { d: "M4 26h24v2H4zM16 23a7 7 0 01-7-7V5h2v11a5 5 0 0010 0V5h2v11a7 7 0 01-7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-vertical-alignment.ts b/packages/hiccup-carbon-icons/src/text-vertical-alignment.ts index a7b1b9c7a7..ac9d6ec79d 100644 --- a/packages/hiccup-carbon-icons/src/text-vertical-alignment.ts +++ b/packages/hiccup-carbon-icons/src/text-vertical-alignment.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_VERTICAL_ALIGNMENT */ // prettier-ignore -export const TEXT_VERTICAL_ALIGNMENT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 28h14v2H16zM16 23h14v2H16zM10.846 30H13L8.64 20H6.36L2 30h2.154l.8-2h5.092zm-5.092-4L7.5 21.635 9.246 26zM2 15h28v2H2zM16 7h14v2H16zM16 2h14v2H16zM10.846 12H13L8.64 2H6.36L2 12h2.154l.8-2h5.092zM5.754 8L7.5 3.635 9.246 8z" }]]; +export const TEXT_VERTICAL_ALIGNMENT = svg( + ["path", { d: "M16 28h14v2H16zM16 23h14v2H16zM10.846 30H13L8.64 20H6.36L2 30h2.154l.8-2h5.092zm-5.092-4L7.5 21.635 9.246 26zM2 15h28v2H2zM16 7h14v2H16zM16 2h14v2H16zM10.846 12H13L8.64 2H6.36L2 12h2.154l.8-2h5.092zM5.754 8L7.5 3.635 9.246 8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/text-wrap.ts b/packages/hiccup-carbon-icons/src/text-wrap.ts index bd900568e6..23b05bad0f 100644 --- a/packages/hiccup-carbon-icons/src/text-wrap.ts +++ b/packages/hiccup-carbon-icons/src/text-wrap.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TEXT_WRAP */ // prettier-ignore -export const TEXT_WRAP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 23h8v2H4zM24.523 14H4v2h20.5a3.5 3.5 0 010 7h-5.672l2.586-2.586L20 19l-5 5 5 5 1.414-1.414L18.828 25h5.705a5.5 5.5 0 00-.01-11zM4 5h24v2H4z" }]]; +export const TEXT_WRAP = svg( + ["path", { d: "M4 23h8v2H4zM24.523 14H4v2h20.5a3.5 3.5 0 010 7h-5.672l2.586-2.586L20 19l-5 5 5 5 1.414-1.414L18.828 25h5.705a5.5 5.5 0 00-.01-11zM4 5h24v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/theater.ts b/packages/hiccup-carbon-icons/src/theater.ts index e5830b2425..43b0105072 100644 --- a/packages/hiccup-carbon-icons/src/theater.ts +++ b/packages/hiccup-carbon-icons/src/theater.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THEATER */ // prettier-ignore -export const THEATER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 25a6.99 6.99 0 01-5.833-3.129l1.666-1.107a5 5 0 008.334 0l1.666 1.107A6.99 6.99 0 0120 25zM24 14a2 2 0 102 2 1.98 1.98 0 00-2-2zM16 14a2 2 0 102 2 1.98 1.98 0 00-2-2z" }], - ["path", { d: "M28 8h-6V4a2.002 2.002 0 00-2-2H4a2.002 2.002 0 00-2 2v10a10.01 10.01 0 008.803 9.921A9.999 9.999 0 0030 20V10a2.002 2.002 0 00-2-2zM4 14V4h16v4h-8a2.002 2.002 0 00-2 2v10a9.963 9.963 0 00.168 1.78A8.008 8.008 0 014 14zm24 6a8 8 0 01-16 0V10h16z" }]]; +export const THEATER = svg( + ["path", { d: "M20 25a6.99 6.99 0 01-5.833-3.129l1.666-1.107a5 5 0 008.334 0l1.666 1.107A6.99 6.99 0 0120 25zM24 14a2 2 0 102 2 1.98 1.98 0 00-2-2zM16 14a2 2 0 102 2 1.98 1.98 0 00-2-2z" }], + ["path", { d: "M28 8h-6V4a2.002 2.002 0 00-2-2H4a2.002 2.002 0 00-2 2v10a10.01 10.01 0 008.803 9.921A9.999 9.999 0 0030 20V10a2.002 2.002 0 00-2-2zM4 14V4h16v4h-8a2.002 2.002 0 00-2 2v10a9.963 9.963 0 00.168 1.78A8.008 8.008 0 014 14zm24 6a8 8 0 01-16 0V10h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thumbnail-1.ts b/packages/hiccup-carbon-icons/src/thumbnail-1.ts index 2b284e221b..bf9630e720 100644 --- a/packages/hiccup-carbon-icons/src/thumbnail-1.ts +++ b/packages/hiccup-carbon-icons/src/thumbnail-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUMBNAIL_1 */ // prettier-ignore -export const THUMBNAIL_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 30H4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM18 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 20H4a2 2 0 01-2-2V4a2 2 0 012-2h24a2 2 0 012 2v14a2 2 0 01-2 2zM4 4v14h24V4z" }]]; +export const THUMBNAIL_1 = svg( + ["path", { d: "M8 30H4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM18 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 20H4a2 2 0 01-2-2V4a2 2 0 012-2h24a2 2 0 012 2v14a2 2 0 01-2 2zM4 4v14h24V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thumbnail-2.ts b/packages/hiccup-carbon-icons/src/thumbnail-2.ts index a55784961a..1d5e281b64 100644 --- a/packages/hiccup-carbon-icons/src/thumbnail-2.ts +++ b/packages/hiccup-carbon-icons/src/thumbnail-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUMBNAIL_2 */ // prettier-ignore -export const THUMBNAIL_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 30H4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM18 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM8 20H4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM18 20h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 20h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM8 10H4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zM4 4v4h4V4zM18 10h-4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4V4zM28 10h-4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4V4z" }]]; +export const THUMBNAIL_2 = svg( + ["path", { d: "M8 30H4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM18 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 30h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM8 20H4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM18 20h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM28 20h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4v-4zM8 10H4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zM4 4v4h4V4zM18 10h-4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4V4zM28 10h-4a2 2 0 01-2-2V4a2 2 0 012-2h4a2 2 0 012 2v4a2 2 0 01-2 2zm-4-6v4h4V4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thumbs-down.ts b/packages/hiccup-carbon-icons/src/thumbs-down.ts index 44be3cc7cd..f569999729 100644 --- a/packages/hiccup-carbon-icons/src/thumbs-down.ts +++ b/packages/hiccup-carbon-icons/src/thumbs-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUMBS_DOWN */ // prettier-ignore -export const THUMBS_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.76 21A3.64 3.64 0 0030 17v-6c0-3.65-1.56-8-9-8H2v14h6.46L12 22.37l1 6.34v.12A1.51 1.51 0 0014.43 30H16a3.22 3.22 0 00.76 0A3.64 3.64 0 0020 26v-5h6a3.22 3.22 0 00.76 0zM8 15H4V5h4zm20 2c0 1.44-.56 2-2 2h-8v7c0 1.44-.56 2-2 2h-1.13l-.14-1-.73-5.37-4-5.93V5h11c4.78 0 7 1.91 7 6z" }]]; +export const THUMBS_DOWN = svg( + ["path", { d: "M26.76 21A3.64 3.64 0 0030 17v-6c0-3.65-1.56-8-9-8H2v14h6.46L12 22.37l1 6.34v.12A1.51 1.51 0 0014.43 30H16a3.22 3.22 0 00.76 0A3.64 3.64 0 0020 26v-5h6a3.22 3.22 0 00.76 0zM8 15H4V5h4zm20 2c0 1.44-.56 2-2 2h-8v7c0 1.44-.56 2-2 2h-1.13l-.14-1-.73-5.37-4-5.93V5h11c4.78 0 7 1.91 7 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thumbs-up.ts b/packages/hiccup-carbon-icons/src/thumbs-up.ts index 705610241f..8cf08fa0ac 100644 --- a/packages/hiccup-carbon-icons/src/thumbs-up.ts +++ b/packages/hiccup-carbon-icons/src/thumbs-up.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUMBS_UP */ // prettier-ignore -export const THUMBS_UP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 11h-6V6a3.64 3.64 0 00-3.24-4A3.22 3.22 0 0016 2h-1.57A1.51 1.51 0 0013 3.17v.12l-1 6.34L8.46 15H2v14h19c7.44 0 9-4.35 9-8v-6a3.64 3.64 0 00-3.24-4 3.22 3.22 0 00-.76 0zM8 27H4V17h4zm20-6c0 4.09-2.22 6-7 6H10V16.3l4-5.93.73-5.37.14-1H16c1.44 0 2 .56 2 2v7h8c1.44 0 2 .56 2 2z" }]]; +export const THUMBS_UP = svg( + ["path", { d: "M26 11h-6V6a3.64 3.64 0 00-3.24-4A3.22 3.22 0 0016 2h-1.57A1.51 1.51 0 0013 3.17v.12l-1 6.34L8.46 15H2v14h19c7.44 0 9-4.35 9-8v-6a3.64 3.64 0 00-3.24-4 3.22 3.22 0 00-.76 0zM8 27H4V17h4zm20-6c0 4.09-2.22 6-7 6H10V16.3l4-5.93.73-5.37.14-1H16c1.44 0 2 .56 2 2v7h8c1.44 0 2 .56 2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thunderstorm-scattered-night.ts b/packages/hiccup-carbon-icons/src/thunderstorm-scattered-night.ts index 3a07bf1aa4..6778fff81d 100644 --- a/packages/hiccup-carbon-icons/src/thunderstorm-scattered-night.ts +++ b/packages/hiccup-carbon-icons/src/thunderstorm-scattered-night.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUNDERSTORM_SCATTERED_NIGHT */ // prettier-ignore -export const THUNDERSTORM_SCATTERED_NIGHT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13.338 30l-1.736-1 2.287-4H10l3.993-7 1.737 1-2.284 4h3.891l-3.999 7z" }], - ["path", { d: "M29.844 13.035a1.52 1.52 0 00-1.231-.866 5.356 5.356 0 01-3.41-1.716A6.465 6.465 0 0123.92 4.06a1.604 1.604 0 00-.3-1.546 1.455 1.455 0 00-1.36-.492l-.019.004a7.854 7.854 0 00-6.105 6.48A7.372 7.372 0 0013.5 8a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 25v-2a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23v2a5.955 5.955 0 005.88-7.146 7.502 7.502 0 004.867-3.3 1.537 1.537 0 00.097-1.52zm-5.693 2.918a5.966 5.966 0 00-3.502-2.709 7.508 7.508 0 00-2.62-3.694 6.008 6.008 0 013.77-5.333 8.458 8.458 0 001.939 7.596 7.404 7.404 0 003.902 2.228 5.442 5.442 0 01-3.489 1.912z" }]]; +export const THUNDERSTORM_SCATTERED_NIGHT = svg( + ["path", { d: "M13.338 30l-1.736-1 2.287-4H10l3.993-7 1.737 1-2.284 4h3.891l-3.999 7z" }], + ["path", { d: "M29.844 13.035a1.52 1.52 0 00-1.231-.866 5.356 5.356 0 01-3.41-1.716A6.465 6.465 0 0123.92 4.06a1.604 1.604 0 00-.3-1.546 1.455 1.455 0 00-1.36-.492l-.019.004a7.854 7.854 0 00-6.105 6.48A7.372 7.372 0 0013.5 8a7.551 7.551 0 00-7.15 5.244A5.993 5.993 0 008 25v-2a3.993 3.993 0 01-.673-7.93l.663-.112.145-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23v2a5.955 5.955 0 005.88-7.146 7.502 7.502 0 004.867-3.3 1.537 1.537 0 00.097-1.52zm-5.693 2.918a5.966 5.966 0 00-3.502-2.709 7.508 7.508 0 00-2.62-3.694 6.008 6.008 0 013.77-5.333 8.458 8.458 0 001.939 7.596 7.404 7.404 0 003.902 2.228 5.442 5.442 0 01-3.489 1.912z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thunderstorm-scattered.ts b/packages/hiccup-carbon-icons/src/thunderstorm-scattered.ts index b515e29e3b..7dbdbd7da8 100644 --- a/packages/hiccup-carbon-icons/src/thunderstorm-scattered.ts +++ b/packages/hiccup-carbon-icons/src/thunderstorm-scattered.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUNDERSTORM_SCATTERED */ // prettier-ignore -export const THUNDERSTORM_SCATTERED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13.338 30l-1.736-1 2.287-4H10l3.993-7 1.737 1-2.284 4h3.891l-3.999 7z" }], - ["path", { d: "M27 11a5.995 5.995 0 00-11.367-2.669A7.35 7.35 0 0013.5 8a7.55 7.55 0 00-7.15 5.244A5.993 5.993 0 008 25v-2a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23v2a5.985 5.985 0 005.216-8.946A5.994 5.994 0 0027 11zm-4.073 3.49a5.96 5.96 0 00-2.278-1.246 7.516 7.516 0 00-3.185-4.069 3.987 3.987 0 115.463 5.314zM28.586 19l-2.121-2.12 1.414-1.415L30 17.587zM29 10h3v2h-3zM26.464 5.122L28.585 3 30 4.415l-2.12 2.121zM20 0h2v3h-2zM14.12 6.536L12 4.415l1.414-1.414 2.121 2.121z" }]]; +export const THUNDERSTORM_SCATTERED = svg( + ["path", { d: "M13.338 30l-1.736-1 2.287-4H10l3.993-7 1.737 1-2.284 4h3.891l-3.999 7z" }], + ["path", { d: "M27 11a5.995 5.995 0 00-11.367-2.669A7.35 7.35 0 0013.5 8a7.55 7.55 0 00-7.15 5.244A5.993 5.993 0 008 25v-2a3.993 3.993 0 01-.673-7.93l.663-.112.146-.656a5.496 5.496 0 0110.73 0l.145.656.663.113A3.993 3.993 0 0119 23v2a5.985 5.985 0 005.216-8.946A5.994 5.994 0 0027 11zm-4.073 3.49a5.96 5.96 0 00-2.278-1.246 7.516 7.516 0 00-3.185-4.069 3.987 3.987 0 115.463 5.314zM28.586 19l-2.121-2.12 1.414-1.415L30 17.587zM29 10h3v2h-3zM26.464 5.122L28.585 3 30 4.415l-2.12 2.121zM20 0h2v3h-2zM14.12 6.536L12 4.415l1.414-1.414 2.121 2.121z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thunderstorm-severe.ts b/packages/hiccup-carbon-icons/src/thunderstorm-severe.ts index 8d2911873d..89dd2ed860 100644 --- a/packages/hiccup-carbon-icons/src/thunderstorm-severe.ts +++ b/packages/hiccup-carbon-icons/src/thunderstorm-severe.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUNDERSTORM_SEVERE */ // prettier-ignore -export const THUNDERSTORM_SEVERE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0121 30zM9 32a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 019 32zM15.901 30.496l-1.736-.992L17.309 24H11.31l4.855-8.496 1.736.992L14.756 22h6.001l-4.856 8.496zM27.952 15a4.399 4.399 0 01.048.5 4.505 4.505 0 01-4.5 4.5H23v2h.5a6.508 6.508 0 006.5-6.5c0-.17-.031-.333-.044-.5z" }], - ["path", { d: "M25.75 8h-1.5V4h1.5zM25 9a1 1 0 101 1 1 1 0 00-1-1z" }], - ["path", { d: "M31.912 11.935L25.628.371a.718.718 0 00-1.257 0l-6.283 11.564A.72.72 0 0018.72 13h12.56a.72.72 0 00.631-1.065zM24.25 4h1.5v4h-1.5zm.75 7a1 1 0 111-1 1 1 0 01-1 1zM8.144 11.019l.815-.064.1-.812a6.986 6.986 0 019.97-5.45L20 2.947a8.978 8.978 0 00-12.8 6.19 6.493 6.493 0 00.23 12.767l-1.324 2.649a1 1 0 101.788.894l2-4a1 1 0 00-.447-1.341A.979.979 0 009 20.01V20h-.5a4.497 4.497 0 01-.356-8.981z" }]]; +export const THUNDERSTORM_SEVERE = svg( + ["path", { d: "M21 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0121 30zM9 32a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 019 32zM15.901 30.496l-1.736-.992L17.309 24H11.31l4.855-8.496 1.736.992L14.756 22h6.001l-4.856 8.496zM27.952 15a4.399 4.399 0 01.048.5 4.505 4.505 0 01-4.5 4.5H23v2h.5a6.508 6.508 0 006.5-6.5c0-.17-.031-.333-.044-.5z" }], + ["path", { d: "M25.75 8h-1.5V4h1.5zM25 9a1 1 0 101 1 1 1 0 00-1-1z" }], + ["path", { d: "M31.912 11.935L25.628.371a.718.718 0 00-1.257 0l-6.283 11.564A.72.72 0 0018.72 13h12.56a.72.72 0 00.631-1.065zM24.25 4h1.5v4h-1.5zm.75 7a1 1 0 111-1 1 1 0 01-1 1zM8.144 11.019l.815-.064.1-.812a6.986 6.986 0 019.97-5.45L20 2.947a8.978 8.978 0 00-12.8 6.19 6.493 6.493 0 00.23 12.767l-1.324 2.649a1 1 0 101.788.894l2-4a1 1 0 00-.447-1.341A.979.979 0 009 20.01V20h-.5a4.497 4.497 0 01-.356-8.981z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thunderstorm-strong.ts b/packages/hiccup-carbon-icons/src/thunderstorm-strong.ts index 19350fd11a..a417771699 100644 --- a/packages/hiccup-carbon-icons/src/thunderstorm-strong.ts +++ b/packages/hiccup-carbon-icons/src/thunderstorm-strong.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUNDERSTORM_STRONG */ // prettier-ignore -export const THUNDERSTORM_STRONG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0121 30zM9 32a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 019 32zM15.901 30.496l-1.736-.992L17.31 24h-6l4.855-8.496 1.736.992L14.756 22h6.001l-4.856 8.496z" }], - ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0 6.493 6.493 0 00.23 12.768l-1.324 2.649a1 1 0 101.788.894l2-4a1 1 0 00-.446-1.341A.979.979 0 009 20.01V20h-.5a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20H23v2h.5a6.497 6.497 0 001.3-12.864z" }]]; +export const THUNDERSTORM_STRONG = svg( + ["path", { d: "M21 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0121 30zM9 32a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 019 32zM15.901 30.496l-1.736-.992L17.31 24h-6l4.855-8.496 1.736.992L14.756 22h6.001l-4.856 8.496z" }], + ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0 6.493 6.493 0 00.23 12.768l-1.324 2.649a1 1 0 101.788.894l2-4a1 1 0 00-.446-1.341A.979.979 0 009 20.01V20h-.5a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20H23v2h.5a6.497 6.497 0 001.3-12.864z" }] +); diff --git a/packages/hiccup-carbon-icons/src/thunderstorm.ts b/packages/hiccup-carbon-icons/src/thunderstorm.ts index f49dc40672..45f5fd360c 100644 --- a/packages/hiccup-carbon-icons/src/thunderstorm.ts +++ b/packages/hiccup-carbon-icons/src/thunderstorm.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#THUNDERSTORM */ // prettier-ignore -export const THUNDERSTORM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.5 22H23v-2h.5a4.5 4.5 0 00.36-9H23l-.1-.82a7 7 0 00-13.88 0L9 11h-.86a4.5 4.5 0 00.36 9H9v2h-.5A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22z" }], - ["path", { d: "M15.87 30.5l-1.74-1 3.15-5.5h-6l4.85-8.5 1.74 1-3.15 5.5h6l-4.85 8.5z" }]]; +export const THUNDERSTORM = svg( + ["path", { d: "M23.5 22H23v-2h.5a4.5 4.5 0 00.36-9H23l-.1-.82a7 7 0 00-13.88 0L9 11h-.86a4.5 4.5 0 00.36 9H9v2h-.5A6.5 6.5 0 017.2 9.14a9 9 0 0117.6 0A6.5 6.5 0 0123.5 22z" }], + ["path", { d: "M15.87 30.5l-1.74-1 3.15-5.5h-6l4.85-8.5 1.74 1-3.15 5.5h6l-4.85 8.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/ticket.ts b/packages/hiccup-carbon-icons/src/ticket.ts index 83475c0aad..aeab67800d 100644 --- a/packages/hiccup-carbon-icons/src/ticket.ts +++ b/packages/hiccup-carbon-icons/src/ticket.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TICKET */ // prettier-ignore -export const TICKET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 14a1 1 0 001-1V8a2 2 0 00-2-2H4a2 2 0 00-2 2v5a1 1 0 001 1 2 2 0 010 4 1 1 0 00-1 1v5a2 2 0 002 2h24a2 2 0 002-2v-5a1 1 0 00-1-1 2 2 0 010-4zm-1 5.87V24h-7v-3h-2v3H4v-4.13a4 4 0 000-7.74V8h15v3h2V8h7v4.13a4 4 0 000 7.74z" }], - ["path", { d: "M19 13h2v6h-2z" }]]; +export const TICKET = svg( + ["path", { d: "M29 14a1 1 0 001-1V8a2 2 0 00-2-2H4a2 2 0 00-2 2v5a1 1 0 001 1 2 2 0 010 4 1 1 0 00-1 1v5a2 2 0 002 2h24a2 2 0 002-2v-5a1 1 0 00-1-1 2 2 0 010-4zm-1 5.87V24h-7v-3h-2v3H4v-4.13a4 4 0 000-7.74V8h15v3h2V8h7v4.13a4 4 0 000 7.74z" }], + ["path", { d: "M19 13h2v6h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tif.ts b/packages/hiccup-carbon-icons/src/tif.ts index 0fc718392d..1105210ebd 100644 --- a/packages/hiccup-carbon-icons/src/tif.ts +++ b/packages/hiccup-carbon-icons/src/tif.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TIF */ // prettier-ignore -export const TIF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 11V9h-8v14h2v-6h5v-2h-5v-4h6zM12 11h3v10h-3v2h8v-2h-3V11h3V9h-8v2zM2 11h3v12h2V11h3V9H2v2z" }]]; +export const TIF = svg( + ["path", { d: "M30 11V9h-8v14h2v-6h5v-2h-5v-4h6zM12 11h3v10h-3v2h8v-2h-3V11h3V9h-8v2zM2 11h3v12h2V11h3V9H2v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/time-plot.ts b/packages/hiccup-carbon-icons/src/time-plot.ts index 942c43042d..59a1663ad5 100644 --- a/packages/hiccup-carbon-icons/src/time-plot.ts +++ b/packages/hiccup-carbon-icons/src/time-plot.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TIME_PLOT */ // prettier-ignore -export const TIME_PLOT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.586 13L21 10.414V6h2v3.586l2 2L23.586 13z" }], - ["path", { d: "M22 18a8 8 0 118-8 8.01 8.01 0 01-8 8zm0-14a6 6 0 106 6 6.007 6.007 0 00-6-6z" }], - ["path", { d: "M8.63 18l7 6H30v-2H16.37l-7-6H4V2H2v26a2.002 2.002 0 002 2h26v-2H4V18z" }]]; +export const TIME_PLOT = svg( + ["path", { d: "M23.586 13L21 10.414V6h2v3.586l2 2L23.586 13z" }], + ["path", { d: "M22 18a8 8 0 118-8 8.01 8.01 0 01-8 8zm0-14a6 6 0 106 6 6.007 6.007 0 00-6-6z" }], + ["path", { d: "M8.63 18l7 6H30v-2H16.37l-7-6H4V2H2v26a2.002 2.002 0 002 2h26v-2H4V18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/time.ts b/packages/hiccup-carbon-icons/src/time.ts index d4e5f739fd..42096f23c3 100644 --- a/packages/hiccup-carbon-icons/src/time.ts +++ b/packages/hiccup-carbon-icons/src/time.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TIME */ // prettier-ignore -export const TIME: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 30a14 14 0 1114-14 14 14 0 01-14 14zm0-26a12 12 0 1012 12A12 12 0 0016 4z" }], - ["path", { d: "M20.59 22L15 16.41V7h2v8.58l5 5.01L20.59 22z" }]]; +export const TIME = svg( + ["path", { d: "M16 30a14 14 0 1114-14 14 14 0 01-14 14zm0-26a12 12 0 1012 12A12 12 0 0016 4z" }], + ["path", { d: "M20.59 22L15 16.41V7h2v8.58l5 5.01L20.59 22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/timer.ts b/packages/hiccup-carbon-icons/src/timer.ts index 45b3f8db99..a07b8218b9 100644 --- a/packages/hiccup-carbon-icons/src/timer.ts +++ b/packages/hiccup-carbon-icons/src/timer.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TIMER */ // prettier-ignore -export const TIMER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 11h2v9h-2zM13 2h6v2h-6z" }], - ["path", { d: "M28 9l-1.42-1.41-2.25 2.25a10.94 10.94 0 101.18 1.65zM16 26a9 9 0 119-9 9 9 0 01-9 9z" }]]; +export const TIMER = svg( + ["path", { d: "M15 11h2v9h-2zM13 2h6v2h-6z" }], + ["path", { d: "M28 9l-1.42-1.41-2.25 2.25a10.94 10.94 0 101.18 1.65zM16 26a9 9 0 119-9 9 9 0 01-9 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tool-box.ts b/packages/hiccup-carbon-icons/src/tool-box.ts index 450c7558ec..b4e40e340c 100644 --- a/packages/hiccup-carbon-icons/src/tool-box.ts +++ b/packages/hiccup-carbon-icons/src/tool-box.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TOOL_BOX */ // prettier-ignore -export const TOOL_BOX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 9h-3V6a2 2 0 00-2-2H10a2 2 0 00-2 2v3H5a3 3 0 00-3 3v14a2 2 0 002 2h24a2 2 0 002-2V12a3 3 0 00-3-3zM10 6h12v3H10zm18 20H4v-9h8v5h8v-5h8zm-14-9h4v3h-4zM4 15v-3a1 1 0 011-1h22a1 1 0 011 1v3z" }]]; +export const TOOL_BOX = svg( + ["path", { d: "M27 9h-3V6a2 2 0 00-2-2H10a2 2 0 00-2 2v3H5a3 3 0 00-3 3v14a2 2 0 002 2h24a2 2 0 002-2V12a3 3 0 00-3-3zM10 6h12v3H10zm18 20H4v-9h8v5h8v-5h8zm-14-9h4v3h-4zM4 15v-3a1 1 0 011-1h22a1 1 0 011 1v3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tools.ts b/packages/hiccup-carbon-icons/src/tools.ts index ea6001eebe..c59bf50a14 100644 --- a/packages/hiccup-carbon-icons/src/tools.ts +++ b/packages/hiccup-carbon-icons/src/tools.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TOOLS */ // prettier-ignore -export const TOOLS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12.1 2a9.8 9.8 0 00-5.4 1.6l6.4 6.4a2.1 2.1 0 01.2 3 2.1 2.1 0 01-3-.2L3.7 6.4A9.84 9.84 0 002 12.1a10.14 10.14 0 0010.1 10.1 10.9 10.9 0 002.6-.3l6.7 6.7a5 5 0 007.1-7.1l-6.7-6.7a10.9 10.9 0 00.3-2.6A10 10 0 0012.1 2zm8 10.1a7.61 7.61 0 01-.3 2.1l-.3 1.1.8.8 6.7 6.7a2.88 2.88 0 01.9 2.1A2.72 2.72 0 0127 27a2.9 2.9 0 01-4.2 0l-6.7-6.7-.8-.8-1.1.3a7.61 7.61 0 01-2.1.3 8.27 8.27 0 01-5.7-2.3A7.63 7.63 0 014 12.1a8.33 8.33 0 01.3-2.2l4.4 4.4a4.14 4.14 0 005.9.2 4.14 4.14 0 00-.2-5.9L10 4.2a6.45 6.45 0 012-.3 8.27 8.27 0 015.7 2.3 8.49 8.49 0 012.4 5.9z" }]]; +export const TOOLS = svg( + ["path", { d: "M12.1 2a9.8 9.8 0 00-5.4 1.6l6.4 6.4a2.1 2.1 0 01.2 3 2.1 2.1 0 01-3-.2L3.7 6.4A9.84 9.84 0 002 12.1a10.14 10.14 0 0010.1 10.1 10.9 10.9 0 002.6-.3l6.7 6.7a5 5 0 007.1-7.1l-6.7-6.7a10.9 10.9 0 00.3-2.6A10 10 0 0012.1 2zm8 10.1a7.61 7.61 0 01-.3 2.1l-.3 1.1.8.8 6.7 6.7a2.88 2.88 0 01.9 2.1A2.72 2.72 0 0127 27a2.9 2.9 0 01-4.2 0l-6.7-6.7-.8-.8-1.1.3a7.61 7.61 0 01-2.1.3 8.27 8.27 0 01-5.7-2.3A7.63 7.63 0 014 12.1a8.33 8.33 0 01.3-2.2l4.4 4.4a4.14 4.14 0 005.9.2 4.14 4.14 0 00-.2-5.9L10 4.2a6.45 6.45 0 012-.3 8.27 8.27 0 015.7 2.3 8.49 8.49 0 012.4 5.9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tornado.ts b/packages/hiccup-carbon-icons/src/tornado.ts index 54e72b5b5b..c5253e312d 100644 --- a/packages/hiccup-carbon-icons/src/tornado.ts +++ b/packages/hiccup-carbon-icons/src/tornado.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TORNADO */ // prettier-ignore -export const TORNADO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 26h4v2h-4zM12 22h6v2h-6zM8 18h10v2H8zM8 14h12v2H8zM10 10h14v2H10zM8 6h18v2H8z" }]]; +export const TORNADO = svg( + ["path", { d: "M16 26h4v2h-4zM12 22h6v2h-6zM8 18h10v2H8zM8 14h12v2H8zM10 10h14v2H10zM8 6h18v2H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/touch-1.ts b/packages/hiccup-carbon-icons/src/touch-1.ts index 0848dcb40e..5cd3d1cd75 100644 --- a/packages/hiccup-carbon-icons/src/touch-1.ts +++ b/packages/hiccup-carbon-icons/src/touch-1.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TOUCH_1 */ // prettier-ignore -export const TOUCH_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 8h-2A5 5 0 008 8H6a7 7 0 0114 0z" }], - ["path", { d: "M25 15a2.94 2.94 0 00-1.47.4A3 3 0 0021 14a2.94 2.94 0 00-1.47.4A3 3 0 0016 13.18V8a3 3 0 00-6 0v11.1l-2.23-1.52A2.93 2.93 0 006 17a3 3 0 00-2.12 5.13l8 7.3A6.16 6.16 0 0016 31h5a7 7 0 007-7v-6a3 3 0 00-3-3zm1 9a5 5 0 01-5 5h-5a4.17 4.17 0 01-2.76-1l-7.95-7.3A1 1 0 015 20a1 1 0 011.6-.8l5.4 3.7V8a1 1 0 012 0v11h2v-3a1 1 0 012 0v3h2v-2a1 1 0 012 0v2h2v-1a1 1 0 012 0z" }]]; +export const TOUCH_1 = svg( + ["path", { d: "M20 8h-2A5 5 0 008 8H6a7 7 0 0114 0z" }], + ["path", { d: "M25 15a2.94 2.94 0 00-1.47.4A3 3 0 0021 14a2.94 2.94 0 00-1.47.4A3 3 0 0016 13.18V8a3 3 0 00-6 0v11.1l-2.23-1.52A2.93 2.93 0 006 17a3 3 0 00-2.12 5.13l8 7.3A6.16 6.16 0 0016 31h5a7 7 0 007-7v-6a3 3 0 00-3-3zm1 9a5 5 0 01-5 5h-5a4.17 4.17 0 01-2.76-1l-7.95-7.3A1 1 0 015 20a1 1 0 011.6-.8l5.4 3.7V8a1 1 0 012 0v11h2v-3a1 1 0 012 0v3h2v-2a1 1 0 012 0v2h2v-1a1 1 0 012 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/touch-2.ts b/packages/hiccup-carbon-icons/src/touch-2.ts index 0711645626..431da288e1 100644 --- a/packages/hiccup-carbon-icons/src/touch-2.ts +++ b/packages/hiccup-carbon-icons/src/touch-2.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TOUCH_2 */ // prettier-ignore -export const TOUCH_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 15h-2a11 11 0 00-22 0H3a13 13 0 0126 0z" }], - ["path", { d: "M25 28h-2V15a7 7 0 10-14 0v13H7V15a9 9 0 0118 0z" }], - ["path", { d: "M21 20H11v-5a5 5 0 0110 0zm-8-2h6v-3a3 3 0 00-6 0z" }]]; +export const TOUCH_2 = svg( + ["path", { d: "M29 15h-2a11 11 0 00-22 0H3a13 13 0 0126 0z" }], + ["path", { d: "M25 28h-2V15a7 7 0 10-14 0v13H7V15a9 9 0 0118 0z" }], + ["path", { d: "M21 20H11v-5a5 5 0 0110 0zm-8-2h6v-3a3 3 0 00-6 0z" }] +); diff --git a/packages/hiccup-carbon-icons/src/touch-interaction.ts b/packages/hiccup-carbon-icons/src/touch-interaction.ts index 386a9cb721..5c6cf390e5 100644 --- a/packages/hiccup-carbon-icons/src/touch-interaction.ts +++ b/packages/hiccup-carbon-icons/src/touch-interaction.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TOUCH_INTERACTION */ // prettier-ignore -export const TOUCH_INTERACTION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 21v-1a1 1 0 012 0v10h2V20a3.003 3.003 0 00-3-3 2.964 2.964 0 00-1.47.401 2.954 2.954 0 00-4-1A2.993 2.993 0 0019 15a2.96 2.96 0 00-1 .185V10a3 3 0 00-6 0v11.105l-2.235-1.53v.001a2.999 2.999 0 00-3.882 4.55L12.323 30l1.347-1.478-6.378-5.818A.99.99 0 017 22a1 1 0 011.6-.8l5.4 3.695V10a1 1 0 012 0v11h2v-3a1 1 0 012 0v3h2v-2a1 1 0 012 0v2z" }], - ["path", { d: "M28 12h-6v-2h6V4H4v6h4v2H4a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h24a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2z" }]]; +export const TOUCH_INTERACTION = svg( + ["path", { d: "M26 21v-1a1 1 0 012 0v10h2V20a3.003 3.003 0 00-3-3 2.964 2.964 0 00-1.47.401 2.954 2.954 0 00-4-1A2.993 2.993 0 0019 15a2.96 2.96 0 00-1 .185V10a3 3 0 00-6 0v11.105l-2.235-1.53v.001a2.999 2.999 0 00-3.882 4.55L12.323 30l1.347-1.478-6.378-5.818A.99.99 0 017 22a1 1 0 011.6-.8l5.4 3.695V10a1 1 0 012 0v11h2v-3a1 1 0 012 0v3h2v-2a1 1 0 012 0v2z" }], + ["path", { d: "M28 12h-6v-2h6V4H4v6h4v2H4a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h24a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/train.ts b/packages/hiccup-carbon-icons/src/train.ts index 4df5cf8198..e925658d67 100644 --- a/packages/hiccup-carbon-icons/src/train.ts +++ b/packages/hiccup-carbon-icons/src/train.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TRAIN */ // prettier-ignore -export const TRAIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 3H11a5.006 5.006 0 00-5 5v12a4.99 4.99 0 003.582 4.77L7.769 29h2.176l1.714-4h8.682l1.714 4h2.176l-1.813-4.23A4.99 4.99 0 0026 20V8a5.006 5.006 0 00-5-5zM11 5h10a2.995 2.995 0 012.816 2H8.184A2.995 2.995 0 0111 5zm13 14h-3v2h2.816A2.995 2.995 0 0121 23H11a2.995 2.995 0 01-2.816-2H11v-2H8v-2h16zm0-4H8V9h16z" }]]; +export const TRAIN = svg( + ["path", { d: "M21 3H11a5.006 5.006 0 00-5 5v12a4.99 4.99 0 003.582 4.77L7.769 29h2.176l1.714-4h8.682l1.714 4h2.176l-1.813-4.23A4.99 4.99 0 0026 20V8a5.006 5.006 0 00-5-5zM11 5h10a2.995 2.995 0 012.816 2H8.184A2.995 2.995 0 0111 5zm13 14h-3v2h2.816A2.995 2.995 0 0121 23H11a2.995 2.995 0 01-2.816-2H11v-2H8v-2h16zm0-4H8V9h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tram.ts b/packages/hiccup-carbon-icons/src/tram.ts index 04c99b7f78..84c79e8e1d 100644 --- a/packages/hiccup-carbon-icons/src/tram.ts +++ b/packages/hiccup-carbon-icons/src/tram.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TRAM */ // prettier-ignore -export const TRAM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 6h-4V4h6V2H9v2h6v2h-4a5.006 5.006 0 00-5 5v11a4.99 4.99 0 003.582 4.77L8.198 30h2.176l1.285-3h8.682l1.286 3h2.175l-1.384-3.23A4.99 4.99 0 0026 22V11a5.006 5.006 0 00-5-5zM11 8h10a2.995 2.995 0 012.816 2H8.184A2.995 2.995 0 0111 8zm13 13h-3v2h2.816A2.995 2.995 0 0121 25H11a2.995 2.995 0 01-2.816-2H11v-2H8v-2h16zm0-4H8v-5h16z" }]]; +export const TRAM = svg( + ["path", { d: "M21 6h-4V4h6V2H9v2h6v2h-4a5.006 5.006 0 00-5 5v11a4.99 4.99 0 003.582 4.77L8.198 30h2.176l1.285-3h8.682l1.286 3h2.175l-1.384-3.23A4.99 4.99 0 0026 22V11a5.006 5.006 0 00-5-5zM11 8h10a2.995 2.995 0 012.816 2H8.184A2.995 2.995 0 0111 8zm13 13h-3v2h2.816A2.995 2.995 0 0121 25H11a2.995 2.995 0 01-2.816-2H11v-2H8v-2h16zm0-4H8v-5h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/transgender.ts b/packages/hiccup-carbon-icons/src/transgender.ts index a8d5e1fc05..d2399a8f50 100644 --- a/packages/hiccup-carbon-icons/src/transgender.ts +++ b/packages/hiccup-carbon-icons/src/transgender.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TRANSGENDER */ // prettier-ignore -export const TRANSGENDER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 2v2h4.586l-6.402 6.401a6.947 6.947 0 00-8.368 0L10.414 9 13 6.414 11.586 5 9 7.586 5.414 4H10V2H2v8h2V5.414L7.586 9 5 11.585 6.414 13 9 10.414l1.401 1.401A6.979 6.979 0 0015 22.92V25h-4v2h4v3h2v-3h4v-2h-4v-2.08a6.979 6.979 0 004.598-11.104L28 5.414V10h2V2zm-6 19a5 5 0 115-5 5.006 5.006 0 01-5 5z" }]]; +export const TRANSGENDER = svg( + ["path", { d: "M22 2v2h4.586l-6.402 6.401a6.947 6.947 0 00-8.368 0L10.414 9 13 6.414 11.586 5 9 7.586 5.414 4H10V2H2v8h2V5.414L7.586 9 5 11.585 6.414 13 9 10.414l1.401 1.401A6.979 6.979 0 0015 22.92V25h-4v2h4v3h2v-3h4v-2h-4v-2.08a6.979 6.979 0 004.598-11.104L28 5.414V10h2V2zm-6 19a5 5 0 115-5 5.006 5.006 0 01-5 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/translate.ts b/packages/hiccup-carbon-icons/src/translate.ts index 538333f561..a3f6651e74 100644 --- a/packages/hiccup-carbon-icons/src/translate.ts +++ b/packages/hiccup-carbon-icons/src/translate.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TRANSLATE */ // prettier-ignore -export const TRANSLATE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 01-3.19 6.18A13.5 13.5 0 017.26 9h-2.1a16.47 16.47 0 003 5.58A16.84 16.84 0 013 18l.75 1.86A18.47 18.47 0 009.53 16a16.92 16.92 0 005.76 3.84L16 18a14.48 14.48 0 01-5.12-3.37A17.64 17.64 0 0014.8 7z" }]]; +export const TRANSLATE = svg( + ["path", { d: "M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 01-3.19 6.18A13.5 13.5 0 017.26 9h-2.1a16.47 16.47 0 003 5.58A16.84 16.84 0 013 18l.75 1.86A18.47 18.47 0 009.53 16a16.92 16.92 0 005.76 3.84L16 18a14.48 14.48 0 01-5.12-3.37A17.64 17.64 0 0014.8 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/trash-can.ts b/packages/hiccup-carbon-icons/src/trash-can.ts index dc909986dc..8b5b79e544 100644 --- a/packages/hiccup-carbon-icons/src/trash-can.ts +++ b/packages/hiccup-carbon-icons/src/trash-can.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TRASH_CAN */ // prettier-ignore -export const TRASH_CAN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 12h2v12h-2zM18 12h2v12h-2z" }], - ["path", { d: "M4 6v2h2v20a2 2 0 002 2h16a2 2 0 002-2V8h2V6zm4 22V8h16v20zM12 2h8v2h-8z" }]]; +export const TRASH_CAN = svg( + ["path", { d: "M12 12h2v12h-2zM18 12h2v12h-2z" }], + ["path", { d: "M4 6v2h2v20a2 2 0 002 2h16a2 2 0 002-2V8h2V6zm4 22V8h16v20zM12 2h8v2h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tree-view-alt.ts b/packages/hiccup-carbon-icons/src/tree-view-alt.ts index d83bf5470f..f4deed42c3 100644 --- a/packages/hiccup-carbon-icons/src/tree-view-alt.ts +++ b/packages/hiccup-carbon-icons/src/tree-view-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TREE_VIEW_ALT */ // prettier-ignore -export const TREE_VIEW_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 9.005h6a2 2 0 002-2v-4a2 2 0 00-2-2h-6a2 2 0 00-2 2v1H11v-1a2 2 0 00-2-2H3a2 2 0 00-2 2v4a2 2 0 002 2h6a2 2 0 002-2v-1h4v20a2.002 2.002 0 002 2h4v1a2 2 0 002 2h6a2 2 0 002-2v-4a2 2 0 00-2-2h-6a2 2 0 00-2 2v1h-4v-9h4v1a2 2 0 002 2h6a2 2 0 002-2v-4a2 2 0 00-2-2h-6a2 2 0 00-2 2v1h-4v-9h4v1a2 2 0 002 2zm0-6h6v4h-6zm-14 4H3v-4h6zm14 18h6v4h-6zm0-11h6v4h-6z" }]]; +export const TREE_VIEW_ALT = svg( + ["path", { d: "M23 9.005h6a2 2 0 002-2v-4a2 2 0 00-2-2h-6a2 2 0 00-2 2v1H11v-1a2 2 0 00-2-2H3a2 2 0 00-2 2v4a2 2 0 002 2h6a2 2 0 002-2v-1h4v20a2.002 2.002 0 002 2h4v1a2 2 0 002 2h6a2 2 0 002-2v-4a2 2 0 00-2-2h-6a2 2 0 00-2 2v1h-4v-9h4v1a2 2 0 002 2h6a2 2 0 002-2v-4a2 2 0 00-2-2h-6a2 2 0 00-2 2v1h-4v-9h4v1a2 2 0 002 2zm0-6h6v4h-6zm-14 4H3v-4h6zm14 18h6v4h-6zm0-11h6v4h-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tree-view.ts b/packages/hiccup-carbon-icons/src/tree-view.ts index 75362a061e..78a300bd4e 100644 --- a/packages/hiccup-carbon-icons/src/tree-view.ts +++ b/packages/hiccup-carbon-icons/src/tree-view.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TREE_VIEW */ // prettier-ignore -export const TREE_VIEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 20v-8h-8v3h-5V7a2 2 0 00-2-2h-5V2H2v8h8V7h5v18a2 2 0 002 2h5v3h8v-8h-8v3h-5v-8h5v3zM8 8H4V4h4zm16 16h4v4h-4zm0-10h4v4h-4z" }]]; +export const TREE_VIEW = svg( + ["path", { d: "M30 20v-8h-8v3h-5V7a2 2 0 00-2-2h-5V2H2v8h8V7h5v18a2 2 0 002 2h5v3h8v-8h-8v3h-5v-8h5v3zM8 8H4V4h4zm16 16h4v4h-4zm0-10h4v4h-4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tree.ts b/packages/hiccup-carbon-icons/src/tree.ts index c64a54f83a..5427617f9d 100644 --- a/packages/hiccup-carbon-icons/src/tree.ts +++ b/packages/hiccup-carbon-icons/src/tree.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TREE */ // prettier-ignore -export const TREE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 30H9v-2h3V15.566l-3.515-2.109 1.03-1.714 3.514 2.108A2.011 2.011 0 0114 15.566V28a2.002 2.002 0 01-2 2z" }], - ["path", { d: "M22 30h-3a2.002 2.002 0 01-2-2V17h6a4 4 0 003.981-4.396A4.149 4.149 0 0022.785 9h-1.583l-.177-.779C20.452 5.696 18.031 4 15 4a6.02 6.02 0 00-5.441 3.486l-.309.667-.863-.114A2.771 2.771 0 008 8a4 4 0 100 8v2A6 6 0 118 6l.079.001A8.027 8.027 0 0115 2c3.679 0 6.692 1.978 7.752 5h.033a6.164 6.164 0 016.187 5.414A6.001 6.001 0 0123 19h-4v9h3z" }]]; +export const TREE = svg( + ["path", { d: "M12 30H9v-2h3V15.566l-3.515-2.109 1.03-1.714 3.514 2.108A2.011 2.011 0 0114 15.566V28a2.002 2.002 0 01-2 2z" }], + ["path", { d: "M22 30h-3a2.002 2.002 0 01-2-2V17h6a4 4 0 003.981-4.396A4.149 4.149 0 0022.785 9h-1.583l-.177-.779C20.452 5.696 18.031 4 15 4a6.02 6.02 0 00-5.441 3.486l-.309.667-.863-.114A2.771 2.771 0 008 8a4 4 0 100 8v2A6 6 0 118 6l.079.001A8.027 8.027 0 0115 2c3.679 0 6.692 1.978 7.752 5h.033a6.164 6.164 0 016.187 5.414A6.001 6.001 0 0123 19h-4v9h3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/trophy-filled.ts b/packages/hiccup-carbon-icons/src/trophy-filled.ts index 8a8b2fa0f3..ea496846ae 100644 --- a/packages/hiccup-carbon-icons/src/trophy-filled.ts +++ b/packages/hiccup-carbon-icons/src/trophy-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TROPHY_FILLED */ // prettier-ignore -export const TROPHY_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 7h-2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v1H6a2.002 2.002 0 00-2 2v3a4.005 4.005 0 004 4h.322A8.169 8.169 0 0015 21.934V26h-5v2h12v-2h-5v-4.069A7.966 7.966 0 0023.74 16H24a4.005 4.005 0 004-4V9a2.002 2.002 0 00-2-2zM8 14a2.002 2.002 0 01-2-2V9h2zm18-2a2.002 2.002 0 01-2 2V9h2z" }]]; +export const TROPHY_FILLED = svg( + ["path", { d: "M26 7h-2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v1H6a2.002 2.002 0 00-2 2v3a4.005 4.005 0 004 4h.322A8.169 8.169 0 0015 21.934V26h-5v2h12v-2h-5v-4.069A7.966 7.966 0 0023.74 16H24a4.005 4.005 0 004-4V9a2.002 2.002 0 00-2-2zM8 14a2.002 2.002 0 01-2-2V9h2zm18-2a2.002 2.002 0 01-2 2V9h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/trophy.ts b/packages/hiccup-carbon-icons/src/trophy.ts index 3fdaff0500..d52504150f 100644 --- a/packages/hiccup-carbon-icons/src/trophy.ts +++ b/packages/hiccup-carbon-icons/src/trophy.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TROPHY */ // prettier-ignore -export const TROPHY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 7h-2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v1H6a2.002 2.002 0 00-2 2v3a4.005 4.005 0 004 4h.322A8.169 8.169 0 0015 21.934V26h-5v2h12v-2h-5v-4.069A7.966 7.966 0 0023.74 16H24a4.005 4.005 0 004-4V9a2.002 2.002 0 00-2-2zM8 14a2.002 2.002 0 01-2-2V9h2zm14 0a6 6 0 01-6.186 5.997A6.2 6.2 0 0110 13.707V6h12zm4-2a2.002 2.002 0 01-2 2V9h2z" }]]; +export const TROPHY = svg( + ["path", { d: "M26 7h-2V6a2.002 2.002 0 00-2-2H10a2.002 2.002 0 00-2 2v1H6a2.002 2.002 0 00-2 2v3a4.005 4.005 0 004 4h.322A8.169 8.169 0 0015 21.934V26h-5v2h12v-2h-5v-4.069A7.966 7.966 0 0023.74 16H24a4.005 4.005 0 004-4V9a2.002 2.002 0 00-2-2zM8 14a2.002 2.002 0 01-2-2V9h2zm14 0a6 6 0 01-6.186 5.997A6.2 6.2 0 0110 13.707V6h12zm4-2a2.002 2.002 0 01-2 2V9h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tropical-storm.ts b/packages/hiccup-carbon-icons/src/tropical-storm.ts index 83091f3e8a..f0642c442e 100644 --- a/packages/hiccup-carbon-icons/src/tropical-storm.ts +++ b/packages/hiccup-carbon-icons/src/tropical-storm.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TROPICAL_STORM */ // prettier-ignore -export const TROPICAL_STORM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 21a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }], - ["path", { d: "M22.652 4.182l-2.177 2.514-1.404 1.621 1.715 1.288A7.936 7.936 0 0123.996 16l.001.058.002.041c.018.432.241 10.111-14.654 11.722l2.18-2.517 1.404-1.621-1.715-1.288A7.936 7.936 0 018.004 16l-.001-.058L8 15.901c-.018-.431-.24-10.094 14.651-11.719M24.998 2l-.05.001C5.254 2.915 6.005 16 6.005 16a9.975 9.975 0 004.01 7.995l-3.777 4.36A1.004 1.004 0 007.002 30l.05-.001C26.747 29.085 25.995 16 25.995 16a9.976 9.976 0 00-4.009-7.995l3.776-4.36A1.004 1.004 0 0024.998 2z" }]]; +export const TROPICAL_STORM = svg( + ["path", { d: "M16 21a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }], + ["path", { d: "M22.652 4.182l-2.177 2.514-1.404 1.621 1.715 1.288A7.936 7.936 0 0123.996 16l.001.058.002.041c.018.432.241 10.111-14.654 11.722l2.18-2.517 1.404-1.621-1.715-1.288A7.936 7.936 0 018.004 16l-.001-.058L8 15.901c-.018-.431-.24-10.094 14.651-11.719M24.998 2l-.05.001C5.254 2.915 6.005 16 6.005 16a9.975 9.975 0 004.01 7.995l-3.777 4.36A1.004 1.004 0 007.002 30l.05-.001C26.747 29.085 25.995 16 25.995 16a9.976 9.976 0 00-4.009-7.995l3.776-4.36A1.004 1.004 0 0024.998 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/tsv.ts b/packages/hiccup-carbon-icons/src/tsv.ts index 87d17e1c68..563dc476fe 100644 --- a/packages/hiccup-carbon-icons/src/tsv.ts +++ b/packages/hiccup-carbon-icons/src/tsv.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TSV */ // prettier-ignore -export const TSV: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9l-2 13-2-13h-2l2.516 14h2.968L30 9h-2zM18 23h-6v-2h6v-4h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h6v2h-6v4h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM2 11h3v12h2V11h3V9H2v2z" }]]; +export const TSV = svg( + ["path", { d: "M28 9l-2 13-2-13h-2l2.516 14h2.968L30 9h-2zM18 23h-6v-2h6v-4h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h6v2h-6v4h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM2 11h3v12h2V11h3V9H2v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/txt-reference.ts b/packages/hiccup-carbon-icons/src/txt-reference.ts index 6ff24a7ca1..31917dd17b 100644 --- a/packages/hiccup-carbon-icons/src/txt-reference.ts +++ b/packages/hiccup-carbon-icons/src/txt-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TXT_REFERENCE */ // prettier-ignore -export const TXT_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM21 4h3v12h2V4h3V2h-8v2zM20 2h-2l-2 6-2-6h-2l2.752 7L12 16h2l2-6 2 6h2l-2.755-7L20 2zM3 4h3v12h2V4h3V2H3v2z" }]]; +export const TXT_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM21 4h3v12h2V4h3V2h-8v2zM20 2h-2l-2 6-2-6h-2l2.752 7L12 16h2l2-6 2 6h2l-2.755-7L20 2zM3 4h3v12h2V4h3V2H3v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/txt.ts b/packages/hiccup-carbon-icons/src/txt.ts index 277193ab41..db384641ef 100644 --- a/packages/hiccup-carbon-icons/src/txt.ts +++ b/packages/hiccup-carbon-icons/src/txt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TXT */ // prettier-ignore -export const TXT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 11h3v12h2V11h3V9h-8v2zM20 9h-2l-2 6-2-6h-2l2.75 7L12 23h2l2-6 2 6h2l-2.75-7L20 9zM3 11h3v12h2V11h3V9H3v2z" }]]; +export const TXT = svg( + ["path", { d: "M21 11h3v12h2V11h3V9h-8v2zM20 9h-2l-2 6-2-6h-2l2.75 7L12 23h2l2-6 2 6h2l-2.75-7L20 9zM3 11h3v12h2V11h3V9H3v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/type-pattern.ts b/packages/hiccup-carbon-icons/src/type-pattern.ts index 093f5a0c2e..631e47c8aa 100644 --- a/packages/hiccup-carbon-icons/src/type-pattern.ts +++ b/packages/hiccup-carbon-icons/src/type-pattern.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TYPE_PATTERN */ // prettier-ignore -export const TYPE_PATTERN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 15H17V2h-2v13H2v2h13v13h2V17h13v-2z" }], - ["path", { d: "M25.586 20L27 21.414 23.414 25 27 28.586 25.586 30l-5-5 5-5zM11 30H3a1 1 0 01-.894-1.447l4-8a1.041 1.041 0 011.789 0l4 8A1 1 0 0111 30zm-6.382-2h4.764L7 23.236zM28 12h-6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6.001L28 4zM7 12a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }]]; +export const TYPE_PATTERN = svg( + ["path", { d: "M30 15H17V2h-2v13H2v2h13v13h2V17h13v-2z" }], + ["path", { d: "M25.586 20L27 21.414 23.414 25 27 28.586 25.586 30l-5-5 5-5zM11 30H3a1 1 0 01-.894-1.447l4-8a1.041 1.041 0 011.789 0l4 8A1 1 0 0111 30zm-6.382-2h4.764L7 23.236zM28 12h-6a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h6a2.002 2.002 0 012 2v6a2.002 2.002 0 01-2 2zm-6-8v6h6.001L28 4zM7 12a5 5 0 115-5 5.006 5.006 0 01-5 5zm0-8a3 3 0 103 3 3.003 3.003 0 00-3-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/types.ts b/packages/hiccup-carbon-icons/src/types.ts index 262e3139b2..2d0d5b3174 100644 --- a/packages/hiccup-carbon-icons/src/types.ts +++ b/packages/hiccup-carbon-icons/src/types.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#TYPES */ // prettier-ignore -export const TYPES: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 16l-8 8-1.414-1.414L27.172 16l-6.586-6.586L22 8l8 8z" }], - ["path", { d: "M16 22a.997.997 0 01-.707-.293l-5-5a1 1 0 010-1.414l5-5a1 1 0 011.414 0l5 5a1 1 0 010 1.414l-5 5A.997.997 0 0116 22zm-3.586-6L16 19.586 19.586 16 16 12.414z" }], - ["path", { d: "M2 16l8-8 1.414 1.414L4.828 16l6.586 6.586L10 24l-8-8z" }]]; +export const TYPES = svg( + ["path", { d: "M30 16l-8 8-1.414-1.414L27.172 16l-6.586-6.586L22 8l8 8z" }], + ["path", { d: "M16 22a.997.997 0 01-.707-.293l-5-5a1 1 0 010-1.414l5-5a1 1 0 011.414 0l5 5a1 1 0 010 1.414l-5 5A.997.997 0 0116 22zm-3.586-6L16 19.586 19.586 16 16 12.414z" }], + ["path", { d: "M2 16l8-8 1.414 1.414L4.828 16l6.586 6.586L10 24l-8-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/umbrella.ts b/packages/hiccup-carbon-icons/src/umbrella.ts index 73fe219fe9..2d3d4fb7d9 100644 --- a/packages/hiccup-carbon-icons/src/umbrella.ts +++ b/packages/hiccup-carbon-icons/src/umbrella.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UMBRELLA */ // prettier-ignore -export const UMBRELLA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.985 15.83A14.38 14.38 0 0017 4.046V2h-2v2.046A14.38 14.38 0 002.015 15.83a1 1 0 001.495 1.03A4.855 4.855 0 016 16a4.865 4.865 0 014.14 2.51 1.04 1.04 0 001.72 0A5.02 5.02 0 0115 16.126V25.5a2.5 2.5 0 01-5 0V25H8v.5a4.5 4.5 0 009 0v-9.375a5.02 5.02 0 013.14 2.386 1 1 0 001.72 0A4.865 4.865 0 0126 16a4.855 4.855 0 012.49.86 1 1 0 001.496-1.03zM6 14a5.408 5.408 0 00-1.503.213A12.441 12.441 0 0112.985 6.4a14.516 14.516 0 00-3.046 8.934A6.544 6.544 0 006 14zm10 0a6.553 6.553 0 00-4.056 1.43c.037-2.22.608-6.49 4.056-9.176 3.43 2.677 4.009 6.95 4.052 9.173A6.553 6.553 0 0016 14zm10 0a6.544 6.544 0 00-3.939 1.333 14.516 14.516 0 00-3.046-8.934 12.441 12.441 0 018.488 7.814A5.408 5.408 0 0026 14z" }]]; +export const UMBRELLA = svg( + ["path", { d: "M29.985 15.83A14.38 14.38 0 0017 4.046V2h-2v2.046A14.38 14.38 0 002.015 15.83a1 1 0 001.495 1.03A4.855 4.855 0 016 16a4.865 4.865 0 014.14 2.51 1.04 1.04 0 001.72 0A5.02 5.02 0 0115 16.126V25.5a2.5 2.5 0 01-5 0V25H8v.5a4.5 4.5 0 009 0v-9.375a5.02 5.02 0 013.14 2.386 1 1 0 001.72 0A4.865 4.865 0 0126 16a4.855 4.855 0 012.49.86 1 1 0 001.496-1.03zM6 14a5.408 5.408 0 00-1.503.213A12.441 12.441 0 0112.985 6.4a14.516 14.516 0 00-3.046 8.934A6.544 6.544 0 006 14zm10 0a6.553 6.553 0 00-4.056 1.43c.037-2.22.608-6.49 4.056-9.176 3.43 2.677 4.009 6.95 4.052 9.173A6.553 6.553 0 0016 14zm10 0a6.544 6.544 0 00-3.939 1.333 14.516 14.516 0 00-3.046-8.934 12.441 12.441 0 018.488 7.814A5.408 5.408 0 0026 14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/undefined-filled.ts b/packages/hiccup-carbon-icons/src/undefined-filled.ts index 43c48b2377..3a4d5dc907 100644 --- a/packages/hiccup-carbon-icons/src/undefined-filled.ts +++ b/packages/hiccup-carbon-icons/src/undefined-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UNDEFINED_FILLED */ // prettier-ignore -export const UNDEFINED_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.416 14.59L17.41 2.585a1.994 1.994 0 00-2.82 0L2.585 14.59a1.993 1.993 0 000 2.819L14.59 29.416a1.994 1.994 0 002.819 0L29.416 17.41a1.993 1.993 0 000-2.82zM21 18H11v-4h10z" }]]; +export const UNDEFINED_FILLED = svg( + ["path", { d: "M29.416 14.59L17.41 2.585a1.994 1.994 0 00-2.82 0L2.585 14.59a1.993 1.993 0 000 2.819L14.59 29.416a1.994 1.994 0 002.819 0L29.416 17.41a1.993 1.993 0 000-2.82zM21 18H11v-4h10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/undefined.ts b/packages/hiccup-carbon-icons/src/undefined.ts index 76d2a60e8f..74a8b0dfcc 100644 --- a/packages/hiccup-carbon-icons/src/undefined.ts +++ b/packages/hiccup-carbon-icons/src/undefined.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UNDEFINED */ // prettier-ignore -export const UNDEFINED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M11 14h10v4H11z" }], - ["path", { d: "M16 30a2.076 2.076 0 01-1.473-.61L2.609 17.474a2.086 2.086 0 010-2.946L14.527 2.609a2.086 2.086 0 012.946 0l11.918 11.918a2.086 2.086 0 010 2.946L17.473 29.391A2.076 2.076 0 0116 30zm0-26a.084.084 0 00-.06.024L4.025 15.94a.084.084 0 000 .118L15.94 27.976a.084.084 0 00.118 0L27.976 16.06a.084.084 0 000-.118L16.06 4.024A.084.084 0 0016 3.999z" }]]; +export const UNDEFINED = svg( + ["path", { d: "M11 14h10v4H11z" }], + ["path", { d: "M16 30a2.076 2.076 0 01-1.473-.61L2.609 17.474a2.086 2.086 0 010-2.946L14.527 2.609a2.086 2.086 0 012.946 0l11.918 11.918a2.086 2.086 0 010 2.946L17.473 29.391A2.076 2.076 0 0116 30zm0-26a.084.084 0 00-.06.024L4.025 15.94a.084.084 0 000 .118L15.94 27.976a.084.084 0 00.118 0L27.976 16.06a.084.084 0 000-.118L16.06 4.024A.084.084 0 0016 3.999z" }] +); diff --git a/packages/hiccup-carbon-icons/src/undo.ts b/packages/hiccup-carbon-icons/src/undo.ts index bcf1b5b8fe..c347dcb85d 100644 --- a/packages/hiccup-carbon-icons/src/undo.ts +++ b/packages/hiccup-carbon-icons/src/undo.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UNDO */ // prettier-ignore -export const UNDO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["style"], - ["path", { d: "M23 15c2.5 0 4 1.5 4 4s-1.5 4-4 4h-5v2h5c3.5 0 6-2.5 6-6s-2.5-6-6-6H6.8l4-4-1.4-1.4L3 14l6.4 6.4 1.4-1.4-4-4H23z" }]]; +export const UNDO = svg( + ["style"], + ["path", { d: "M23 15c2.5 0 4 1.5 4 4s-1.5 4-4 4h-5v2h5c3.5 0 6-2.5 6-6s-2.5-6-6-6H6.8l4-4-1.4-1.4L3 14l6.4 6.4 1.4-1.4-4-4H23z" }] +); diff --git a/packages/hiccup-carbon-icons/src/unknown-filled.ts b/packages/hiccup-carbon-icons/src/unknown-filled.ts index 007e71f367..ed5cffb50a 100644 --- a/packages/hiccup-carbon-icons/src/unknown-filled.ts +++ b/packages/hiccup-carbon-icons/src/unknown-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UNKNOWN_FILLED */ // prettier-ignore -export const UNKNOWN_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.416 14.59L17.41 2.585a1.994 1.994 0 00-2.82 0L2.585 14.591a1.994 1.994 0 000 2.819L14.59 29.416a1.994 1.994 0 002.819 0L29.416 17.41a1.994 1.994 0 000-2.82zM16 24a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 24zm1.125-6.752v1.877h-2.25V15H17a1.875 1.875 0 000-3.75h-2a1.877 1.877 0 00-1.875 1.875v.5h-2.25v-.5A4.13 4.13 0 0115 9h2a4.125 4.125 0 01.125 8.248z" }]]; +export const UNKNOWN_FILLED = svg( + ["path", { d: "M29.416 14.59L17.41 2.585a1.994 1.994 0 00-2.82 0L2.585 14.591a1.994 1.994 0 000 2.819L14.59 29.416a1.994 1.994 0 002.819 0L29.416 17.41a1.994 1.994 0 000-2.82zM16 24a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 24zm1.125-6.752v1.877h-2.25V15H17a1.875 1.875 0 000-3.75h-2a1.877 1.877 0 00-1.875 1.875v.5h-2.25v-.5A4.13 4.13 0 0115 9h2a4.125 4.125 0 01.125 8.248z" }] +); diff --git a/packages/hiccup-carbon-icons/src/unknown.ts b/packages/hiccup-carbon-icons/src/unknown.ts index 1fd6eb8f48..950ebd061e 100644 --- a/packages/hiccup-carbon-icons/src/unknown.ts +++ b/packages/hiccup-carbon-icons/src/unknown.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UNKNOWN */ // prettier-ignore -export const UNKNOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.5, - cy: 22.5, - cx: 16, - }], - ["path", { d: "M17 19h-2v-4h2a2 2 0 000-4h-2a2.002 2.002 0 00-2 2v.5h-2V13a4.005 4.005 0 014-4h2a4 4 0 010 8z" }], - ["path", { d: "M16 30a2.076 2.076 0 01-1.473-.61L2.609 17.474a2.086 2.086 0 010-2.946L14.527 2.609a2.086 2.086 0 012.946 0l11.918 11.918a2.086 2.086 0 010 2.946L17.473 29.391A2.076 2.076 0 0116 30zm0-26a.084.084 0 00-.06.024L4.025 15.94a.084.084 0 000 .118L15.94 27.976a.084.084 0 00.118 0L27.976 16.06a.084.084 0 000-.118L16.06 4.024A.084.084 0 0016 3.999z" }]]; +export const UNKNOWN = svg( + ["circle", + { + r: 1.5, + cy: 22.5, + cx: 16, + }], + ["path", { d: "M17 19h-2v-4h2a2 2 0 000-4h-2a2.002 2.002 0 00-2 2v.5h-2V13a4.005 4.005 0 014-4h2a4 4 0 010 8z" }], + ["path", { d: "M16 30a2.076 2.076 0 01-1.473-.61L2.609 17.474a2.086 2.086 0 010-2.946L14.527 2.609a2.086 2.086 0 012.946 0l11.918 11.918a2.086 2.086 0 010 2.946L17.473 29.391A2.076 2.076 0 0116 30zm0-26a.084.084 0 00-.06.024L4.025 15.94a.084.084 0 000 .118L15.94 27.976a.084.084 0 00.118 0L27.976 16.06a.084.084 0 000-.118L16.06 4.024A.084.084 0 0016 3.999z" }] +); diff --git a/packages/hiccup-carbon-icons/src/unlink.ts b/packages/hiccup-carbon-icons/src/unlink.ts index a62897a642..8710265414 100644 --- a/packages/hiccup-carbon-icons/src/unlink.ts +++ b/packages/hiccup-carbon-icons/src/unlink.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UNLINK */ // prettier-ignore -export const UNLINK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M3.584 5.002l1.414-1.415 3.416 3.415L7 8.417zM23.581 24.992l1.415-1.414 3.415 3.416-1.415 1.414zM11 2h2v4h-2zM2 11h4v2H2zM26 19h4v2h-4zM19 26h2v4h-2zM16.58 21.07l-3.71 3.72a4 4 0 11-5.66-5.66l3.72-3.72L9.51 14 5.8 17.72a6 6 0 00-.06 8.54A6 6 0 0010 28a6.07 6.07 0 004.32-1.8L18 22.49zM15.41 10.93l3.72-3.72a4 4 0 115.66 5.66l-3.72 3.72L22.49 18l3.71-3.72a6 6 0 00.06-8.54A6 6 0 0022 4a6.07 6.07 0 00-4.32 1.8L14 9.51z" }]]; +export const UNLINK = svg( + ["path", { d: "M3.584 5.002l1.414-1.415 3.416 3.415L7 8.417zM23.581 24.992l1.415-1.414 3.415 3.416-1.415 1.414zM11 2h2v4h-2zM2 11h4v2H2zM26 19h4v2h-4zM19 26h2v4h-2zM16.58 21.07l-3.71 3.72a4 4 0 11-5.66-5.66l3.72-3.72L9.51 14 5.8 17.72a6 6 0 00-.06 8.54A6 6 0 0010 28a6.07 6.07 0 004.32-1.8L18 22.49zM15.41 10.93l3.72-3.72a4 4 0 115.66 5.66l-3.72 3.72L22.49 18l3.71-3.72a6 6 0 00.06-8.54A6 6 0 0022 4a6.07 6.07 0 00-4.32 1.8L14 9.51z" }] +); diff --git a/packages/hiccup-carbon-icons/src/unlocked.ts b/packages/hiccup-carbon-icons/src/unlocked.ts index d9f95e0162..58677ba3e0 100644 --- a/packages/hiccup-carbon-icons/src/unlocked.ts +++ b/packages/hiccup-carbon-icons/src/unlocked.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UNLOCKED */ // prettier-ignore -export const UNLOCKED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 14H12V8a4 4 0 018 0h2a6 6 0 00-12 0v6H8a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V16a2 2 0 00-2-2zm0 14H8V16h16z" }]]; +export const UNLOCKED = svg( + ["path", { d: "M24 14H12V8a4 4 0 018 0h2a6 6 0 00-12 0v6H8a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V16a2 2 0 00-2-2zm0 14H8V16h16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/up-to-top.ts b/packages/hiccup-carbon-icons/src/up-to-top.ts index c0738890c0..2daab1c16c 100644 --- a/packages/hiccup-carbon-icons/src/up-to-top.ts +++ b/packages/hiccup-carbon-icons/src/up-to-top.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UP_TO_TOP */ // prettier-ignore -export const UP_TO_TOP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 14L6 24l1.4 1.4 8.6-8.6 8.6 8.6L26 24zM4 8h24v2H4z" }]]; +export const UP_TO_TOP = svg( + ["path", { d: "M16 14L6 24l1.4 1.4 8.6-8.6 8.6 8.6L26 24zM4 8h24v2H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/upgrade.ts b/packages/hiccup-carbon-icons/src/upgrade.ts index 4cf1947cfa..e0b9007977 100644 --- a/packages/hiccup-carbon-icons/src/upgrade.ts +++ b/packages/hiccup-carbon-icons/src/upgrade.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UPGRADE */ // prettier-ignore -export const UPGRADE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 24H11a2 2 0 00-2 2v2a2 2 0 002 2h10a2 2 0 002-2v-2a2 2 0 00-2-2zm0 4H11v-2h10zM28.707 14.293l-12-12a1 1 0 00-1.414 0l-12 12A1 1 0 004 16h5v4a2.002 2.002 0 002 2h10a2.003 2.003 0 002-2v-4h5a1 1 0 00.707-1.707zM21 14v6H11v-6H6.414L16 4.414 25.586 14z" }]]; +export const UPGRADE = svg( + ["path", { d: "M21 24H11a2 2 0 00-2 2v2a2 2 0 002 2h10a2 2 0 002-2v-2a2 2 0 00-2-2zm0 4H11v-2h10zM28.707 14.293l-12-12a1 1 0 00-1.414 0l-12 12A1 1 0 004 16h5v4a2.002 2.002 0 002 2h10a2.003 2.003 0 002-2v-4h5a1 1 0 00.707-1.707zM21 14v6H11v-6H6.414L16 4.414 25.586 14z" }] +); diff --git a/packages/hiccup-carbon-icons/src/upload.ts b/packages/hiccup-carbon-icons/src/upload.ts index ed36f108ea..882f3685a2 100644 --- a/packages/hiccup-carbon-icons/src/upload.ts +++ b/packages/hiccup-carbon-icons/src/upload.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UPLOAD */ // prettier-ignore -export const UPLOAD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 17l1.41 1.41L15 10.83V30h2V10.83l7.59 7.58L26 17 16 7 6 17z" }], - ["path", { d: "M6 8V4h20v4h2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v4z" }]]; +export const UPLOAD = svg( + ["path", { d: "M6 17l1.41 1.41L15 10.83V30h2V10.83l7.59 7.58L26 17 16 7 6 17z" }], + ["path", { d: "M6 8V4h20v4h2V4a2 2 0 00-2-2H6a2 2 0 00-2 2v4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/usb.ts b/packages/hiccup-carbon-icons/src/usb.ts index 7a574ecb9d..b265e81645 100644 --- a/packages/hiccup-carbon-icons/src/usb.ts +++ b/packages/hiccup-carbon-icons/src/usb.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USB */ // prettier-ignore -export const USB: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 15V6a2 2 0 00-2-2H10a2 2 0 00-2 2v9a2 2 0 00-2 2v11h2V17h16v11h2V17a2 2 0 00-2-2zM10 6h12v9H10z" }], - ["path", { d: "M12 10h3v2h-3zM17 10h3v2h-3z" }]]; +export const USB = svg( + ["path", { d: "M24 15V6a2 2 0 00-2-2H10a2 2 0 00-2 2v9a2 2 0 00-2 2v11h2V17h16v11h2V17a2 2 0 00-2-2zM10 6h12v9H10z" }], + ["path", { d: "M12 10h3v2h-3zM17 10h3v2h-3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-activity.ts b/packages/hiccup-carbon-icons/src/user-activity.ts index 72a2759fd4..222354f3d7 100644 --- a/packages/hiccup-carbon-icons/src/user-activity.ts +++ b/packages/hiccup-carbon-icons/src/user-activity.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_ACTIVITY */ // prettier-ignore -export const USER_ACTIVITY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 23h-.021a1.002 1.002 0 01-.94-.726L20.87 11.19l-1.935 5.16A1 1 0 0118 17h-4v-2h3.307l2.757-7.351a1 1 0 011.898.076l3.111 10.892 1.979-5.933A.999.999 0 0128 12h4v2h-3.28l-2.772 8.316A.998.998 0 0125 23zM15 30h-2v-7a3.003 3.003 0 00-3-3H6a3.003 3.003 0 00-3 3v7H1v-7a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM8 8a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }]]; +export const USER_ACTIVITY = svg( + ["path", { d: "M25 23h-.021a1.002 1.002 0 01-.94-.726L20.87 11.19l-1.935 5.16A1 1 0 0118 17h-4v-2h3.307l2.757-7.351a1 1 0 011.898.076l3.111 10.892 1.979-5.933A.999.999 0 0128 12h4v2h-3.28l-2.772 8.316A.998.998 0 0125 23zM15 30h-2v-7a3.003 3.003 0 00-3-3H6a3.003 3.003 0 00-3 3v7H1v-7a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM8 8a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-admin.ts b/packages/hiccup-carbon-icons/src/user-admin.ts index 44fedb9393..6c235e05a2 100644 --- a/packages/hiccup-carbon-icons/src/user-admin.ts +++ b/packages/hiccup-carbon-icons/src/user-admin.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_ADMIN */ // prettier-ignore -export const USER_ADMIN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM25 16.18l-2.59-2.59L21 15l4 4 7-7-1.41-1.41L25 16.18z" }]]; +export const USER_ADMIN = svg( + ["path", { d: "M12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM25 16.18l-2.59-2.59L21 15l4 4 7-7-1.41-1.41L25 16.18z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-avatar-filled-alt.ts b/packages/hiccup-carbon-icons/src/user-avatar-filled-alt.ts index d0a93d3f40..934e4ecc33 100644 --- a/packages/hiccup-carbon-icons/src/user-avatar-filled-alt.ts +++ b/packages/hiccup-carbon-icons/src/user-avatar-filled-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_AVATAR_FILLED_ALT */ // prettier-ignore -export const USER_AVATAR_FILLED_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm8 22.919v-.608A5.209 5.209 0 0019 19h-6a5.2 5.2 0 00-4.99 5.31c0 .011-.01.022-.01.033v.585a12.005 12.005 0 1116-.01z" }], - ["path", { d: "M16 7a5 5 0 105 5 5 5 0 00-5-5z" }]]; +export const USER_AVATAR_FILLED_ALT = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm8 22.919v-.608A5.209 5.209 0 0019 19h-6a5.2 5.2 0 00-4.99 5.31c0 .011-.01.022-.01.033v.585a12.005 12.005 0 1116-.01z" }], + ["path", { d: "M16 7a5 5 0 105 5 5 5 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-avatar-filled.ts b/packages/hiccup-carbon-icons/src/user-avatar-filled.ts index bfbdec19ad..316d5ddadb 100644 --- a/packages/hiccup-carbon-icons/src/user-avatar-filled.ts +++ b/packages/hiccup-carbon-icons/src/user-avatar-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_AVATAR_FILLED */ // prettier-ignore -export const USER_AVATAR_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 5a4.5 4.5 0 11-4.5 4.5A4.49 4.49 0 0116 7zm8 17.92a11.93 11.93 0 01-16 0v-.58A5.2 5.2 0 0113 19h6a5.21 5.21 0 015 5.31v.61z" }]]; +export const USER_AVATAR_FILLED = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 5a4.5 4.5 0 11-4.5 4.5A4.49 4.49 0 0116 7zm8 17.92a11.93 11.93 0 01-16 0v-.58A5.2 5.2 0 0113 19h6a5.21 5.21 0 015 5.31v.61z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-avatar.ts b/packages/hiccup-carbon-icons/src/user-avatar.ts index e5bbde7ac8..0a20b29c7c 100644 --- a/packages/hiccup-carbon-icons/src/user-avatar.ts +++ b/packages/hiccup-carbon-icons/src/user-avatar.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_AVATAR */ // prettier-ignore -export const USER_AVATAR: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-6 24.38v-2A3.22 3.22 0 0113 21h6a3.22 3.22 0 013 3.39v2a11.92 11.92 0 01-12 0zm14-1.46v-.61A5.21 5.21 0 0019 19h-6a5.2 5.2 0 00-5 5.31v.59a12 12 0 1116 0z" }], - ["path", { d: "M16 7a5 5 0 105 5 5 5 0 00-5-5zm0 8a3 3 0 113-3 3 3 0 01-3 3z" }]]; +export const USER_AVATAR = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm-6 24.38v-2A3.22 3.22 0 0113 21h6a3.22 3.22 0 013 3.39v2a11.92 11.92 0 01-12 0zm14-1.46v-.61A5.21 5.21 0 0019 19h-6a5.2 5.2 0 00-5 5.31v.59a12 12 0 1116 0z" }], + ["path", { d: "M16 7a5 5 0 105 5 5 5 0 00-5-5zm0 8a3 3 0 113-3 3 3 0 01-3 3z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-certification.ts b/packages/hiccup-carbon-icons/src/user-certification.ts index bd9b9b4e45..059fe9a917 100644 --- a/packages/hiccup-carbon-icons/src/user-certification.ts +++ b/packages/hiccup-carbon-icons/src/user-certification.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_CERTIFICATION */ // prettier-ignore -export const USER_CERTIFICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 10l1.593 3 3.407.414-2.5 2.253L28 19l-3-1.875L22 19l.5-3.333-2.5-2.253L23.5 13l1.5-3zM22 30h-2v-5a5.006 5.006 0 00-5-5H9a5.006 5.006 0 00-5 5v5H2v-5a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }]]; +export const USER_CERTIFICATION = svg( + ["path", { d: "M25 10l1.593 3 3.407.414-2.5 2.253L28 19l-3-1.875L22 19l.5-3.333-2.5-2.253L23.5 13l1.5-3zM22 30h-2v-5a5.006 5.006 0 00-5-5H9a5.006 5.006 0 00-5 5v5H2v-5a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-data.ts b/packages/hiccup-carbon-icons/src/user-data.ts index f6925c73bb..822b5eedf9 100644 --- a/packages/hiccup-carbon-icons/src/user-data.ts +++ b/packages/hiccup-carbon-icons/src/user-data.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_DATA */ // prettier-ignore -export const USER_DATA: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 8h2v8h-2zM23 5h2v11h-2zM18 10h2v6h-2zM16 30h-2v-6a3.003 3.003 0 00-3-3H7a3.003 3.003 0 00-3 3v6H2v-6a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM9 9a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }]]; +export const USER_DATA = svg( + ["path", { d: "M28 8h2v8h-2zM23 5h2v11h-2zM18 10h2v6h-2zM16 30h-2v-6a3.003 3.003 0 00-3-3H7a3.003 3.003 0 00-3 3v6H2v-6a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM9 9a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-favorite-alt-filled.ts b/packages/hiccup-carbon-icons/src/user-favorite-alt-filled.ts index 94c476912a..1ea0588ee2 100644 --- a/packages/hiccup-carbon-icons/src/user-favorite-alt-filled.ts +++ b/packages/hiccup-carbon-icons/src/user-favorite-alt-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_FAVORITE_ALT_FILLED */ // prettier-ignore -export const USER_FAVORITE_ALT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.494 3a3.474 3.474 0 00-2.48 1.04l-.511.522-.516-.523a3.48 3.48 0 00-4.96 0 3.59 3.59 0 000 5.025l5.476 5.543 5.472-5.543a3.59 3.59 0 000-5.025A3.474 3.474 0 0026.494 3zM16 30h-2v-5a3.003 3.003 0 00-3-3H7a3.003 3.003 0 00-3 3v5H2v-5a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM9 10a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }]]; +export const USER_FAVORITE_ALT_FILLED = svg( + ["path", { d: "M26.494 3a3.474 3.474 0 00-2.48 1.04l-.511.522-.516-.523a3.48 3.48 0 00-4.96 0 3.59 3.59 0 000 5.025l5.476 5.543 5.472-5.543a3.59 3.59 0 000-5.025A3.474 3.474 0 0026.494 3zM16 30h-2v-5a3.003 3.003 0 00-3-3H7a3.003 3.003 0 00-3 3v5H2v-5a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM9 10a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-favorite-alt.ts b/packages/hiccup-carbon-icons/src/user-favorite-alt.ts index 572e3edf99..0edad76c46 100644 --- a/packages/hiccup-carbon-icons/src/user-favorite-alt.ts +++ b/packages/hiccup-carbon-icons/src/user-favorite-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_FAVORITE_ALT */ // prettier-ignore -export const USER_FAVORITE_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.766 4.256A4.212 4.212 0 0023 4.032a4.212 4.212 0 00-5.766.224 4.319 4.319 0 000 6.044l5.764 5.84.002-.002.002.001 5.764-5.839a4.319 4.319 0 000-6.044zm-1.424 4.639l-4.34 4.397L23 13.29l-.002.002-4.34-4.397a2.308 2.308 0 010-3.234 2.264 2.264 0 013.156 0l1.181 1.207.005-.005.005.005 1.18-1.207a2.264 2.264 0 013.157 0 2.308 2.308 0 010 3.234zM16 30h-2v-5a3.003 3.003 0 00-3-3H7a3.003 3.003 0 00-3 3v5H2v-5a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM9 10a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }]]; +export const USER_FAVORITE_ALT = svg( + ["path", { d: "M28.766 4.256A4.212 4.212 0 0023 4.032a4.212 4.212 0 00-5.766.224 4.319 4.319 0 000 6.044l5.764 5.84.002-.002.002.001 5.764-5.839a4.319 4.319 0 000-6.044zm-1.424 4.639l-4.34 4.397L23 13.29l-.002.002-4.34-4.397a2.308 2.308 0 010-3.234 2.264 2.264 0 013.156 0l1.181 1.207.005-.005.005.005 1.18-1.207a2.264 2.264 0 013.157 0 2.308 2.308 0 010 3.234zM16 30h-2v-5a3.003 3.003 0 00-3-3H7a3.003 3.003 0 00-3 3v5H2v-5a5.006 5.006 0 015-5h4a5.006 5.006 0 015 5zM9 10a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5 5 5 0 00-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-favorite.ts b/packages/hiccup-carbon-icons/src/user-favorite.ts index 40f2a1e26b..2ab38d7331 100644 --- a/packages/hiccup-carbon-icons/src/user-favorite.ts +++ b/packages/hiccup-carbon-icons/src/user-favorite.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_FAVORITE */ // prettier-ignore -export const USER_FAVORITE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.303 12a2.662 2.662 0 00-1.908.806l-.393.405-.397-.405a2.662 2.662 0 00-3.816 0 2.8 2.8 0 000 3.896L25.002 21l4.209-4.298a2.8 2.8 0 000-3.896A2.662 2.662 0 0027.303 12zM2 30h2v-5a5.006 5.006 0 015-5h6a5.006 5.006 0 015 5v5h2v-5a7.008 7.008 0 00-7-7H9a7.008 7.008 0 00-7 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }]]; +export const USER_FAVORITE = svg( + ["path", { d: "M27.303 12a2.662 2.662 0 00-1.908.806l-.393.405-.397-.405a2.662 2.662 0 00-3.816 0 2.8 2.8 0 000 3.896L25.002 21l4.209-4.298a2.8 2.8 0 000-3.896A2.662 2.662 0 0027.303 12zM2 30h2v-5a5.006 5.006 0 015-5h6a5.006 5.006 0 015 5v5h2v-5a7.008 7.008 0 00-7-7H9a7.008 7.008 0 00-7 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-filled.ts b/packages/hiccup-carbon-icons/src/user-filled.ts index 6030829b6a..695908609f 100644 --- a/packages/hiccup-carbon-icons/src/user-filled.ts +++ b/packages/hiccup-carbon-icons/src/user-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_FILLED */ // prettier-ignore -export const USER_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M6 30h20v-5a7.008 7.008 0 00-7-7h-6a7.008 7.008 0 00-7 7zM9 9a7 7 0 107-7 7 7 0 00-7 7z" }]]; +export const USER_FILLED = svg( + ["path", { d: "M6 30h20v-5a7.008 7.008 0 00-7-7h-6a7.008 7.008 0 00-7 7zM9 9a7 7 0 107-7 7 7 0 00-7 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-follow.ts b/packages/hiccup-carbon-icons/src/user-follow.ts index 03fd67cc1c..d038d39752 100644 --- a/packages/hiccup-carbon-icons/src/user-follow.ts +++ b/packages/hiccup-carbon-icons/src/user-follow.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_FOLLOW */ // prettier-ignore -export const USER_FOLLOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M32 14h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7z" }]]; +export const USER_FOLLOW = svg( + ["path", { d: "M32 14h-4v-4h-2v4h-4v2h4v4h2v-4h4v-2zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-identification.ts b/packages/hiccup-carbon-icons/src/user-identification.ts index ed3ecde8be..c61fdd2f7a 100644 --- a/packages/hiccup-carbon-icons/src/user-identification.ts +++ b/packages/hiccup-carbon-icons/src/user-identification.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_IDENTIFICATION */ // prettier-ignore -export const USER_IDENTIFICATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 11h4a1 1 0 011 1v2h-6v-2a1 1 0 011-1z" }], - ["circle", - { - r: 2, - cy: 8, - cx: 24, - }], - ["path", { d: "M30 18H18a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.003 2.003 0 01-2 2zM18 4v12h12.001L30 4zM15 30h-2v-4a2.946 2.946 0 00-3-3H6a2.946 2.946 0 00-3 3v4H1v-4a4.951 4.951 0 015-5h4a4.951 4.951 0 015 5zM8 11a3 3 0 010 6 3 3 0 010-6m0-2a5 5 0 000 10A5 5 0 008 9z" }]]; +export const USER_IDENTIFICATION = svg( + ["path", { d: "M22 11h4a1 1 0 011 1v2h-6v-2a1 1 0 011-1z" }], + ["circle", + { + r: 2, + cy: 8, + cx: 24, + }], + ["path", { d: "M30 18H18a2.002 2.002 0 01-2-2V4a2.002 2.002 0 012-2h12a2.002 2.002 0 012 2v12a2.003 2.003 0 01-2 2zM18 4v12h12.001L30 4zM15 30h-2v-4a2.946 2.946 0 00-3-3H6a2.946 2.946 0 00-3 3v4H1v-4a4.951 4.951 0 015-5h4a4.951 4.951 0 015 5zM8 11a3 3 0 010 6 3 3 0 010-6m0-2a5 5 0 000 10A5 5 0 008 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-multiple.ts b/packages/hiccup-carbon-icons/src/user-multiple.ts index 225ac3c96d..142de09e70 100644 --- a/packages/hiccup-carbon-icons/src/user-multiple.ts +++ b/packages/hiccup-carbon-icons/src/user-multiple.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_MULTIPLE */ // prettier-ignore -export const USER_MULTIPLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30 30h-2v-5a5.006 5.006 0 00-5-5v-2a7.008 7.008 0 017 7zM22 30h-2v-5a5.006 5.006 0 00-5-5H9a5.006 5.006 0 00-5 5v5H2v-5a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM20 2v2a5 5 0 010 10v2a7 7 0 000-14zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }]]; +export const USER_MULTIPLE = svg( + ["path", { d: "M30 30h-2v-5a5.006 5.006 0 00-5-5v-2a7.008 7.008 0 017 7zM22 30h-2v-5a5.006 5.006 0 00-5-5H9a5.006 5.006 0 00-5 5v5H2v-5a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM20 2v2a5 5 0 010 10v2a7 7 0 000-14zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-online.ts b/packages/hiccup-carbon-icons/src/user-online.ts index df80a96b82..910075a18f 100644 --- a/packages/hiccup-carbon-icons/src/user-online.ts +++ b/packages/hiccup-carbon-icons/src/user-online.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_ONLINE */ // prettier-ignore -export const USER_ONLINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 4, - cy: 16, - cx: 26, - }], - ["path", { d: "M22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }]]; +export const USER_ONLINE = svg( + ["circle", + { + r: 4, + cy: 16, + cx: 26, + }], + ["path", { d: "M22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-profile-alt.ts b/packages/hiccup-carbon-icons/src/user-profile-alt.ts index 4e21c70840..7a3fb190d6 100644 --- a/packages/hiccup-carbon-icons/src/user-profile-alt.ts +++ b/packages/hiccup-carbon-icons/src/user-profile-alt.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_PROFILE_ALT */ // prettier-ignore -export const USER_PROFILE_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 13h7v2h-7zM19 8h11v2H19zM19 3h11v2H19zM11 30H7a2.006 2.006 0 01-2-2v-7a2.006 2.006 0 01-2-2v-6a2.946 2.946 0 013-3h6a2.946 2.946 0 013 3v6a2.006 2.006 0 01-2 2v7a2.006 2.006 0 01-2 2zM6 12a.945.945 0 00-1 1v6h2v9h4v-9h2v-6a.945.945 0 00-1-1zM9 9a4 4 0 114-4 4.012 4.012 0 01-4 4zm0-6a2 2 0 102 2 2.006 2.006 0 00-2-2z" }]]; +export const USER_PROFILE_ALT = svg( + ["path", { d: "M19 13h7v2h-7zM19 8h11v2H19zM19 3h11v2H19zM11 30H7a2.006 2.006 0 01-2-2v-7a2.006 2.006 0 01-2-2v-6a2.946 2.946 0 013-3h6a2.946 2.946 0 013 3v6a2.006 2.006 0 01-2 2v7a2.006 2.006 0 01-2 2zM6 12a.945.945 0 00-1 1v6h2v9h4v-9h2v-6a.945.945 0 00-1-1zM9 9a4 4 0 114-4 4.012 4.012 0 01-4 4zm0-6a2 2 0 102 2 2.006 2.006 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-profile.ts b/packages/hiccup-carbon-icons/src/user-profile.ts index 2341a6e999..64a1426216 100644 --- a/packages/hiccup-carbon-icons/src/user-profile.ts +++ b/packages/hiccup-carbon-icons/src/user-profile.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_PROFILE */ // prettier-ignore -export const USER_PROFILE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM22 4h10v2H22zM22 9h10v2H22zM22 14h7v2h-7z" }]]; +export const USER_PROFILE = svg( + ["path", { d: "M12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM22 4h10v2H22zM22 9h10v2H22zM22 14h7v2h-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-role.ts b/packages/hiccup-carbon-icons/src/user-role.ts index 5dd45286f8..82b0df5dbd 100644 --- a/packages/hiccup-carbon-icons/src/user-role.ts +++ b/packages/hiccup-carbon-icons/src/user-role.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_ROLE */ // prettier-ignore -export const USER_ROLE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28.07 21L22 15l6.07-6 1.43 1.41L24.86 15l4.64 4.59L28.07 21zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }]]; +export const USER_ROLE = svg( + ["path", { d: "M28.07 21L22 15l6.07-6 1.43 1.41L24.86 15l4.64 4.59L28.07 21zM22 30h-2v-5a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2v-5a7 7 0 017-7h6a7 7 0 017 7zM12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-simulation.ts b/packages/hiccup-carbon-icons/src/user-simulation.ts index 54063ef64a..063e1e5f56 100644 --- a/packages/hiccup-carbon-icons/src/user-simulation.ts +++ b/packages/hiccup-carbon-icons/src/user-simulation.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_SIMULATION */ // prettier-ignore -export const USER_SIMULATION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 12l3.464 2-1 1.732-3.464-2zM26 8h4v2h-4zM7 13.732l-3.464 2-1-1.732L6 12zM26 30h-2v-5a5.006 5.006 0 00-5-5h-6a5.006 5.006 0 00-5 5v5H6v-5a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM16 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM25 4.268l3.464-2 1 1.732L26 6zM2 8h4v2H2zM6 6L2.536 4l1-1.732 3.464 2z" }]]; +export const USER_SIMULATION = svg( + ["path", { d: "M26 12l3.464 2-1 1.732-3.464-2zM26 8h4v2h-4zM7 13.732l-3.464 2-1-1.732L6 12zM26 30h-2v-5a5.006 5.006 0 00-5-5h-6a5.006 5.006 0 00-5 5v5H6v-5a7.008 7.008 0 017-7h6a7.008 7.008 0 017 7zM16 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM25 4.268l3.464-2 1 1.732L26 6zM2 8h4v2H2zM6 6L2.536 4l1-1.732 3.464 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-speaker.ts b/packages/hiccup-carbon-icons/src/user-speaker.ts index f17df5a635..6c772ec382 100644 --- a/packages/hiccup-carbon-icons/src/user-speaker.ts +++ b/packages/hiccup-carbon-icons/src/user-speaker.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_SPEAKER */ // prettier-ignore -export const USER_SPEAKER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.415 19L27.7 17.285A2.97 2.97 0 0028 16a3 3 0 10-3 3 2.97 2.97 0 001.286-.3L28 20.414V28h-6v-3a7.008 7.008 0 00-7-7H9a7.008 7.008 0 00-7 7v5h28v-9.586A1.988 1.988 0 0029.415 19zM4 25a5.006 5.006 0 015-5h6a5.006 5.006 0 015 5v3H4z" }], - ["path", { d: "M12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }]]; +export const USER_SPEAKER = svg( + ["path", { d: "M29.415 19L27.7 17.285A2.97 2.97 0 0028 16a3 3 0 10-3 3 2.97 2.97 0 001.286-.3L28 20.414V28h-6v-3a7.008 7.008 0 00-7-7H9a7.008 7.008 0 00-7 7v5h28v-9.586A1.988 1.988 0 0029.415 19zM4 25a5.006 5.006 0 015-5h6a5.006 5.006 0 015 5v3H4z" }], + ["path", { d: "M12 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user-x-ray.ts b/packages/hiccup-carbon-icons/src/user-x-ray.ts index b131712f44..73a7b2b5d8 100644 --- a/packages/hiccup-carbon-icons/src/user-x-ray.ts +++ b/packages/hiccup-carbon-icons/src/user-x-ray.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER_X_RAY */ // prettier-ignore -export const USER_X_RAY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M31 3H17a1 1 0 00-1 1v13a1 1 0 001 1h14a1 1 0 001-1V4a1 1 0 00-1-1zm-3 6h-3v3h3v2h-3v2h-2v-2h-3v-2h3V9h-3V7h3V5h2v2h3zM15 30h-2v-4a2.946 2.946 0 00-3-3H6a2.946 2.946 0 00-3 3v4H1v-4a4.951 4.951 0 015-5h4a4.951 4.951 0 015 5zM8 11a3 3 0 010 6 3 3 0 010-6m0-2a5 5 0 000 10A5 5 0 008 9z" }]]; +export const USER_X_RAY = svg( + ["path", { d: "M31 3H17a1 1 0 00-1 1v13a1 1 0 001 1h14a1 1 0 001-1V4a1 1 0 00-1-1zm-3 6h-3v3h3v2h-3v2h-2v-2h-3v-2h3V9h-3V7h3V5h2v2h3zM15 30h-2v-4a2.946 2.946 0 00-3-3H6a2.946 2.946 0 00-3 3v4H1v-4a4.951 4.951 0 015-5h4a4.951 4.951 0 015 5zM8 11a3 3 0 010 6 3 3 0 010-6m0-2a5 5 0 000 10A5 5 0 008 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/user.ts b/packages/hiccup-carbon-icons/src/user.ts index 1aa5996dde..48a54cda25 100644 --- a/packages/hiccup-carbon-icons/src/user.ts +++ b/packages/hiccup-carbon-icons/src/user.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#USER */ // prettier-ignore -export const USER: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM26 30h-2v-5a5 5 0 00-5-5h-6a5 5 0 00-5 5v5H6v-5a7 7 0 017-7h6a7 7 0 017 7z" }]]; +export const USER = svg( + ["path", { d: "M16 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7 7 7 0 00-7-7zM26 30h-2v-5a5 5 0 00-5-5h-6a5 5 0 00-5 5v5H6v-5a7 7 0 017-7h6a7 7 0 017 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/utils/with-size.ts b/packages/hiccup-carbon-icons/src/utils/with-size.ts index cfe29c53a5..f2e08a4d04 100644 --- a/packages/hiccup-carbon-icons/src/utils/with-size.ts +++ b/packages/hiccup-carbon-icons/src/utils/with-size.ts @@ -1,5 +1,28 @@ -export const withSize = (icon: any[], size: string) => [ +const ensureString = (x: number | string) => + typeof x === "string" ? x : x + "px"; + +/** + * Returns shallow copy of `icon` with `width` & `height` attribs set to given + * value(s). If either is given a number, it will be interpreted as `px` + * (pixels). If no `height` is given, `width` is used. Additional attribs can be + * provided via optional `attribs`. + * + * @param icon + * @param width + * @param height + */ +export const withSize = ( + icon: any[], + width: number | string, + height = width, + attribs?: any +) => [ icon[0], - { ...icon[1], width: size, height: size }, + { + ...icon[1], + width: ensureString(width), + height: ensureString(height), + ...attribs, + }, ...icon.slice(2), ]; diff --git a/packages/hiccup-carbon-icons/src/uv-index-filled.ts b/packages/hiccup-carbon-icons/src/uv-index-filled.ts index a3c143622f..ccabce8637 100644 --- a/packages/hiccup-carbon-icons/src/uv-index-filled.ts +++ b/packages/hiccup-carbon-icons/src/uv-index-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UV_INDEX_FILLED */ // prettier-ignore -export const UV_INDEX_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 30l-3.463-5.822L6 26l1.822-6.537L2 16l5.822-3.463L6 6l6.537 1.822L16 2l3.463 5.822L26 6l-1.822 6.537L30 16l-5.822 3.463L26 26l-6.537-1.822z" }]]; +export const UV_INDEX_FILLED = svg( + ["path", { d: "M16 30l-3.463-5.822L6 26l1.822-6.537L2 16l5.822-3.463L6 6l6.537 1.822L16 2l3.463 5.822L26 6l-1.822 6.537L30 16l-5.822 3.463L26 26l-6.537-1.822z" }] +); diff --git a/packages/hiccup-carbon-icons/src/uv-index.ts b/packages/hiccup-carbon-icons/src/uv-index.ts index 407df9c0d2..a0176ffa17 100644 --- a/packages/hiccup-carbon-icons/src/uv-index.ts +++ b/packages/hiccup-carbon-icons/src/uv-index.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#UV_INDEX */ // prettier-ignore -export const UV_INDEX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 5.912l1.744 2.933.783 1.315L20 9.749l3.121-.87-.87 3.121-.411 1.473 1.315.782L26.088 16l-2.933 1.744-1.315.782.411 1.474.87 3.121-3.12-.87-1.474-.411-.783 1.315L16 26.088l-1.744-2.933-.783-1.315-1.473.411-3.12.87L9.748 20l.41-1.474-1.314-.782L5.912 16l2.933-1.745 1.315-.782L9.749 12l-.87-3.12L12 9.748l1.474.41.782-1.314L16 5.912M16 2l-3.463 5.822L6 6l1.822 6.537L2 16l5.822 3.463L6 26l6.537-1.822L16 30l3.463-5.822L26 26l-1.822-6.537L30 16l-5.822-3.463L26 6l-6.537 1.822L16 2z" }]]; +export const UV_INDEX = svg( + ["path", { d: "M16 5.912l1.744 2.933.783 1.315L20 9.749l3.121-.87-.87 3.121-.411 1.473 1.315.782L26.088 16l-2.933 1.744-1.315.782.411 1.474.87 3.121-3.12-.87-1.474-.411-.783 1.315L16 26.088l-1.744-2.933-.783-1.315-1.473.411-3.12.87L9.748 20l.41-1.474-1.314-.782L5.912 16l2.933-1.745 1.315-.782L9.749 12l-.87-3.12L12 9.748l1.474.41.782-1.314L16 5.912M16 2l-3.463 5.822L6 6l1.822 6.537L2 16l5.822 3.463L6 26l6.537-1.822L16 30l3.463-5.822L26 26l-1.822-6.537L30 16l-5.822-3.463L26 6l-6.537 1.822L16 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/van.ts b/packages/hiccup-carbon-icons/src/van.ts index 8917af8c2d..b93670ce7f 100644 --- a/packages/hiccup-carbon-icons/src/van.ts +++ b/packages/hiccup-carbon-icons/src/van.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VAN */ // prettier-ignore -export const VAN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.81 16l-7-9.56A1 1 0 0022 6H3a1 1 0 00-1 1v17a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7.44a1 1 0 00-.19-.56zM20 8h1.49l5.13 7H20zM9 26a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4V8h14v9h10z" }]]; +export const VAN = svg( + ["path", { d: "M29.81 16l-7-9.56A1 1 0 0022 6H3a1 1 0 00-1 1v17a1 1 0 001 1h2.14a4 4 0 007.72 0h6.28a4 4 0 007.72 0H29a1 1 0 001-1v-7.44a1 1 0 00-.19-.56zM20 8h1.49l5.13 7H20zM9 26a2 2 0 112-2 2 2 0 01-2 2zm14 0a2 2 0 112-2 2 2 0 01-2 2zm5-3h-1.14a4 4 0 00-7.72 0h-6.28a4 4 0 00-7.72 0H4V8h14v9h10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/video-add.ts b/packages/hiccup-carbon-icons/src/video-add.ts index f8a4b8dfd4..e8ad40986f 100644 --- a/packages/hiccup-carbon-icons/src/video-add.ts +++ b/packages/hiccup-carbon-icons/src/video-add.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIDEO_ADD */ // prettier-ignore -export const VIDEO_ADD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 15h-4v-4h-2v4H8v2h4v4h2v-4h4v-2z" }], - ["path", { d: "M21 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h17a2.002 2.002 0 012 2v4.057l5.419-3.87A1 1 0 0130 9v14a1 1 0 01-1.581.814L23 19.944V24a2.002 2.002 0 01-2 2zM4 8v16.001L21 24v-6a1 1 0 011.581-.814L28 21.056V10.944l-5.419 3.87A1 1 0 0121 14V8z" }]]; +export const VIDEO_ADD = svg( + ["path", { d: "M18 15h-4v-4h-2v4H8v2h4v4h2v-4h4v-2z" }], + ["path", { d: "M21 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h17a2.002 2.002 0 012 2v4.057l5.419-3.87A1 1 0 0130 9v14a1 1 0 01-1.581.814L23 19.944V24a2.002 2.002 0 01-2 2zM4 8v16.001L21 24v-6a1 1 0 011.581-.814L28 21.056V10.944l-5.419 3.87A1 1 0 0121 14V8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/video-chat.ts b/packages/hiccup-carbon-icons/src/video-chat.ts index 12b8712680..b54b0566de 100644 --- a/packages/hiccup-carbon-icons/src/video-chat.ts +++ b/packages/hiccup-carbon-icons/src/video-chat.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIDEO_CHAT */ // prettier-ignore -export const VIDEO_CHAT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 12h9v2H8zM8 17h5v2H8z" }], - ["path", { d: "M21 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h17a2.002 2.002 0 012 2v4.057l5.419-3.87A1 1 0 0130 9v14a1 1 0 01-1.581.814L23 19.944V24a2.002 2.002 0 01-2 2zM4 8v16.001L21 24v-6a1 1 0 011.581-.814L28 21.056V10.944l-5.419 3.87A1 1 0 0121 14V8z" }]]; +export const VIDEO_CHAT = svg( + ["path", { d: "M8 12h9v2H8zM8 17h5v2H8z" }], + ["path", { d: "M21 26H4a2.002 2.002 0 01-2-2V8a2.002 2.002 0 012-2h17a2.002 2.002 0 012 2v4.057l5.419-3.87A1 1 0 0130 9v14a1 1 0 01-1.581.814L23 19.944V24a2.002 2.002 0 01-2 2zM4 8v16.001L21 24v-6a1 1 0 011.581-.814L28 21.056V10.944l-5.419 3.87A1 1 0 0121 14V8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/video-filled.ts b/packages/hiccup-carbon-icons/src/video-filled.ts index fa438f088d..9485320a15 100644 --- a/packages/hiccup-carbon-icons/src/video-filled.ts +++ b/packages/hiccup-carbon-icons/src/video-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIDEO_FILLED */ // prettier-ignore -export const VIDEO_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 26H4a2 2 0 01-2-2V8a2 2 0 012-2h17a2 2 0 012 2v4.06l5.42-3.87A1 1 0 0130 9v14a1 1 0 01-1.58.81L23 19.94V24a2 2 0 01-2 2z" }]]; +export const VIDEO_FILLED = svg( + ["path", { d: "M21 26H4a2 2 0 01-2-2V8a2 2 0 012-2h17a2 2 0 012 2v4.06l5.42-3.87A1 1 0 0130 9v14a1 1 0 01-1.58.81L23 19.94V24a2 2 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/video-off-filled.ts b/packages/hiccup-carbon-icons/src/video-off-filled.ts index d24e0617f5..b2ba406eff 100644 --- a/packages/hiccup-carbon-icons/src/video-off-filled.ts +++ b/packages/hiccup-carbon-icons/src/video-off-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIDEO_OFF_FILLED */ // prettier-ignore -export const VIDEO_OFF_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20.31 6H4a2 2 0 00-2 2v16a2.85 2.85 0 000 .29zM29.46 8.11a1 1 0 00-1 .08L23 12.06v-1.62l7-7L28.56 2 2 28.56 3.44 30l4-4H21a2 2 0 002-2v-4.06l5.42 3.87A1 1 0 0030 23V9a1 1 0 00-.54-.89z" }]]; +export const VIDEO_OFF_FILLED = svg( + ["path", { d: "M20.31 6H4a2 2 0 00-2 2v16a2.85 2.85 0 000 .29zM29.46 8.11a1 1 0 00-1 .08L23 12.06v-1.62l7-7L28.56 2 2 28.56 3.44 30l4-4H21a2 2 0 002-2v-4.06l5.42 3.87A1 1 0 0030 23V9a1 1 0 00-.54-.89z" }] +); diff --git a/packages/hiccup-carbon-icons/src/video-off.ts b/packages/hiccup-carbon-icons/src/video-off.ts index 239a490ef5..28d739c5b5 100644 --- a/packages/hiccup-carbon-icons/src/video-off.ts +++ b/packages/hiccup-carbon-icons/src/video-off.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIDEO_OFF */ // prettier-ignore -export const VIDEO_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.46 8.11a1 1 0 00-1 .08L23 12.06v-1.62l7-7L28.56 2 2 28.56 3.44 30l4-4H21a2 2 0 002-2v-4.06l5.42 3.87A1 1 0 0030 23V9a1 1 0 00-.54-.89zM28 21.06l-5.42-3.87A1 1 0 0021 18v6H9.44L21 12.44V14a1 1 0 001.58.81L28 10.94zM4 24V8h16V6H4a2 2 0 00-2 2v16z" }]]; +export const VIDEO_OFF = svg( + ["path", { d: "M29.46 8.11a1 1 0 00-1 .08L23 12.06v-1.62l7-7L28.56 2 2 28.56 3.44 30l4-4H21a2 2 0 002-2v-4.06l5.42 3.87A1 1 0 0030 23V9a1 1 0 00-.54-.89zM28 21.06l-5.42-3.87A1 1 0 0021 18v6H9.44L21 12.44V14a1 1 0 001.58.81L28 10.94zM4 24V8h16V6H4a2 2 0 00-2 2v16z" }] +); diff --git a/packages/hiccup-carbon-icons/src/video.ts b/packages/hiccup-carbon-icons/src/video.ts index 58d0148afa..0527e1558a 100644 --- a/packages/hiccup-carbon-icons/src/video.ts +++ b/packages/hiccup-carbon-icons/src/video.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIDEO */ // prettier-ignore -export const VIDEO: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 26H4a2 2 0 01-2-2V8a2 2 0 012-2h17a2 2 0 012 2v4.06l5.42-3.87A1 1 0 0130 9v14a1 1 0 01-1.58.81L23 19.94V24a2 2 0 01-2 2zM4 8v16h17v-6a1 1 0 011.58-.81L28 21.06V10.94l-5.42 3.87A1 1 0 0121 14V8z" }]]; +export const VIDEO = svg( + ["path", { d: "M21 26H4a2 2 0 01-2-2V8a2 2 0 012-2h17a2 2 0 012 2v4.06l5.42-3.87A1 1 0 0130 9v14a1 1 0 01-1.58.81L23 19.94V24a2 2 0 01-2 2zM4 8v16h17v-6a1 1 0 011.58-.81L28 21.06V10.94l-5.42 3.87A1 1 0 0121 14V8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/view-filled.ts b/packages/hiccup-carbon-icons/src/view-filled.ts index d022dc6840..f520609087 100644 --- a/packages/hiccup-carbon-icons/src/view-filled.ts +++ b/packages/hiccup-carbon-icons/src/view-filled.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIEW_FILLED */ // prettier-ignore -export const VIEW_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 4, - cy: 16, - cx: 16, - }], - ["path", { d: "M30.94 15.66A16.69 16.69 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68A16.69 16.69 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM16 22.5a6.5 6.5 0 116.5-6.5 6.51 6.51 0 01-6.5 6.5z" }]]; +export const VIEW_FILLED = svg( + ["circle", + { + r: 4, + cy: 16, + cx: 16, + }], + ["path", { d: "M30.94 15.66A16.69 16.69 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68A16.69 16.69 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM16 22.5a6.5 6.5 0 116.5-6.5 6.51 6.51 0 01-6.5 6.5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/view-mode-1.ts b/packages/hiccup-carbon-icons/src/view-mode-1.ts index 680e308e6e..608243d3cb 100644 --- a/packages/hiccup-carbon-icons/src/view-mode-1.ts +++ b/packages/hiccup-carbon-icons/src/view-mode-1.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIEW_MODE_1 */ // prettier-ignore -export const VIEW_MODE_1: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 26h24v2H4zM4 19h24v2H4zM26 6v6H6V6h20m0-2H6a2 2 0 00-2 2v6a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2z" }]]; +export const VIEW_MODE_1 = svg( + ["path", { d: "M4 26h24v2H4zM4 19h24v2H4zM26 6v6H6V6h20m0-2H6a2 2 0 00-2 2v6a2 2 0 002 2h20a2 2 0 002-2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/view-mode-2.ts b/packages/hiccup-carbon-icons/src/view-mode-2.ts index 2f8fba24d2..9830bcd67d 100644 --- a/packages/hiccup-carbon-icons/src/view-mode-2.ts +++ b/packages/hiccup-carbon-icons/src/view-mode-2.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIEW_MODE_2 */ // prettier-ignore -export const VIEW_MODE_2: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 26h24v2H4zM4 19h24v2H4zM12 6v6H6V6h6m0-2H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2zM26 6v6h-6V6h6m0-2h-6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2z" }]]; +export const VIEW_MODE_2 = svg( + ["path", { d: "M4 26h24v2H4zM4 19h24v2H4zM12 6v6H6V6h6m0-2H6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2zM26 6v6h-6V6h6m0-2h-6a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/view-off-filled.ts b/packages/hiccup-carbon-icons/src/view-off-filled.ts index 26c1b7ec64..0e6aae4763 100644 --- a/packages/hiccup-carbon-icons/src/view-off-filled.ts +++ b/packages/hiccup-carbon-icons/src/view-off-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIEW_OFF_FILLED */ // prettier-ignore -export const VIEW_OFF_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30.94 15.66a16.4 16.4 0 00-5.73-7.45L30 3.41 28.59 2 2 28.59 3.41 30l5.1-5.09A15.38 15.38 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM16 22.5a6.46 6.46 0 01-3.83-1.26L14 19.43A4 4 0 0019.43 14l1.81-1.81A6.49 6.49 0 0116 22.5zM4.53 21.81l5-5A6.84 6.84 0 019.5 16 6.51 6.51 0 0116 9.5a6.84 6.84 0 01.79.05l3.78-3.77A14.39 14.39 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68 15.86 15.86 0 003.47 5.47z" }]]; +export const VIEW_OFF_FILLED = svg( + ["path", { d: "M30.94 15.66a16.4 16.4 0 00-5.73-7.45L30 3.41 28.59 2 2 28.59 3.41 30l5.1-5.09A15.38 15.38 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM16 22.5a6.46 6.46 0 01-3.83-1.26L14 19.43A4 4 0 0019.43 14l1.81-1.81A6.49 6.49 0 0116 22.5zM4.53 21.81l5-5A6.84 6.84 0 019.5 16 6.51 6.51 0 0116 9.5a6.84 6.84 0 01.79.05l3.78-3.77A14.39 14.39 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68 15.86 15.86 0 003.47 5.47z" }] +); diff --git a/packages/hiccup-carbon-icons/src/view-off.ts b/packages/hiccup-carbon-icons/src/view-off.ts index c02b9052b6..46e118ff28 100644 --- a/packages/hiccup-carbon-icons/src/view-off.ts +++ b/packages/hiccup-carbon-icons/src/view-off.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIEW_OFF */ // prettier-ignore -export const VIEW_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M5.24 22.51l1.43-1.42A14.06 14.06 0 013.07 16C5.1 10.93 10.7 7 16 7a12.38 12.38 0 014 .72l1.55-1.56A14.72 14.72 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68 16 16 0 004.18 6.17z" }], - ["path", { d: "M12 15.73a4 4 0 013.7-3.7l1.81-1.82a6 6 0 00-7.33 7.33zM30.94 15.66a16.4 16.4 0 00-5.74-7.44L30 3.41 28.59 2 2 28.59 3.41 30l5.1-5.1A15.29 15.29 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM20 16a4 4 0 01-6 3.44L19.44 14a4 4 0 01.56 2zm-4 9a13.05 13.05 0 01-6-1.58l2.54-2.54a6 6 0 008.35-8.35l2.87-2.87A14.54 14.54 0 0128.93 16C26.9 21.07 21.3 25 16 25z" }]]; +export const VIEW_OFF = svg( + ["path", { d: "M5.24 22.51l1.43-1.42A14.06 14.06 0 013.07 16C5.1 10.93 10.7 7 16 7a12.38 12.38 0 014 .72l1.55-1.56A14.72 14.72 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68 16 16 0 004.18 6.17z" }], + ["path", { d: "M12 15.73a4 4 0 013.7-3.7l1.81-1.82a6 6 0 00-7.33 7.33zM30.94 15.66a16.4 16.4 0 00-5.74-7.44L30 3.41 28.59 2 2 28.59 3.41 30l5.1-5.1A15.29 15.29 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM20 16a4 4 0 01-6 3.44L19.44 14a4 4 0 01.56 2zm-4 9a13.05 13.05 0 01-6-1.58l2.54-2.54a6 6 0 008.35-8.35l2.87-2.87A14.54 14.54 0 0128.93 16C26.9 21.07 21.3 25 16 25z" }] +); diff --git a/packages/hiccup-carbon-icons/src/view.ts b/packages/hiccup-carbon-icons/src/view.ts index d49dcdf0ac..7ad52c2e81 100644 --- a/packages/hiccup-carbon-icons/src/view.ts +++ b/packages/hiccup-carbon-icons/src/view.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIEW */ // prettier-ignore -export const VIEW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M30.94 15.66A16.69 16.69 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68A16.69 16.69 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM16 25c-5.3 0-10.9-3.93-12.93-9C5.1 10.93 10.7 7 16 7s10.9 3.93 12.93 9C26.9 21.07 21.3 25 16 25z" }], - ["path", { d: "M16 10a6 6 0 106 6 6 6 0 00-6-6zm0 10a4 4 0 114-4 4 4 0 01-4 4z" }]]; +export const VIEW = svg( + ["path", { d: "M30.94 15.66A16.69 16.69 0 0016 5 16.69 16.69 0 001.06 15.66a1 1 0 000 .68A16.69 16.69 0 0016 27a16.69 16.69 0 0014.94-10.66 1 1 0 000-.68zM16 25c-5.3 0-10.9-3.93-12.93-9C5.1 10.93 10.7 7 16 7s10.9 3.93 12.93 9C26.9 21.07 21.3 25 16 25z" }], + ["path", { d: "M16 10a6 6 0 106 6 6 6 0 00-6-6zm0 10a4 4 0 114-4 4 4 0 01-4 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/virtual-column-key.ts b/packages/hiccup-carbon-icons/src/virtual-column-key.ts index 0c79bd1603..a2adc17a49 100644 --- a/packages/hiccup-carbon-icons/src/virtual-column-key.ts +++ b/packages/hiccup-carbon-icons/src/virtual-column-key.ts @@ -1,14 +1,16 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIRTUAL_COLUMN_KEY */ // prettier-ignore -export const VIRTUAL_COLUMN_KEY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.5, - cy: 9.5, - cx: 24.5, - }], - ["path", { d: "M17.414 22H12v-5.414l6.03-6.03A5.352 5.352 0 0118 10a6 6 0 116 6 5.358 5.358 0 01-.556-.03zM14 20h2.586l6.17-6.17.518.095A3.935 3.935 0 0024 14a4.05 4.05 0 10-3.925-3.273l.095.517-6.17 6.17z" }], - ["path", { d: "M28 18v8H10V6h4V4H4a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2v-8zM4 6h4v20H4z" }]]; +export const VIRTUAL_COLUMN_KEY = svg( + ["circle", + { + r: 1.5, + cy: 9.5, + cx: 24.5, + }], + ["path", { d: "M17.414 22H12v-5.414l6.03-6.03A5.352 5.352 0 0118 10a6 6 0 116 6 5.358 5.358 0 01-.556-.03zM14 20h2.586l6.17-6.17.518.095A3.935 3.935 0 0024 14a4.05 4.05 0 10-3.925-3.273l.095.517-6.17 6.17z" }], + ["path", { d: "M28 18v8H10V6h4V4H4a2.002 2.002 0 00-2 2v20a2.002 2.002 0 002 2h24a2.002 2.002 0 002-2v-8zM4 6h4v20H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/virtual-column.ts b/packages/hiccup-carbon-icons/src/virtual-column.ts index 8ebd855d88..bd6d2d9433 100644 --- a/packages/hiccup-carbon-icons/src/virtual-column.ts +++ b/packages/hiccup-carbon-icons/src/virtual-column.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIRTUAL_COLUMN */ // prettier-ignore -export const VIRTUAL_COLUMN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 11l1.414 1.414L23.828 15H30v2h-6.172l2.586 2.586L25 21l-5-5 5-5z" }], - ["path", { d: "M30 28H20a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h10v2H20v20h10zM12 28H2v-2h10V6H2V4h10a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2z" }], - ["path", { d: "M7 11l-1.414 1.414L8.172 15H2v2h6.172l-2.586 2.586L7 21l5-5-5-5z" }]]; +export const VIRTUAL_COLUMN = svg( + ["path", { d: "M25 11l1.414 1.414L23.828 15H30v2h-6.172l2.586 2.586L25 21l-5-5 5-5z" }], + ["path", { d: "M30 28H20a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h10v2H20v20h10zM12 28H2v-2h10V6H2V4h10a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2z" }], + ["path", { d: "M7 11l-1.414 1.414L8.172 15H2v2h6.172l-2.586 2.586L7 21l5-5-5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/virtual-machine.ts b/packages/hiccup-carbon-icons/src/virtual-machine.ts index 9ab5e5835b..3dad007a98 100644 --- a/packages/hiccup-carbon-icons/src/virtual-machine.ts +++ b/packages/hiccup-carbon-icons/src/virtual-machine.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIRTUAL_MACHINE */ // prettier-ignore -export const VIRTUAL_MACHINE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 13h-8a2.002 2.002 0 00-2 2v13a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2V15a2.002 2.002 0 00-2-2zm0 2v3h-8v-3zm0 5v3h-8v-3zm-8 8v-3h8v3z" }], - ["path", { d: "M25.91 10.13a.121.121 0 01-.097-.095 10.006 10.006 0 00-7.923-7.853 10.002 10.002 0 00-11.704 7.853.121.121 0 01-.097.095A7.502 7.502 0 007.491 25H8v-2h-.505a5.51 5.51 0 01-5.438-6.3 5.7 5.7 0 014.713-4.66l1.017-.184a.13.13 0 00.105-.104l.18-.935a8.28 8.28 0 016.847-6.743 7.957 7.957 0 012.847.125 8.22 8.22 0 016.147 6.545l.194 1.008a.13.13 0 00.105.104l1.057.191a5.782 5.782 0 013.101 1.54A5.505 5.505 0 0124.508 23H24v2h.508a7.502 7.502 0 001.402-14.87z" }]]; +export const VIRTUAL_MACHINE = svg( + ["path", { d: "M20 13h-8a2.002 2.002 0 00-2 2v13a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2V15a2.002 2.002 0 00-2-2zm0 2v3h-8v-3zm0 5v3h-8v-3zm-8 8v-3h8v3z" }], + ["path", { d: "M25.91 10.13a.121.121 0 01-.097-.095 10.006 10.006 0 00-7.923-7.853 10.002 10.002 0 00-11.704 7.853.121.121 0 01-.097.095A7.502 7.502 0 007.491 25H8v-2h-.505a5.51 5.51 0 01-5.438-6.3 5.7 5.7 0 014.713-4.66l1.017-.184a.13.13 0 00.105-.104l.18-.935a8.28 8.28 0 016.847-6.743 7.957 7.957 0 012.847.125 8.22 8.22 0 016.147 6.545l.194 1.008a.13.13 0 00.105.104l1.057.191a5.782 5.782 0 013.101 1.54A5.505 5.505 0 0124.508 23H24v2h.508a7.502 7.502 0 001.402-14.87z" }] +); diff --git a/packages/hiccup-carbon-icons/src/virtual-private-cloud-alt.ts b/packages/hiccup-carbon-icons/src/virtual-private-cloud-alt.ts index 5bc3397e46..e7816ec7f6 100644 --- a/packages/hiccup-carbon-icons/src/virtual-private-cloud-alt.ts +++ b/packages/hiccup-carbon-icons/src/virtual-private-cloud-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIRTUAL_PRIVATE_CLOUD_ALT */ // prettier-ignore -export const VIRTUAL_PRIVATE_CLOUD_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23.414 22L10 8.586V2H2v8h6.586L22 23.414V30h8v-8zM8 8H4V4h4zm20 20h-4v-4h4z" }], - ["path", { d: "M30 6a3.991 3.991 0 00-7.858-1H13v2h9.142A3.994 3.994 0 0025 9.858V19h2V9.858A3.996 3.996 0 0030 6zm-4 2a2 2 0 112-2 2.002 2.002 0 01-2 2zM19 25H9.858A3.994 3.994 0 007 22.142V13H5v9.142A3.991 3.991 0 109.858 27H19zM6 28a2 2 0 112-2 2.002 2.002 0 01-2 2z" }]]; +export const VIRTUAL_PRIVATE_CLOUD_ALT = svg( + ["path", { d: "M23.414 22L10 8.586V2H2v8h6.586L22 23.414V30h8v-8zM8 8H4V4h4zm20 20h-4v-4h4z" }], + ["path", { d: "M30 6a3.991 3.991 0 00-7.858-1H13v2h9.142A3.994 3.994 0 0025 9.858V19h2V9.858A3.996 3.996 0 0030 6zm-4 2a2 2 0 112-2 2.002 2.002 0 01-2 2zM19 25H9.858A3.994 3.994 0 007 22.142V13H5v9.142A3.991 3.991 0 109.858 27H19zM6 28a2 2 0 112-2 2.002 2.002 0 01-2 2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/virtual-private-cloud.ts b/packages/hiccup-carbon-icons/src/virtual-private-cloud.ts index db9f2a8c1a..0097523e52 100644 --- a/packages/hiccup-carbon-icons/src/virtual-private-cloud.ts +++ b/packages/hiccup-carbon-icons/src/virtual-private-cloud.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VIRTUAL_PRIVATE_CLOUD */ // prettier-ignore -export const VIRTUAL_PRIVATE_CLOUD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M20 20v-3a4 4 0 00-8 0v3a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2zm-6-3a2 2 0 014 0v3h-4zm-2 11v-6h8l.001 6z" }], - ["path", { d: "M25.829 10.115a10.007 10.007 0 00-7.939-7.933 10.002 10.002 0 00-11.72 7.933A7.502 7.502 0 007.491 25H8v-2h-.505a5.502 5.502 0 01-.97-10.916l1.35-.245.259-1.345a8.01 8.01 0 0115.731 0l.259 1.345 1.349.245A5.502 5.502 0 0124.508 23H24v2h.508a7.502 7.502 0 001.32-14.885z" }]]; +export const VIRTUAL_PRIVATE_CLOUD = svg( + ["path", { d: "M20 20v-3a4 4 0 00-8 0v3a2.002 2.002 0 00-2 2v6a2.002 2.002 0 002 2h8a2.002 2.002 0 002-2v-6a2.002 2.002 0 00-2-2zm-6-3a2 2 0 014 0v3h-4zm-2 11v-6h8l.001 6z" }], + ["path", { d: "M25.829 10.115a10.007 10.007 0 00-7.939-7.933 10.002 10.002 0 00-11.72 7.933A7.502 7.502 0 007.491 25H8v-2h-.505a5.502 5.502 0 01-.97-10.916l1.35-.245.259-1.345a8.01 8.01 0 0115.731 0l.259 1.345 1.349.245A5.502 5.502 0 0124.508 23H24v2h.508a7.502 7.502 0 001.32-14.885z" }] +); diff --git a/packages/hiccup-carbon-icons/src/visual-recognition.ts b/packages/hiccup-carbon-icons/src/visual-recognition.ts index c0db31e2f9..f7e5fb872d 100644 --- a/packages/hiccup-carbon-icons/src/visual-recognition.ts +++ b/packages/hiccup-carbon-icons/src/visual-recognition.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VISUAL_RECOGNITION */ // prettier-ignore -export const VISUAL_RECOGNITION: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 12, - cx: 23, - }], - ["path", { d: "M28 5H16.24A8 8 0 106 16.92V27a2 2 0 002 2h20a2 2 0 002-2V7a2 2 0 00-2-2zM4 10a6 6 0 0111.19-3H8v2h7.91a6.64 6.64 0 01.09 1 6.64 6.64 0 01-.09 1H10v2h5.19A6 6 0 014 10zm24 17H8l5-5 1.59 1.59a2 2 0 002.82 0L23 18l5 5zm0-6.83l-3.59-3.59a2 2 0 00-2.82 0L16 22.17l-1.59-1.59a2 2 0 00-2.82 0L8 24.17v-6.43a8.24 8.24 0 002 .26 8 8 0 008-8 7.9 7.9 0 00-.59-3H28z" }]]; +export const VISUAL_RECOGNITION = svg( + ["circle", + { + r: 2, + cy: 12, + cx: 23, + }], + ["path", { d: "M28 5H16.24A8 8 0 106 16.92V27a2 2 0 002 2h20a2 2 0 002-2V7a2 2 0 00-2-2zM4 10a6 6 0 0111.19-3H8v2h7.91a6.64 6.64 0 01.09 1 6.64 6.64 0 01-.09 1H10v2h5.19A6 6 0 014 10zm24 17H8l5-5 1.59 1.59a2 2 0 002.82 0L23 18l5 5zm0-6.83l-3.59-3.59a2 2 0 00-2.82 0L16 22.17l-1.59-1.59a2 2 0 00-2.82 0L8 24.17v-6.43a8.24 8.24 0 002 .26 8 8 0 008-8 7.9 7.9 0 00-.59-3H28z" }] +); diff --git a/packages/hiccup-carbon-icons/src/vmdk-disk.ts b/packages/hiccup-carbon-icons/src/vmdk-disk.ts index 69322810a1..06d6855687 100644 --- a/packages/hiccup-carbon-icons/src/vmdk-disk.ts +++ b/packages/hiccup-carbon-icons/src/vmdk-disk.ts @@ -1,21 +1,23 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VMDK_DISK */ // prettier-ignore -export const VMDK_DISK: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 1.5, - cy: 24.5, - cx: 10.5, - }], - ["path", { d: "M18 16.414L19.414 15 23 18.585 21.585 20z" }], - ["circle", - { - r: 2, - cy: 13, - cx: 16, - }], - ["path", { d: "M16 6a7 7 0 000 14v-2a5 5 0 115-5h2a7 7 0 00-7-7z" }], - ["path", { d: "M26 2H6a2 2 0 00-2 2v24a2 2 0 002 2h20a2 2 0 002-2V4a2 2 0 00-2-2zm0 26H6V4h20z" }]]; +export const VMDK_DISK = svg( + ["circle", + { + r: 1.5, + cy: 24.5, + cx: 10.5, + }], + ["path", { d: "M18 16.414L19.414 15 23 18.585 21.585 20z" }], + ["circle", + { + r: 2, + cy: 13, + cx: 16, + }], + ["path", { d: "M16 6a7 7 0 000 14v-2a5 5 0 115-5h2a7 7 0 00-7-7z" }], + ["path", { d: "M26 2H6a2 2 0 00-2 2v24a2 2 0 002 2h20a2 2 0 002-2V4a2 2 0 00-2-2zm0 26H6V4h20z" }] +); diff --git a/packages/hiccup-carbon-icons/src/voicemail.ts b/packages/hiccup-carbon-icons/src/voicemail.ts index 9a599d9f3a..2c6852ba2d 100644 --- a/packages/hiccup-carbon-icons/src/voicemail.ts +++ b/packages/hiccup-carbon-icons/src/voicemail.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VOICEMAIL */ // prettier-ignore -export const VOICEMAIL: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 10a6 6 0 00-4.46 10h-7.08A6 6 0 108 22h16a6 6 0 000-12zM4 16a4 4 0 114 4 4 4 0 01-4-4zm20 4a4 4 0 114-4 4 4 0 01-4 4z" }]]; +export const VOICEMAIL = svg( + ["path", { d: "M24 10a6 6 0 00-4.46 10h-7.08A6 6 0 108 22h16a6 6 0 000-12zM4 16a4 4 0 114 4 4 4 0 01-4-4zm20 4a4 4 0 114-4 4 4 0 01-4 4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/volume-down-filled.ts b/packages/hiccup-carbon-icons/src/volume-down-filled.ts index c733af2eca..3025512e4d 100644 --- a/packages/hiccup-carbon-icons/src/volume-down-filled.ts +++ b/packages/hiccup-carbon-icons/src/volume-down-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VOLUME_DOWN_FILLED */ // prettier-ignore -export const VOLUME_DOWN_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.1 10.66L23.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM20 30a1 1 0 01-.71-.3L11.67 22H5a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1z" }]]; +export const VOLUME_DOWN_FILLED = svg( + ["path", { d: "M25.1 10.66L23.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM20 30a1 1 0 01-.71-.3L11.67 22H5a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/volume-down.ts b/packages/hiccup-carbon-icons/src/volume-down.ts index e0cc6638ce..34e49a25f8 100644 --- a/packages/hiccup-carbon-icons/src/volume-down.ts +++ b/packages/hiccup-carbon-icons/src/volume-down.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VOLUME_DOWN */ // prettier-ignore -export const VOLUME_DOWN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25.1 10.66L23.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM20 30a1 1 0 01-.71-.3L11.67 22H5a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1zM6 20h6a1.17 1.17 0 01.79.3L19 26.57V5.43l-6.21 6.27a1.17 1.17 0 01-.79.3H6z" }]]; +export const VOLUME_DOWN = svg( + ["path", { d: "M25.1 10.66L23.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM20 30a1 1 0 01-.71-.3L11.67 22H5a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1zM6 20h6a1.17 1.17 0 01.79.3L19 26.57V5.43l-6.21 6.27a1.17 1.17 0 01-.79.3H6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/volume-mute-filled.ts b/packages/hiccup-carbon-icons/src/volume-mute-filled.ts index 9d821b96cf..6d2df93094 100644 --- a/packages/hiccup-carbon-icons/src/volume-mute-filled.ts +++ b/packages/hiccup-carbon-icons/src/volume-mute-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VOLUME_MUTE_FILLED */ // prettier-ignore -export const VOLUME_MUTE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M31 12.41L29.59 11 26 14.59 22.41 11 21 12.41 24.59 16 21 19.59 22.41 21 26 17.41 29.59 21 31 19.59 27.41 16 31 12.41zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1z" }]]; +export const VOLUME_MUTE_FILLED = svg( + ["path", { d: "M31 12.41L29.59 11 26 14.59 22.41 11 21 12.41 24.59 16 21 19.59 22.41 21 26 17.41 29.59 21 31 19.59 27.41 16 31 12.41zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/volume-mute.ts b/packages/hiccup-carbon-icons/src/volume-mute.ts index 7ced99b798..1986d8b3ff 100644 --- a/packages/hiccup-carbon-icons/src/volume-mute.ts +++ b/packages/hiccup-carbon-icons/src/volume-mute.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VOLUME_MUTE */ // prettier-ignore -export const VOLUME_MUTE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M31 12.41L29.59 11 26 14.59 22.41 11 21 12.41 24.59 16 21 19.59 22.41 21 26 17.41 29.59 21 31 19.59 27.41 16 31 12.41zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1zM4 20h6a1.17 1.17 0 01.79.3L17 26.57V5.43l-6.21 6.27a1.17 1.17 0 01-.79.3H4z" }]]; +export const VOLUME_MUTE = svg( + ["path", { d: "M31 12.41L29.59 11 26 14.59 22.41 11 21 12.41 24.59 16 21 19.59 22.41 21 26 17.41 29.59 21 31 19.59 27.41 16 31 12.41zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1zM4 20h6a1.17 1.17 0 01.79.3L17 26.57V5.43l-6.21 6.27a1.17 1.17 0 01-.79.3H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/volume-up-filled.ts b/packages/hiccup-carbon-icons/src/volume-up-filled.ts index ab0e30fd29..7105add807 100644 --- a/packages/hiccup-carbon-icons/src/volume-up-filled.ts +++ b/packages/hiccup-carbon-icons/src/volume-up-filled.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VOLUME_UP_FILLED */ // prettier-ignore -export const VOLUME_UP_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.16 8.08l-1.53 1.29a10 10 0 01-.29 13.23l1.47 1.4a12 12 0 00.35-15.88z" }], - ["path", { d: "M21.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1z" }]]; +export const VOLUME_UP_FILLED = svg( + ["path", { d: "M27.16 8.08l-1.53 1.29a10 10 0 01-.29 13.23l1.47 1.4a12 12 0 00.35-15.88z" }], + ["path", { d: "M21.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/volume-up.ts b/packages/hiccup-carbon-icons/src/volume-up.ts index 4b4bcb3102..2afc7ce513 100644 --- a/packages/hiccup-carbon-icons/src/volume-up.ts +++ b/packages/hiccup-carbon-icons/src/volume-up.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VOLUME_UP */ // prettier-ignore -export const VOLUME_UP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27.16 8.08l-1.53 1.29a10 10 0 01-.29 13.23l1.47 1.4a12 12 0 00.35-15.88z" }], - ["path", { d: "M21.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1zM4 20h6.08a1 1 0 01.71.3L17 26.57V5.43l-6.21 6.27a1 1 0 01-.71.3H4z" }]]; +export const VOLUME_UP = svg( + ["path", { d: "M27.16 8.08l-1.53 1.29a10 10 0 01-.29 13.23l1.47 1.4a12 12 0 00.35-15.88z" }], + ["path", { d: "M21.58 12a6 6 0 01-.18 7.94l1.47 1.36a8 8 0 00.23-10.59zM18 30a1 1 0 01-.71-.3L9.67 22H3a1 1 0 01-1-1V11a1 1 0 011-1h6.67l7.62-7.7a1 1 0 011.41 0 1 1 0 01.3.7v26a1 1 0 01-1 1zM4 20h6.08a1 1 0 01.71.3L17 26.57V5.43l-6.21 6.27a1 1 0 01-.71.3H4z" }] +); diff --git a/packages/hiccup-carbon-icons/src/vpn.ts b/packages/hiccup-carbon-icons/src/vpn.ts index e75849ee75..c1dd69fcd2 100644 --- a/packages/hiccup-carbon-icons/src/vpn.ts +++ b/packages/hiccup-carbon-icons/src/vpn.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#VPN */ // prettier-ignore -export const VPN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM28 19L24.32 9H22v14h2V13l3.68 10H30V9h-2v10zM8 9L6 22 4 9H2l2.52 14h2.96L10 9H8z" }]]; +export const VPN = svg( + ["path", { d: "M14 23h-2V9h6a2 2 0 012 2v5a2 2 0 01-2 2h-4zm0-7h4v-5h-4zM28 19L24.32 9H22v14h2V13l3.68 10H30V9h-2v10zM8 9L6 22 4 9H2l2.52 14h2.96L10 9H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wallet.ts b/packages/hiccup-carbon-icons/src/wallet.ts index 750b503b2a..5fd9d5abba 100644 --- a/packages/hiccup-carbon-icons/src/wallet.ts +++ b/packages/hiccup-carbon-icons/src/wallet.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WALLET */ // prettier-ignore -export const WALLET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 17h2v2h-2z" }], - ["path", { d: "M28 8H4V5h22V3H4a2 2 0 00-2 2v21a2 2 0 002 2h24a2 2 0 002-2V10a2 2 0 00-2-2zM4 26V10h24v3h-8a2 2 0 00-2 2v6a2 2 0 002 2h8v3zm24-11v6h-8v-6z" }]]; +export const WALLET = svg( + ["path", { d: "M22 17h2v2h-2z" }], + ["path", { d: "M28 8H4V5h22V3H4a2 2 0 00-2 2v21a2 2 0 002 2h24a2 2 0 002-2V10a2 2 0 00-2-2zM4 26V10h24v3h-8a2 2 0 00-2 2v6a2 2 0 002 2h8v3zm24-11v6h-8v-6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning-alt-filled.ts b/packages/hiccup-carbon-icons/src/warning-alt-filled.ts index b306582d60..a8aa3fd3c9 100644 --- a/packages/hiccup-carbon-icons/src/warning-alt-filled.ts +++ b/packages/hiccup-carbon-icons/src/warning-alt-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING_ALT_FILLED */ // prettier-ignore -export const WARNING_ALT_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.879 27.521l-13-25.036a1.04 1.04 0 00-1.758 0l-13 25.036A1.002 1.002 0 003 29h26a1.001 1.001 0 00.879-1.479zM14.875 10.01h2.25V20h-2.25zM16 26a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 26z" }]]; +export const WARNING_ALT_FILLED = svg( + ["path", { d: "M29.879 27.521l-13-25.036a1.04 1.04 0 00-1.758 0l-13 25.036A1.002 1.002 0 003 29h26a1.001 1.001 0 00.879-1.479zM14.875 10.01h2.25V20h-2.25zM16 26a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 26z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning-alt-inverted-filled.ts b/packages/hiccup-carbon-icons/src/warning-alt-inverted-filled.ts index f5387dcc6c..a24bb8b6d2 100644 --- a/packages/hiccup-carbon-icons/src/warning-alt-inverted-filled.ts +++ b/packages/hiccup-carbon-icons/src/warning-alt-inverted-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING_ALT_INVERTED_FILLED */ // prettier-ignore -export const WARNING_ALT_INVERTED_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29.86 2.49A1 1 0 0029 2H3a1.002 1.002 0 00-.88 1.478l13 25.037a1.04 1.04 0 001.759 0l13-25.037a1.003 1.003 0 00-.02-.989zM14.874 5h2.25v10h-2.25zM16 21a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 21z" }]]; +export const WARNING_ALT_INVERTED_FILLED = svg( + ["path", { d: "M29.86 2.49A1 1 0 0029 2H3a1.002 1.002 0 00-.88 1.478l13 25.037a1.04 1.04 0 001.759 0l13-25.037a1.003 1.003 0 00-.02-.989zM14.874 5h2.25v10h-2.25zM16 21a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 21z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning-alt-inverted.ts b/packages/hiccup-carbon-icons/src/warning-alt-inverted.ts index 9f238175f5..4161390c10 100644 --- a/packages/hiccup-carbon-icons/src/warning-alt-inverted.ts +++ b/packages/hiccup-carbon-icons/src/warning-alt-inverted.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING_ALT_INVERTED */ // prettier-ignore -export const WARNING_ALT_INVERTED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 17a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 17zM15 6h2v9h-2z" }], - ["path", { d: "M29.855 2.482a.999.999 0 01.032.979l-13 25a1.04 1.04 0 01-1.774 0l-13-25A1 1 0 013 2h26a1 1 0 01.855.482zM16 25.832L27.353 4H4.647z" }]]; +export const WARNING_ALT_INVERTED = svg( + ["path", { d: "M16 17a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 17zM15 6h2v9h-2z" }], + ["path", { d: "M29.855 2.482a.999.999 0 01.032.979l-13 25a1.04 1.04 0 01-1.774 0l-13-25A1 1 0 013 2h26a1 1 0 01.855.482zM16 25.832L27.353 4H4.647z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning-alt.ts b/packages/hiccup-carbon-icons/src/warning-alt.ts index 845793c741..3d4d634355 100644 --- a/packages/hiccup-carbon-icons/src/warning-alt.ts +++ b/packages/hiccup-carbon-icons/src/warning-alt.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING_ALT */ // prettier-ignore -export const WARNING_ALT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 22a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 22zM15 11h2v9h-2z" }], - ["path", { d: "M29 29H3a1 1 0 01-.89-1.46l13-25a1 1 0 011.78 0l13 25A1 1 0 0129 29zM4.65 27h22.7L16 5.17z" }]]; +export const WARNING_ALT = svg( + ["path", { d: "M16 22a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 22zM15 11h2v9h-2z" }], + ["path", { d: "M29 29H3a1 1 0 01-.89-1.46l13-25a1 1 0 011.78 0l13 25A1 1 0 0129 29zM4.65 27h22.7L16 5.17z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning-filled.ts b/packages/hiccup-carbon-icons/src/warning-filled.ts index b702777e03..6bc6a9cf97 100644 --- a/packages/hiccup-carbon-icons/src/warning-filled.ts +++ b/packages/hiccup-carbon-icons/src/warning-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING_FILLED */ // prettier-ignore -export const WARNING_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm-1.1 6h2.2v11h-2.2V8zM16 25c-.8 0-1.5-.7-1.5-1.5S15.2 22 16 22s1.5.7 1.5 1.5S16.8 25 16 25z" }]]; +export const WARNING_FILLED = svg( + ["path", { d: "M16 2C8.3 2 2 8.3 2 16s6.3 14 14 14 14-6.3 14-14S23.7 2 16 2zm-1.1 6h2.2v11h-2.2V8zM16 25c-.8 0-1.5-.7-1.5-1.5S15.2 22 16 22s1.5.7 1.5 1.5S16.8 25 16 25z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning-square-filled.ts b/packages/hiccup-carbon-icons/src/warning-square-filled.ts index 8221792d9f..3ea23f5a62 100644 --- a/packages/hiccup-carbon-icons/src/warning-square-filled.ts +++ b/packages/hiccup-carbon-icons/src/warning-square-filled.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING_SQUARE_FILLED */ // prettier-ignore -export const WARNING_SQUARE_FILLED: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.002 4H5.998A1.998 1.998 0 004 5.998v20.004A1.998 1.998 0 005.998 28h20.004A1.998 1.998 0 0028 26.002V5.998A1.998 1.998 0 0026.002 4zM14.875 8h2.25v10h-2.25zM16 24a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 24z" }]]; +export const WARNING_SQUARE_FILLED = svg( + ["path", { d: "M26.002 4H5.998A1.998 1.998 0 004 5.998v20.004A1.998 1.998 0 005.998 28h20.004A1.998 1.998 0 0028 26.002V5.998A1.998 1.998 0 0026.002 4zM14.875 8h2.25v10h-2.25zM16 24a1.5 1.5 0 111.5-1.5A1.5 1.5 0 0116 24z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning-square.ts b/packages/hiccup-carbon-icons/src/warning-square.ts index c076477a2f..57a1562d3a 100644 --- a/packages/hiccup-carbon-icons/src/warning-square.ts +++ b/packages/hiccup-carbon-icons/src/warning-square.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING_SQUARE */ // prettier-ignore -export const WARNING_SQUARE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 20a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 20zM15 9h2v9h-2z" }], - ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2zM6 6v20h20.001L26 6z" }]]; +export const WARNING_SQUARE = svg( + ["path", { d: "M16 20a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 20zM15 9h2v9h-2z" }], + ["path", { d: "M26 28H6a2.002 2.002 0 01-2-2V6a2.002 2.002 0 012-2h20a2.002 2.002 0 012 2v20a2.002 2.002 0 01-2 2zM6 6v20h20.001L26 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/warning.ts b/packages/hiccup-carbon-icons/src/warning.ts index f8f1950f48..9a5af2f1ca 100644 --- a/packages/hiccup-carbon-icons/src/warning.ts +++ b/packages/hiccup-carbon-icons/src/warning.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WARNING */ // prettier-ignore -export const WARNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], - ["path", { d: "M15 8h2v11h-2zM16 22a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 22z" }]]; +export const WARNING = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm0 26a12 12 0 1112-12 12 12 0 01-12 12z" }], + ["path", { d: "M15 8h2v11h-2zM16 22a1.5 1.5 0 101.5 1.5A1.5 1.5 0 0016 22z" }] +); diff --git a/packages/hiccup-carbon-icons/src/watch.ts b/packages/hiccup-carbon-icons/src/watch.ts index 3631e04889..9a630513a8 100644 --- a/packages/hiccup-carbon-icons/src/watch.ts +++ b/packages/hiccup-carbon-icons/src/watch.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WATCH */ // prettier-ignore -export const WATCH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 8h-1V2h-2v6h-6V2h-2v6h-1a2 2 0 00-2 2v12a2 2 0 002 2h1v6h2v-6h6v6h2v-6h1a2 2 0 002-2V10a2 2 0 00-2-2zM10 22V10h12v12zM25 14h2v4h-2z" }]]; +export const WATCH = svg( + ["path", { d: "M22 8h-1V2h-2v6h-6V2h-2v6h-1a2 2 0 00-2 2v12a2 2 0 002 2h1v6h2v-6h6v6h2v-6h1a2 2 0 002-2V10a2 2 0 00-2-2zM10 22V10h12v12zM25 14h2v4h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/watson-machine-learning.ts b/packages/hiccup-carbon-icons/src/watson-machine-learning.ts index 6f088aa25f..e80da7ecd8 100644 --- a/packages/hiccup-carbon-icons/src/watson-machine-learning.ts +++ b/packages/hiccup-carbon-icons/src/watson-machine-learning.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WATSON_MACHINE_LEARNING */ // prettier-ignore -export const WATSON_MACHINE_LEARNING: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22 26h-2v-8.24l-3.23 3.88a1 1 0 01-1.54 0L12 17.76V26h-2V15a1 1 0 01.66-.94 1 1 0 011.11.3L16 19.44l4.23-5.08a1 1 0 011.11-.3A1 1 0 0122 15zM4.16 14.65l-3-1.75a.762.762 0 10-.76 1.32l3 1.78a.76.76 0 10.76-1.31zM8.29 10.52a.73.73 0 001 .27.75.75 0 00.28-1l-1.74-3a.762.762 0 10-1.32.76zM16 9a.76.76 0 00.76-.76V4.76a.76.76 0 10-1.52 0v3.49A.76.76 0 0016 9zM22.68 10.79a.75.75 0 00.37.11.76.76 0 00.66-.38l1.75-3a.762.762 0 00-1.32-.76l-1.74 3a.75.75 0 00.28 1.03zM31.9 13.18a.76.76 0 00-1-.28l-3 1.75a.76.76 0 00.7 1.35l3-1.74a.77.77 0 00.3-1.08z" }]]; +export const WATSON_MACHINE_LEARNING = svg( + ["path", { d: "M22 26h-2v-8.24l-3.23 3.88a1 1 0 01-1.54 0L12 17.76V26h-2V15a1 1 0 01.66-.94 1 1 0 011.11.3L16 19.44l4.23-5.08a1 1 0 011.11-.3A1 1 0 0122 15zM4.16 14.65l-3-1.75a.762.762 0 10-.76 1.32l3 1.78a.76.76 0 10.76-1.31zM8.29 10.52a.73.73 0 001 .27.75.75 0 00.28-1l-1.74-3a.762.762 0 10-1.32.76zM16 9a.76.76 0 00.76-.76V4.76a.76.76 0 10-1.52 0v3.49A.76.76 0 0016 9zM22.68 10.79a.75.75 0 00.37.11.76.76 0 00.66-.38l1.75-3a.762.762 0 00-1.32-.76l-1.74 3a.75.75 0 00.28 1.03zM31.9 13.18a.76.76 0 00-1-.28l-3 1.75a.76.76 0 00.7 1.35l3-1.74a.77.77 0 00.3-1.08z" }] +); diff --git a/packages/hiccup-carbon-icons/src/watson.ts b/packages/hiccup-carbon-icons/src/watson.ts index 9271a5918e..1adb5500dd 100644 --- a/packages/hiccup-carbon-icons/src/watson.ts +++ b/packages/hiccup-carbon-icons/src/watson.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WATSON */ // prettier-ignore -export const WATSON: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21.74 9.49A11.41 11.41 0 0016 8a.76.76 0 100 1.51 10.15 10.15 0 011.91.21c-2.26 1.08-4.76 3.58-6.73 7a22.48 22.48 0 00-2 4.44A9.58 9.58 0 017 17.22a3.43 3.43 0 01.28-2.66c.79-1.37 2.44-2.15 4.63-2.2a.76.76 0 00.74-.78.75.75 0 00-.78-.74c-2.68.04-4.77 1.08-5.87 2.9a4.84 4.84 0 00-.44 3.79 12 12 0 003.2 5.22A11.36 11.36 0 008.52 26a10 10 0 01-2-3.48.75.75 0 00-.95-.52.76.76 0 00-.49 1 11.45 11.45 0 005.18 6.38A11.42 11.42 0 0016 30.92a11.74 11.74 0 003-.39 11.48 11.48 0 002.77-21zm-3.16 19.57a9.9 9.9 0 01-7.56-1c-.86-.49-1.21-2-.94-4a18.85 18.85 0 002.48 1.72 13.92 13.92 0 006.93 2 11 11 0 002.42-.28 9.78 9.78 0 01-3.33 1.56zm6.06-4.66c-2 2-6.66 2.74-11.32.05a17.36 17.36 0 01-2.89-2.12 21.08 21.08 0 012.08-4.91c2.94-5.08 6.83-7.57 8.47-6.62a10 10 0 013.66 13.6zM4.16 11.72L1.14 10a.76.76 0 10-.76 1.31L3.4 13a.86.86 0 00.38.1.77.77 0 00.66-.38.76.76 0 00-.28-1zM8.29 7.59a.74.74 0 00.65.41.75.75 0 00.38-.1.76.76 0 00.28-1l-1.74-3a.76.76 0 00-1-.27.75.75 0 00-.28 1zM16 6.08a.76.76 0 00.76-.76V1.83a.76.76 0 00-1.52 0v3.49a.76.76 0 00.76.76zM22.68 7.87a.75.75 0 001-.28l1.75-3a.75.75 0 00-.28-1 .76.76 0 00-1 .27l-1.74 3a.76.76 0 00.27 1.01zM31.9 10.25a.76.76 0 00-1-.27l-3 1.74a.76.76 0 00-.28 1 .77.77 0 00.66.38.86.86 0 00.38-.1l3-1.75a.76.76 0 00.24-1z" }]]; +export const WATSON = svg( + ["path", { d: "M21.74 9.49A11.41 11.41 0 0016 8a.76.76 0 100 1.51 10.15 10.15 0 011.91.21c-2.26 1.08-4.76 3.58-6.73 7a22.48 22.48 0 00-2 4.44A9.58 9.58 0 017 17.22a3.43 3.43 0 01.28-2.66c.79-1.37 2.44-2.15 4.63-2.2a.76.76 0 00.74-.78.75.75 0 00-.78-.74c-2.68.04-4.77 1.08-5.87 2.9a4.84 4.84 0 00-.44 3.79 12 12 0 003.2 5.22A11.36 11.36 0 008.52 26a10 10 0 01-2-3.48.75.75 0 00-.95-.52.76.76 0 00-.49 1 11.45 11.45 0 005.18 6.38A11.42 11.42 0 0016 30.92a11.74 11.74 0 003-.39 11.48 11.48 0 002.77-21zm-3.16 19.57a9.9 9.9 0 01-7.56-1c-.86-.49-1.21-2-.94-4a18.85 18.85 0 002.48 1.72 13.92 13.92 0 006.93 2 11 11 0 002.42-.28 9.78 9.78 0 01-3.33 1.56zm6.06-4.66c-2 2-6.66 2.74-11.32.05a17.36 17.36 0 01-2.89-2.12 21.08 21.08 0 012.08-4.91c2.94-5.08 6.83-7.57 8.47-6.62a10 10 0 013.66 13.6zM4.16 11.72L1.14 10a.76.76 0 10-.76 1.31L3.4 13a.86.86 0 00.38.1.77.77 0 00.66-.38.76.76 0 00-.28-1zM8.29 7.59a.74.74 0 00.65.41.75.75 0 00.38-.1.76.76 0 00.28-1l-1.74-3a.76.76 0 00-1-.27.75.75 0 00-.28 1zM16 6.08a.76.76 0 00.76-.76V1.83a.76.76 0 00-1.52 0v3.49a.76.76 0 00.76.76zM22.68 7.87a.75.75 0 001-.28l1.75-3a.75.75 0 00-.28-1 .76.76 0 00-1 .27l-1.74 3a.76.76 0 00.27 1.01zM31.9 10.25a.76.76 0 00-1-.27l-3 1.74a.76.76 0 00-.28 1 .77.77 0 00.66.38.86.86 0 00.38-.1l3-1.75a.76.76 0 00.24-1z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wheat.ts b/packages/hiccup-carbon-icons/src/wheat.ts index 273f0cf72e..3955d6e18e 100644 --- a/packages/hiccup-carbon-icons/src/wheat.ts +++ b/packages/hiccup-carbon-icons/src/wheat.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WHEAT */ // prettier-ignore -export const WHEAT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 3v2.586l-4 4V1h-2v8.586l-4-4V3H9v16a7.004 7.004 0 006 6.92V30h2v-4.08A7.004 7.004 0 0023 19V3zm-6 20.899A5.008 5.008 0 0111 19v-2.586l4 4zm0-6.313l-4-4V8.414l4 4zm2-5.172l4-4v5.172l-4 4zm0 11.485v-3.485l4-4V19a5.008 5.008 0 01-4 4.899z" }]]; +export const WHEAT = svg( + ["path", { d: "M21 3v2.586l-4 4V1h-2v8.586l-4-4V3H9v16a7.004 7.004 0 006 6.92V30h2v-4.08A7.004 7.004 0 0023 19V3zm-6 20.899A5.008 5.008 0 0111 19v-2.586l4 4zm0-6.313l-4-4V8.414l4 4zm2-5.172l4-4v5.172l-4 4zm0 11.485v-3.485l4-4V19a5.008 5.008 0 01-4 4.899z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wifi-off.ts b/packages/hiccup-carbon-icons/src/wifi-off.ts index bf3c59c002..d8d548106f 100644 --- a/packages/hiccup-carbon-icons/src/wifi-off.ts +++ b/packages/hiccup-carbon-icons/src/wifi-off.ts @@ -1,13 +1,15 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WIFI_OFF */ // prettier-ignore -export const WIFI_OFF: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 25, - cx: 16, - }], - ["path", { d: "M30 3.414L28.586 2 2 28.586 3.414 30l10.682-10.682a5.936 5.936 0 016.01 1.32l1.414-1.414a7.967 7.967 0 00-5.125-2.204l3.388-3.388a11.99 11.99 0 014.564 2.765l1.413-1.414a13.975 13.975 0 00-4.426-2.903l2.997-2.997a17.936 17.936 0 014.254 3.075L30 10.743v-.002a20.02 20.02 0 00-4.19-3.138zM14.68 13.078l2.042-2.042C16.48 11.023 16.243 11 16 11a13.945 13.945 0 00-9.771 3.993l1.414 1.413a11.97 11.97 0 017.037-3.328zM16 7a17.87 17.87 0 014.232.525l1.643-1.642A19.954 19.954 0 002 10.74v.023l1.404 1.404A17.92 17.92 0 0116 7z" }]]; +export const WIFI_OFF = svg( + ["circle", + { + r: 2, + cy: 25, + cx: 16, + }], + ["path", { d: "M30 3.414L28.586 2 2 28.586 3.414 30l10.682-10.682a5.936 5.936 0 016.01 1.32l1.414-1.414a7.967 7.967 0 00-5.125-2.204l3.388-3.388a11.99 11.99 0 014.564 2.765l1.413-1.414a13.975 13.975 0 00-4.426-2.903l2.997-2.997a17.936 17.936 0 014.254 3.075L30 10.743v-.002a20.02 20.02 0 00-4.19-3.138zM14.68 13.078l2.042-2.042C16.48 11.023 16.243 11 16 11a13.945 13.945 0 00-9.771 3.993l1.414 1.413a11.97 11.97 0 017.037-3.328zM16 7a17.87 17.87 0 014.232.525l1.643-1.642A19.954 19.954 0 002 10.74v.023l1.404 1.404A17.92 17.92 0 0116 7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wifi.ts b/packages/hiccup-carbon-icons/src/wifi.ts index 51188b92f6..3217182ca5 100644 --- a/packages/hiccup-carbon-icons/src/wifi.ts +++ b/packages/hiccup-carbon-icons/src/wifi.ts @@ -1,15 +1,17 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WIFI */ // prettier-ignore -export const WIFI: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["circle", - { - r: 2, - cy: 25, - cx: 16, - }], - ["path", { d: "M10.47 19.233l1.414 1.413a5.969 5.969 0 018.223-.009l1.413-1.413a7.963 7.963 0 00-11.05.01z" }], - ["path", { d: "M6.229 14.993l1.414 1.413a11.955 11.955 0 0116.704-.01l1.413-1.413a13.951 13.951 0 00-19.531.01z" }], - ["path", { d: "M30 10.741a19.94 19.94 0 00-28 0v.023l1.404 1.404a17.934 17.934 0 0125.181-.01L30 10.743z" }]]; +export const WIFI = svg( + ["circle", + { + r: 2, + cy: 25, + cx: 16, + }], + ["path", { d: "M10.47 19.233l1.414 1.413a5.969 5.969 0 018.223-.009l1.413-1.413a7.963 7.963 0 00-11.05.01z" }], + ["path", { d: "M6.229 14.993l1.414 1.413a11.955 11.955 0 0116.704-.01l1.413-1.413a13.951 13.951 0 00-19.531.01z" }], + ["path", { d: "M30 10.741a19.94 19.94 0 00-28 0v.023l1.404 1.404a17.934 17.934 0 0125.181-.01L30 10.743z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wikis.ts b/packages/hiccup-carbon-icons/src/wikis.ts index dc3c3a8520..b3a4540ec1 100644 --- a/packages/hiccup-carbon-icons/src/wikis.ts +++ b/packages/hiccup-carbon-icons/src/wikis.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WIKIS */ // prettier-ignore -export const WIKIS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm12 13h-6a24.26 24.26 0 00-2.79-10.55A12 12 0 0128 15zM16 28a5 5 0 01-.67 0A21.85 21.85 0 0112 17h8a21.85 21.85 0 01-3.3 11 5 5 0 01-.7 0zm-4-13a21.85 21.85 0 013.3-11 6 6 0 011.34 0A21.85 21.85 0 0120 15zm.76-10.55A24.26 24.26 0 0010 15H4a12 12 0 018.79-10.55zM4.05 17h6a24.26 24.26 0 002.75 10.55A12 12 0 014.05 17zm15.16 10.55A24.26 24.26 0 0022 17h6a12 12 0 01-8.79 10.55z" }]]; +export const WIKIS = svg( + ["path", { d: "M16 2a14 14 0 1014 14A14 14 0 0016 2zm12 13h-6a24.26 24.26 0 00-2.79-10.55A12 12 0 0128 15zM16 28a5 5 0 01-.67 0A21.85 21.85 0 0112 17h8a21.85 21.85 0 01-3.3 11 5 5 0 01-.7 0zm-4-13a21.85 21.85 0 013.3-11 6 6 0 011.34 0A21.85 21.85 0 0120 15zm.76-10.55A24.26 24.26 0 0010 15H4a12 12 0 018.79-10.55zM4.05 17h6a24.26 24.26 0 002.75 10.55A12 12 0 014.05 17zm15.16 10.55A24.26 24.26 0 0022 17h6a12 12 0 01-8.79 10.55z" }] +); diff --git a/packages/hiccup-carbon-icons/src/windy-dust.ts b/packages/hiccup-carbon-icons/src/windy-dust.ts index 2c862da1a8..b304d733c2 100644 --- a/packages/hiccup-carbon-icons/src/windy-dust.ts +++ b/packages/hiccup-carbon-icons/src/windy-dust.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WINDY_DUST */ // prettier-ignore -export const WINDY_DUST: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 28a5.006 5.006 0 01-5-5h2a3 3 0 103-3h-1v-2h1a5 5 0 010 10zM16 18h4v2h-4zM10 18h4v2h-4zM4 18h4v2H4zM21 15h-1v-2h1a3 3 0 10-3-3h-2a5 5 0 115 5zM14 13h4v2h-4zM8 13h4v2H8z" }]]; +export const WINDY_DUST = svg( + ["path", { d: "M23 28a5.006 5.006 0 01-5-5h2a3 3 0 103-3h-1v-2h1a5 5 0 010 10zM16 18h4v2h-4zM10 18h4v2h-4zM4 18h4v2H4zM21 15h-1v-2h1a3 3 0 10-3-3h-2a5 5 0 115 5zM14 13h4v2h-4zM8 13h4v2H8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/windy-snow.ts b/packages/hiccup-carbon-icons/src/windy-snow.ts index 21845d30a8..0b6ed4b68c 100644 --- a/packages/hiccup-carbon-icons/src/windy-snow.ts +++ b/packages/hiccup-carbon-icons/src/windy-snow.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WINDY_SNOW */ // prettier-ignore -export const WINDY_SNOW: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M25 28a5.006 5.006 0 01-5-5h2a3 3 0 103-3H6v-2h19a5 5 0 010 10zM23 15H10v-2h13a3 3 0 10-3-3h-2a5 5 0 115 5z" }], - ["path", { d: "M11 23h2v2h-2zM13 25h2v2h-2zM15 27h2v2h-2zM15 23h2v2h-2zM11 27h2v2h-2zM6 4h2v2H6zM8 6h2v2H8zM10 8h2v2h-2zM10 4h2v2h-2zM6 8h2v2H6zM2 26h2v2H2zM4 28h2v2H4zM6 30h2v2H6zM6 26h2v2H6zM2 30h2v2H2z" }]]; +export const WINDY_SNOW = svg( + ["path", { d: "M25 28a5.006 5.006 0 01-5-5h2a3 3 0 103-3H6v-2h19a5 5 0 010 10zM23 15H10v-2h13a3 3 0 10-3-3h-2a5 5 0 115 5z" }], + ["path", { d: "M11 23h2v2h-2zM13 25h2v2h-2zM15 27h2v2h-2zM15 23h2v2h-2zM11 27h2v2h-2zM6 4h2v2H6zM8 6h2v2H8zM10 8h2v2h-2zM10 4h2v2h-2zM6 8h2v2H6zM2 26h2v2H2zM4 28h2v2H4zM6 30h2v2H6zM6 26h2v2H6zM2 30h2v2H2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/windy-strong.ts b/packages/hiccup-carbon-icons/src/windy-strong.ts index 0280481cab..44a0b99d05 100644 --- a/packages/hiccup-carbon-icons/src/windy-strong.ts +++ b/packages/hiccup-carbon-icons/src/windy-strong.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WINDY_STRONG */ // prettier-ignore -export const WINDY_STRONG: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M13 30a5.006 5.006 0 01-5-5h2a3 3 0 103-3H4v-2h9a5 5 0 010 10z" }], - ["path", { d: "M25 25a5.006 5.006 0 01-5-5h2a3 3 0 103-3H2v-2h23a5 5 0 010 10zM21 12H6v-2h15a3 3 0 10-3-3h-2a5 5 0 115 5z" }]]; +export const WINDY_STRONG = svg( + ["path", { d: "M13 30a5.006 5.006 0 01-5-5h2a3 3 0 103-3H4v-2h9a5 5 0 010 10z" }], + ["path", { d: "M25 25a5.006 5.006 0 01-5-5h2a3 3 0 103-3H2v-2h23a5 5 0 010 10zM21 12H6v-2h15a3 3 0 10-3-3h-2a5 5 0 115 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/windy.ts b/packages/hiccup-carbon-icons/src/windy.ts index 2ff9418b42..2eefba79ae 100644 --- a/packages/hiccup-carbon-icons/src/windy.ts +++ b/packages/hiccup-carbon-icons/src/windy.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WINDY */ // prettier-ignore -export const WINDY: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M21 15H8v-2h13a3 3 0 10-3-3h-2a5 5 0 115 5zM23 28a5.006 5.006 0 01-5-5h2a3 3 0 103-3H4v-2h19a5 5 0 010 10z" }]]; +export const WINDY = svg( + ["path", { d: "M21 15H8v-2h13a3 3 0 10-3-3h-2a5 5 0 115 5zM23 28a5.006 5.006 0 01-5-5h2a3 3 0 103-3H4v-2h19a5 5 0 010 10z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wintry-mix.ts b/packages/hiccup-carbon-icons/src/wintry-mix.ts index fb58a4735b..cceba8ed7d 100644 --- a/packages/hiccup-carbon-icons/src/wintry-mix.ts +++ b/packages/hiccup-carbon-icons/src/wintry-mix.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WINTRY_MIX */ // prettier-ignore -export const WINTRY_MIX: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M15 26h2v2h-2zM17 28h2v2h-2zM19 30h2v2h-2zM19 26h2v2h-2zM15 30h2v2h-2zM13 16h2v2h-2zM15 18h2v2h-2zM17 20h2v2h-2zM17 16h2v2h-2zM13 20h2v2h-2zM10 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0110 30z" }], - ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.532 6.532 0 002 15.5V22l1 2 1-2v-1.82a6.49 6.49 0 003.43 1.725l-1.324 2.648a1 1 0 101.788.894l2-4a1 1 0 00-.446-1.341.977.977 0 00-.49-.09V20H8.5a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20h-.542v.008A.996.996 0 0022 21v3l1 2 1-2v-2.025a6.447 6.447 0 002-.477V26l1 2 1-2v-5.82a6.488 6.488 0 00-3.2-11.044z" }]]; +export const WINTRY_MIX = svg( + ["path", { d: "M15 26h2v2h-2zM17 28h2v2h-2zM19 30h2v2h-2zM19 26h2v2h-2zM15 30h2v2h-2zM13 16h2v2h-2zM15 18h2v2h-2zM17 20h2v2h-2zM17 16h2v2h-2zM13 20h2v2h-2zM10 30a1 1 0 01-.894-1.447l2-4a1 1 0 111.788.894l-2 4A.998.998 0 0110 30z" }], + ["path", { d: "M24.8 9.136a8.994 8.994 0 00-17.6 0A6.532 6.532 0 002 15.5V22l1 2 1-2v-1.82a6.49 6.49 0 003.43 1.725l-1.324 2.648a1 1 0 101.788.894l2-4a1 1 0 00-.446-1.341.977.977 0 00-.49-.09V20H8.5a4.497 4.497 0 01-.356-8.981l.816-.064.099-.812a6.994 6.994 0 0113.883 0l.099.812.815.064A4.497 4.497 0 0123.5 20h-.542v.008A.996.996 0 0022 21v3l1 2 1-2v-2.025a6.447 6.447 0 002-.477V26l1 2 1-2v-5.82a6.488 6.488 0 00-3.2-11.044z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wireless-checkout.ts b/packages/hiccup-carbon-icons/src/wireless-checkout.ts index 1e39ef1cae..3a621e88b7 100644 --- a/packages/hiccup-carbon-icons/src/wireless-checkout.ts +++ b/packages/hiccup-carbon-icons/src/wireless-checkout.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WIRELESS_CHECKOUT */ // prettier-ignore -export const WIRELESS_CHECKOUT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M18 28v-2a10 10 0 0010-10h2a12 12 0 01-12 12z" }], - ["path", { d: "M18 23v-2a5 5 0 005-5h2a7 7 0 01-7 7z" }], - ["path", { d: "M27 11h-6V7a3 3 0 00-3-3h-6a3 3 0 00-3 3v4H3a1 1 0 00-1 1.15L3.88 24.3a2 2 0 002 1.7H15v-2H5.86L4.17 13H27zM11 7a1 1 0 011-1h6a1 1 0 011 1v4h-8z" }]]; +export const WIRELESS_CHECKOUT = svg( + ["path", { d: "M18 28v-2a10 10 0 0010-10h2a12 12 0 01-12 12z" }], + ["path", { d: "M18 23v-2a5 5 0 005-5h2a7 7 0 01-7 7z" }], + ["path", { d: "M27 11h-6V7a3 3 0 00-3-3h-6a3 3 0 00-3 3v4H3a1 1 0 00-1 1.15L3.88 24.3a2 2 0 002 1.7H15v-2H5.86L4.17 13H27zM11 7a1 1 0 011-1h6a1 1 0 011 1v4h-8z" }] +); diff --git a/packages/hiccup-carbon-icons/src/wmv.ts b/packages/hiccup-carbon-icons/src/wmv.ts index c88bb12244..0cc939f8db 100644 --- a/packages/hiccup-carbon-icons/src/wmv.ts +++ b/packages/hiccup-carbon-icons/src/wmv.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WMV */ // prettier-ignore -export const WMV: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M29 9l-2 13-2-13h-2l2.52 14h2.96L31 9h-2zM19 9l-1.52 5-.48 1.98-.46-1.98L15 9h-2v14h2v-8l-.16-2 .58 2L17 19.63 18.58 15l.58-2-.16 2v8h2V9h-2zM9.2 9l-.34 8-.26 4.54L8.19 18l-.68-5.46H5.49L4.81 18l-.41 3.54L4.14 17 3.8 9H2l1 14h2.27l.76-4.93.46-4.07.01-.03.01.03.46 4.07.76 4.93H10l1-14H9.2z" }]]; +export const WMV = svg( + ["path", { d: "M29 9l-2 13-2-13h-2l2.52 14h2.96L31 9h-2zM19 9l-1.52 5-.48 1.98-.46-1.98L15 9h-2v14h2v-8l-.16-2 .58 2L17 19.63 18.58 15l.58-2-.16 2v8h2V9h-2zM9.2 9l-.34 8-.26 4.54L8.19 18l-.68-5.46H5.49L4.81 18l-.41 3.54L4.14 17 3.8 9H2l1 14h2.27l.76-4.93.46-4.07.01-.03.01.03.46 4.07.76 4.93H10l1-14H9.2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/word-cloud.ts b/packages/hiccup-carbon-icons/src/word-cloud.ts index a981baba30..182c45f53d 100644 --- a/packages/hiccup-carbon-icons/src/word-cloud.ts +++ b/packages/hiccup-carbon-icons/src/word-cloud.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WORD_CLOUD */ // prettier-ignore -export const WORD_CLOUD: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M10 16h12v2H10zM10 20h8v2h-8z" }], - ["path", { d: "M16 7a8.023 8.023 0 017.865 6.494l.259 1.346 1.349.244A5.502 5.502 0 0124.508 26H7.495a5.502 5.502 0 01-.97-10.916l1.35-.244.259-1.346A8.026 8.026 0 0116 7m0-2a10.024 10.024 0 00-9.83 8.116A7.502 7.502 0 007.491 28h17.017a7.502 7.502 0 001.32-14.884A10.023 10.023 0 0015.989 5z" }]]; +export const WORD_CLOUD = svg( + ["path", { d: "M10 16h12v2H10zM10 20h8v2h-8z" }], + ["path", { d: "M16 7a8.023 8.023 0 017.865 6.494l.259 1.346 1.349.244A5.502 5.502 0 0124.508 26H7.495a5.502 5.502 0 01-.97-10.916l1.35-.244.259-1.346A8.026 8.026 0 0116 7m0-2a10.024 10.024 0 00-9.83 8.116A7.502 7.502 0 007.491 28h17.017a7.502 7.502 0 001.32-14.884A10.023 10.023 0 0015.989 5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/workspace-import.ts b/packages/hiccup-carbon-icons/src/workspace-import.ts index 44dc38df3e..5adc7df740 100644 --- a/packages/hiccup-carbon-icons/src/workspace-import.ts +++ b/packages/hiccup-carbon-icons/src/workspace-import.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WORKSPACE_IMPORT */ // prettier-ignore -export const WORKSPACE_IMPORT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 6v5H17V6h10m0-2H17a2 2 0 00-2 2v5a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2zM12 25H6v-8h6v-2H6a2 2 0 00-2 2v8a2 2 0 002 2h6zM30 20H16.828l2.586-2.586L18 16l-5 5 5 5 1.414-1.414L16.828 22H30v-2zM11 6v5H6V6h5m0-2H6a2 2 0 00-2 2v5a2 2 0 002 2h5a2 2 0 002-2V6a2 2 0 00-2-2z" }]]; +export const WORKSPACE_IMPORT = svg( + ["path", { d: "M27 6v5H17V6h10m0-2H17a2 2 0 00-2 2v5a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2zM12 25H6v-8h6v-2H6a2 2 0 00-2 2v8a2 2 0 002 2h6zM30 20H16.828l2.586-2.586L18 16l-5 5 5 5 1.414-1.414L16.828 22H30v-2zM11 6v5H6V6h5m0-2H6a2 2 0 00-2 2v5a2 2 0 002 2h5a2 2 0 002-2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/workspace.ts b/packages/hiccup-carbon-icons/src/workspace.ts index 630ca54d1e..1ccd336050 100644 --- a/packages/hiccup-carbon-icons/src/workspace.ts +++ b/packages/hiccup-carbon-icons/src/workspace.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WORKSPACE */ // prettier-ignore -export const WORKSPACE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M16 17v8H6v-8h10m0-2H6a2 2 0 00-2 2v8a2 2 0 002 2h10a2 2 0 002-2v-8a2 2 0 00-2-2zM27 6v5H17V6h10m0-2H17a2 2 0 00-2 2v5a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2zM27 17v5h-5v-5h5m0-2h-5a2 2 0 00-2 2v5a2 2 0 002 2h5a2 2 0 002-2v-5a2 2 0 00-2-2zM11 6v5H6V6h5m0-2H6a2 2 0 00-2 2v5a2 2 0 002 2h5a2 2 0 002-2V6a2 2 0 00-2-2z" }]]; +export const WORKSPACE = svg( + ["path", { d: "M16 17v8H6v-8h10m0-2H6a2 2 0 00-2 2v8a2 2 0 002 2h10a2 2 0 002-2v-8a2 2 0 00-2-2zM27 6v5H17V6h10m0-2H17a2 2 0 00-2 2v5a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2zM27 17v5h-5v-5h5m0-2h-5a2 2 0 00-2 2v5a2 2 0 002 2h5a2 2 0 002-2v-5a2 2 0 00-2-2zM11 6v5H6V6h5m0-2H6a2 2 0 00-2 2v5a2 2 0 002 2h5a2 2 0 002-2V6a2 2 0 00-2-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/worship-christian.ts b/packages/hiccup-carbon-icons/src/worship-christian.ts index 9568ba2345..8273d5026a 100644 --- a/packages/hiccup-carbon-icons/src/worship-christian.ts +++ b/packages/hiccup-carbon-icons/src/worship-christian.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WORSHIP_CHRISTIAN */ // prettier-ignore -export const WORSHIP_CHRISTIAN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M17 30h-2a2.002 2.002 0 01-2-2V14H8a2.002 2.002 0 01-2-2v-2a2.002 2.002 0 012-2h5V4a2.002 2.002 0 012-2h2a2.002 2.002 0 012 2v4h5a2.002 2.002 0 012 2v2a2.002 2.002 0 01-2 2h-5v14a2.002 2.002 0 01-2 2zM8 10v2h7v16h2V12h7v-2h-7V4h-2v6z" }]]; +export const WORSHIP_CHRISTIAN = svg( + ["path", { d: "M17 30h-2a2.002 2.002 0 01-2-2V14H8a2.002 2.002 0 01-2-2v-2a2.002 2.002 0 012-2h5V4a2.002 2.002 0 012-2h2a2.002 2.002 0 012 2v4h5a2.002 2.002 0 012 2v2a2.002 2.002 0 01-2 2h-5v14a2.002 2.002 0 01-2 2zM8 10v2h7v16h2V12h7v-2h-7V4h-2v6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/worship-jewish.ts b/packages/hiccup-carbon-icons/src/worship-jewish.ts index bf283614b3..fd8b33ee0e 100644 --- a/packages/hiccup-carbon-icons/src/worship-jewish.ts +++ b/packages/hiccup-carbon-icons/src/worship-jewish.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WORSHIP_JEWISH */ // prettier-ignore -export const WORSHIP_JEWISH: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24.291 16l3.585-6.518A1 1 0 0027 8h-7.109l-3.015-5.482a1 1 0 00-1.752 0L12.109 8H5a1 1 0 00-.876 1.482L7.709 16l-3.585 6.518A1 1 0 005 24h7.109l3.015 5.482a1 1 0 001.752 0L19.891 24H27a1 1 0 00.876-1.482zm-5.582 6L16 26.925 13.291 22h-6.6l3.3-6-3.3-6h6.6L16 5.075 18.709 10h6.6l-3.3 6 3.3 6z" }]]; +export const WORSHIP_JEWISH = svg( + ["path", { d: "M24.291 16l3.585-6.518A1 1 0 0027 8h-7.109l-3.015-5.482a1 1 0 00-1.752 0L12.109 8H5a1 1 0 00-.876 1.482L7.709 16l-3.585 6.518A1 1 0 005 24h7.109l3.015 5.482a1 1 0 001.752 0L19.891 24H27a1 1 0 00.876-1.482zm-5.582 6L16 26.925 13.291 22h-6.6l3.3-6-3.3-6h6.6L16 5.075 18.709 10h6.6l-3.3 6 3.3 6z" }] +); diff --git a/packages/hiccup-carbon-icons/src/worship-muslim.ts b/packages/hiccup-carbon-icons/src/worship-muslim.ts index 9cff0fe146..2a733240b0 100644 --- a/packages/hiccup-carbon-icons/src/worship-muslim.ts +++ b/packages/hiccup-carbon-icons/src/worship-muslim.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WORSHIP_MUSLIM */ // prettier-ignore -export const WORSHIP_MUSLIM: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M27 18a.999.999 0 01-.541-.16L22 14.97l-4.458 2.872a1 1 0 01-1.51-1.095l1.35-5.132L14.31 8.69a1 1 0 01.551-1.715l4.375-.612 1.866-3.804A1 1 0 0121.988 2a1.017 1.017 0 01.899.538l1.993 3.825 4.262.613a1 1 0 01.548 1.714l-3.072 2.924 1.35 5.132A1 1 0 0127 18zm-5-5.22a.999.999 0 01.541.159l2.837 1.827-.845-3.215a1 1 0 01.277-.979l2.008-1.91-2.73-.393a1 1 0 01-.744-.527l-1.317-2.527-1.23 2.505a1 1 0 01-.758.55l-2.849.399 2 1.903a1 1 0 01.278.979l-.846 3.215 2.837-1.827a.999.999 0 01.541-.16z" }], - ["path", { d: "M15.817 30A13.814 13.814 0 019.075 4.128a1 1 0 011.362 1.36A11.81 11.81 0 0026.51 21.565a1 1 0 011.362 1.36A13.841 13.841 0 0115.817 30zM7.327 7.973a11.81 11.81 0 0016.7 16.7 13.809 13.809 0 01-16.7-16.7z" }]]; +export const WORSHIP_MUSLIM = svg( + ["path", { d: "M27 18a.999.999 0 01-.541-.16L22 14.97l-4.458 2.872a1 1 0 01-1.51-1.095l1.35-5.132L14.31 8.69a1 1 0 01.551-1.715l4.375-.612 1.866-3.804A1 1 0 0121.988 2a1.017 1.017 0 01.899.538l1.993 3.825 4.262.613a1 1 0 01.548 1.714l-3.072 2.924 1.35 5.132A1 1 0 0127 18zm-5-5.22a.999.999 0 01.541.159l2.837 1.827-.845-3.215a1 1 0 01.277-.979l2.008-1.91-2.73-.393a1 1 0 01-.744-.527l-1.317-2.527-1.23 2.505a1 1 0 01-.758.55l-2.849.399 2 1.903a1 1 0 01.278.979l-.846 3.215 2.837-1.827a.999.999 0 01.541-.16z" }], + ["path", { d: "M15.817 30A13.814 13.814 0 019.075 4.128a1 1 0 011.362 1.36A11.81 11.81 0 0026.51 21.565a1 1 0 011.362 1.36A13.841 13.841 0 0115.817 30zM7.327 7.973a11.81 11.81 0 0016.7 16.7 13.809 13.809 0 01-16.7-16.7z" }] +); diff --git a/packages/hiccup-carbon-icons/src/worship.ts b/packages/hiccup-carbon-icons/src/worship.ts index f052349d57..b2a1f79bec 100644 --- a/packages/hiccup-carbon-icons/src/worship.ts +++ b/packages/hiccup-carbon-icons/src/worship.ts @@ -1,9 +1,11 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#WORSHIP */ // prettier-ignore -export const WORSHIP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26.586 17L22 21.586l-5-5a2.002 2.002 0 00-2.829 0L9.585 21.17a2.003 2.003 0 000 2.829l4 4H6v2h10a1 1 0 00.707-1.707L11 22.585 15.585 18l5.708 5.707a1 1 0 001.414 0L28 18.414z" }], - ["path", { d: "M21.5 17a3.5 3.5 0 113.5-3.5 3.504 3.504 0 01-3.5 3.5zm0-5a1.5 1.5 0 101.5 1.5 1.502 1.502 0 00-1.5-1.5z" }], - ["path", { d: "M4 10.598l12-6.462 12.526 6.745.948-1.762-13-7a1.004 1.004 0 00-.948 0l-13 7A1 1 0 002 10v20h2z" }]]; +export const WORSHIP = svg( + ["path", { d: "M26.586 17L22 21.586l-5-5a2.002 2.002 0 00-2.829 0L9.585 21.17a2.003 2.003 0 000 2.829l4 4H6v2h10a1 1 0 00.707-1.707L11 22.585 15.585 18l5.708 5.707a1 1 0 001.414 0L28 18.414z" }], + ["path", { d: "M21.5 17a3.5 3.5 0 113.5-3.5 3.504 3.504 0 01-3.5 3.5zm0-5a1.5 1.5 0 101.5 1.5 1.502 1.502 0 00-1.5-1.5z" }], + ["path", { d: "M4 10.598l12-6.462 12.526 6.745.948-1.762-13-7a1.004 1.004 0 00-.948 0l-13 7A1 1 0 002 10v20h2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/x-axis.ts b/packages/hiccup-carbon-icons/src/x-axis.ts index ef0138533a..9ad21aaa3f 100644 --- a/packages/hiccup-carbon-icons/src/x-axis.ts +++ b/packages/hiccup-carbon-icons/src/x-axis.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#X_AXIS */ // prettier-ignore -export const X_AXIS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M23 20l-1.414 1.414L24.172 24H6V4H4v20a2.002 2.002 0 002 2h18.172l-2.586 2.586L23 30l5-5z" }]]; +export const X_AXIS = svg( + ["path", { d: "M23 20l-1.414 1.414L24.172 24H6V4H4v20a2.002 2.002 0 002 2h18.172l-2.586 2.586L23 30l5-5z" }] +); diff --git a/packages/hiccup-carbon-icons/src/xls.ts b/packages/hiccup-carbon-icons/src/xls.ts index d9ad17f367..561aa746b8 100644 --- a/packages/hiccup-carbon-icons/src/xls.ts +++ b/packages/hiccup-carbon-icons/src/xls.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#XLS */ // prettier-ignore -export const XLS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 23h-6v-2h6v-4h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h6v2h-6v4h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM14 21V9h-2v14h8v-2h-6zM10 9H8l-2 6-2-6H2l2.752 7L2 23h2l2-6 2 6h2l-2.755-7L10 9z" }]]; +export const XLS = svg( + ["path", { d: "M28 23h-6v-2h6v-4h-4a2.002 2.002 0 01-2-2v-4a2.002 2.002 0 012-2h6v2h-6v4h4a2.002 2.002 0 012 2v4a2.002 2.002 0 01-2 2zM14 21V9h-2v14h8v-2h-6zM10 9H8l-2 6-2-6H2l2.752 7L2 23h2l2-6 2 6h2l-2.755-7L10 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/xml.ts b/packages/hiccup-carbon-icons/src/xml.ts index 2b0d5f5d5a..0aee5e7a83 100644 --- a/packages/hiccup-carbon-icons/src/xml.ts +++ b/packages/hiccup-carbon-icons/src/xml.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#XML */ // prettier-ignore -export const XML: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M24 21V9h-2v14h8v-2h-6zM18 9l-1.52 5-.48 1.98-.46-1.98L14 9h-2v14h2v-8l-.16-2 .58 2L16 19.63 17.58 15l.58-2-.16 2v8h2V9h-2zM10 9H8l-2 6-2-6H2l2.75 7L2 23h2l2-6 2 6h2l-2.75-7L10 9z" }]]; +export const XML = svg( + ["path", { d: "M24 21V9h-2v14h8v-2h-6zM18 9l-1.52 5-.48 1.98-.46-1.98L14 9h-2v14h2v-8l-.16-2 .58 2L16 19.63 17.58 15l.58-2-.16 2v8h2V9h-2zM10 9H8l-2 6-2-6H2l2.75 7L2 23h2l2-6 2 6h2l-2.75-7L10 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/y-axis.ts b/packages/hiccup-carbon-icons/src/y-axis.ts index 7151f4ade0..ba1b26437e 100644 --- a/packages/hiccup-carbon-icons/src/y-axis.ts +++ b/packages/hiccup-carbon-icons/src/y-axis.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#Y_AXIS */ // prettier-ignore -export const Y_AXIS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M8 26V7.828l2.586 2.586L12 9 7 4 2 9l1.414 1.414L6 7.828V26a2.002 2.002 0 002 2h20v-2z" }]]; +export const Y_AXIS = svg( + ["path", { d: "M8 26V7.828l2.586 2.586L12 9 7 4 2 9l1.414 1.414L6 7.828V26a2.002 2.002 0 002 2h20v-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/z-axis.ts b/packages/hiccup-carbon-icons/src/z-axis.ts index 5cf2d25746..35b0fafe11 100644 --- a/packages/hiccup-carbon-icons/src/z-axis.ts +++ b/packages/hiccup-carbon-icons/src/z-axis.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#Z_AXIS */ // prettier-ignore -export const Z_AXIS: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M26 22v3.586l-9-9V5.828l2.586 2.586L21 7l-5-5-5 5 1.414 1.414L15 5.828v10.758l-9 9V22H4v7h7v-2H7.414L16 18.414 24.586 27H21v2h7v-7h-2z" }]]; +export const Z_AXIS = svg( + ["path", { d: "M26 22v3.586l-9-9V5.828l2.586 2.586L21 7l-5-5-5 5 1.414 1.414L15 5.828v10.758l-9 9V22H4v7h7v-2H7.414L16 18.414 24.586 27H21v2h7v-7h-2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/zip-reference.ts b/packages/hiccup-carbon-icons/src/zip-reference.ts index ebe83cb246..082a0fd24e 100644 --- a/packages/hiccup-carbon-icons/src/zip-reference.ts +++ b/packages/hiccup-carbon-icons/src/zip-reference.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ZIP_REFERENCE */ // prettier-ignore -export const ZIP_REFERENCE: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 2h-6v14h2v-5h4a2 2 0 002-2V4a2 2 0 00-2-2zm0 7h-4V4h4zM12 4h3v10h-3v2h8v-2h-3V4h3V2h-8v2zM2 4h6L2 14v2h8v-2H4l6-10V2H2v2z" }]]; +export const ZIP_REFERENCE = svg( + ["path", { d: "M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8H4zM28 2h-6v14h2v-5h4a2 2 0 002-2V4a2 2 0 00-2-2zm0 7h-4V4h4zM12 4h3v10h-3v2h8v-2h-3V4h3V2h-8v2zM2 4h6L2 14v2h8v-2H4l6-10V2H2v2z" }] +); diff --git a/packages/hiccup-carbon-icons/src/zip.ts b/packages/hiccup-carbon-icons/src/zip.ts index 85bc2f2841..b945c6f39f 100644 --- a/packages/hiccup-carbon-icons/src/zip.ts +++ b/packages/hiccup-carbon-icons/src/zip.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ZIP */ // prettier-ignore -export const ZIP: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M28 9h-6v14h2v-5h4a2 2 0 002-2v-5a2 2 0 00-2-2zm0 7h-4v-5h4zM12 9v2h3v10h-3v2h8v-2h-3V11h3V9h-8zM10 9H2v2h6L2 21v2h8v-2H4l6-10V9z" }]]; +export const ZIP = svg( + ["path", { d: "M28 9h-6v14h2v-5h4a2 2 0 002-2v-5a2 2 0 00-2-2zm0 7h-4v-5h4zM12 9v2h3v10h-3v2h8v-2h-3V11h3V9h-8zM10 9H2v2h6L2 21v2h8v-2H4l6-10V9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/zoom-in.ts b/packages/hiccup-carbon-icons/src/zoom-in.ts index f2bab89ed8..d463349018 100644 --- a/packages/hiccup-carbon-icons/src/zoom-in.ts +++ b/packages/hiccup-carbon-icons/src/zoom-in.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ZOOM_IN */ // prettier-ignore -export const ZOOM_IN: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M19 13h-4V9h-2v4H9v2h4v4h2v-4h4v-2z" }], - ["path", { d: "M22.45 21A10.87 10.87 0 0025 14a11 11 0 10-11 11 10.87 10.87 0 007-2.55L28.59 30 30 28.59zM14 23a9 9 0 119-9 9 9 0 01-9 9z" }]]; +export const ZOOM_IN = svg( + ["path", { d: "M19 13h-4V9h-2v4H9v2h4v4h2v-4h4v-2z" }], + ["path", { d: "M22.45 21A10.87 10.87 0 0025 14a11 11 0 10-11 11 10.87 10.87 0 007-2.55L28.59 30 30 28.59zM14 23a9 9 0 119-9 9 9 0 01-9 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/zoom-out.ts b/packages/hiccup-carbon-icons/src/zoom-out.ts index cfd3bdb082..498c1ebc41 100644 --- a/packages/hiccup-carbon-icons/src/zoom-out.ts +++ b/packages/hiccup-carbon-icons/src/zoom-out.ts @@ -1,8 +1,10 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ZOOM_OUT */ // prettier-ignore -export const ZOOM_OUT: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M9 13h10v2H9z" }], - ["path", { d: "M22.45 21A10.87 10.87 0 0025 14a11 11 0 10-11 11 10.87 10.87 0 007-2.55L28.59 30 30 28.59zM14 23a9 9 0 119-9 9 9 0 01-9 9z" }]]; +export const ZOOM_OUT = svg( + ["path", { d: "M9 13h10v2H9z" }], + ["path", { d: "M22.45 21A10.87 10.87 0 0025 14a11 11 0 10-11 11 10.87 10.87 0 007-2.55L28.59 30 30 28.59zM14 23a9 9 0 119-9 9 9 0 01-9 9z" }] +); diff --git a/packages/hiccup-carbon-icons/src/zoom-reset.ts b/packages/hiccup-carbon-icons/src/zoom-reset.ts index 935e7ef479..4f099c53da 100644 --- a/packages/hiccup-carbon-icons/src/zoom-reset.ts +++ b/packages/hiccup-carbon-icons/src/zoom-reset.ts @@ -1,7 +1,9 @@ +import { svg } from "./_svg"; + /** * https://demo.thi.ng/umbrella/hiccup-carbon-icons/#ZOOM_RESET */ // prettier-ignore -export const ZOOM_RESET: any[] = - ["svg", { viewBox: "0 0 32 32" }, - ["path", { d: "M22.448 21A10.855 10.855 0 0025 14 10.99 10.99 0 006 6.466V2H4v8h8V8H7.332a8.977 8.977 0 11-2.1 8h-2.04A11.012 11.012 0 0014 25a10.855 10.855 0 007-2.552L28.586 30 30 28.586z" }]]; +export const ZOOM_RESET = svg( + ["path", { d: "M22.448 21A10.855 10.855 0 0025 14 10.99 10.99 0 006 6.466V2H4v8h8V8H7.332a8.977 8.977 0 11-2.1 8h-2.04A11.012 11.012 0 0014 25a10.855 10.855 0 007-2.552L28.586 30 30 28.586z" }] +); diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index b5a0580fbc..9551edbec6 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.44...@thi.ng/hiccup-css@1.1.45) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.43...@thi.ng/hiccup-css@1.1.44) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.42...@thi.ng/hiccup-css@1.1.43) (2020-12-22) +## [1.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.48...@thi.ng/hiccup-css@1.1.49) (2021-02-20) **Note:** Version bump only for package @thi.ng/hiccup-css diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index a6b919c356..dd6aa76da2 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-css", - "version": "1.1.45", + "version": "1.1.49", "description": "CSS from nested JS data structures", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/hiccup-html/CHANGELOG.md b/packages/hiccup-html/CHANGELOG.md index dcb8ec40d5..27808f74f9 100644 --- a/packages/hiccup-html/CHANGELOG.md +++ b/packages/hiccup-html/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.10...@thi.ng/hiccup-html@0.3.11) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hiccup-html - - - - - -## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.9...@thi.ng/hiccup-html@0.3.10) (2020-12-22) +## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.11...@thi.ng/hiccup-html@0.3.12) (2021-02-20) **Note:** Version bump only for package @thi.ng/hiccup-html diff --git a/packages/hiccup-html/README.md b/packages/hiccup-html/README.md index 3306301f81..a52d7407de 100644 --- a/packages/hiccup-html/README.md +++ b/packages/hiccup-html/README.md @@ -194,9 +194,10 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | -| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | ## API diff --git a/packages/hiccup-html/package.json b/packages/hiccup-html/package.json index a52c5b6bb0..97f10dcc21 100644 --- a/packages/hiccup-html/package.json +++ b/packages/hiccup-html/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-html", - "version": "0.3.11", + "version": "0.3.12", "description": "100+ type-checked HTML5 element functions for @thi.ng/hiccup related infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -41,14 +41,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index 8237136b9a..0740ce4395 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.41...@thi.ng/hiccup-markdown@1.2.42) (2021-01-10) +## [1.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.0...@thi.ng/hiccup-markdown@1.3.1) (2021-02-20) **Note:** Version bump only for package @thi.ng/hiccup-markdown @@ -11,25 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.2.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.40...@thi.ng/hiccup-markdown@1.2.41) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.39...@thi.ng/hiccup-markdown@1.2.40) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - +# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.44...@thi.ng/hiccup-markdown@1.3.0) (2021-01-22) +### Features -## [1.2.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.38...@thi.ng/hiccup-markdown@1.2.39) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown +* **hiccup-markdown:** update DEFAULT_TAGS ([8f7f9d4](https://github.com/thi-ng/umbrella/commit/8f7f9d4b9b040799a5a981bfe00b82f233ce87bb)) diff --git a/packages/hiccup-markdown/README.md b/packages/hiccup-markdown/README.md index 8ea441f0c3..602b3199f5 100644 --- a/packages/hiccup-markdown/README.md +++ b/packages/hiccup-markdown/README.md @@ -56,7 +56,7 @@ yarn add @thi.ng/hiccup-markdown ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.73 KB / CJS: 2.77 KB / UMD: 2.66 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.73 KB / CJS: 2.78 KB / UMD: 2.67 KB ## Dependencies diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index b20733dd41..a0c43d58e6 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.2.42", + "version": "1.3.1", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -42,23 +42,23 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/fsm": "^2.4.33", - "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/text-canvas": "^0.4.1", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/fsm": "^2.4.37", + "@thi.ng/hiccup": "^3.6.8", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/text-canvas": "^0.4.5", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/hiccup-markdown/src/parse.ts b/packages/hiccup-markdown/src/parse.ts index 62670bd6f1..d9f5d0aaaf 100644 --- a/packages/hiccup-markdown/src/parse.ts +++ b/packages/hiccup-markdown/src/parse.ts @@ -59,22 +59,22 @@ interface FSMCtx { * Default hiccup element factories */ const DEFAULT_TAGS: TagFactories = { - blockquote: (xs) => ["blockquote", ...xs], - code: (body) => ["code", body], + blockquote: (xs) => ["blockquote", {}, ...xs], + code: (body) => ["code", {}, body], codeblock: (lang, body) => ["pre", { lang }, body], - em: (body) => ["em", body], - heading: (level, xs) => [level < 7 ? `h${level}` : "p", ...xs], - hr: () => ["hr"], + em: (body) => ["em", {}, body], + heading: (level, xs) => [level < 7 ? `h${level}` : "p", {}, ...xs], + hr: () => ["hr", {}], img: (src, alt) => ["img", { src, alt }], - li: (xs: any[]) => ["li", ...xs], + li: (xs: any[]) => ["li", {}, ...xs], link: (href, body) => ["a", { href }, body], - list: (type, xs) => [type, ...xs], - paragraph: (xs) => ["p", ...xs], - strong: (body) => ["strong", body], - strike: (body) => ["del", body], - table: (rows) => ["table", ["tbody", ...rows]], - td: (_, xs) => ["td", ...xs], - tr: (_, xs) => ["tr", ...xs], + list: (type, xs) => [type, {}, ...xs], + paragraph: (xs) => ["p", {}, ...xs], + strong: (body) => ["strong", {}, body], + strike: (body) => ["del", {}, body], + table: (rows) => ["table", {}, ["tbody", {}, ...rows]], + td: (_, xs) => ["td", {}, ...xs], + tr: (_, xs) => ["tr", {}, ...xs], }; const BQUOTE = ">"; @@ -134,7 +134,9 @@ const collectAndRestart = (tag: (xs: any[]) => any[]) => ( ): ParseResult => [State.START, [tag(collectChildren(ctx))]]; const collectBlockQuote = (ctx: FSMCtx): ParseResult => ( - ctx.children!.push(ctx.body, ["br"]), (ctx.body = ""), [State.BLOCKQUOTE] + ctx.children!.push(ctx.body, ["br", {}]), + (ctx.body = ""), + [State.BLOCKQUOTE] ); const collectCodeBlock = (tag: Fn2) => ( diff --git a/packages/hiccup-markdown/test/parse.ts b/packages/hiccup-markdown/test/parse.ts index 8a5261efe1..058f5f7648 100644 --- a/packages/hiccup-markdown/test/parse.ts +++ b/packages/hiccup-markdown/test/parse.ts @@ -8,8 +8,8 @@ const check = (src: string, expected: any[]) => describe("parse", () => { it("CRLF", () => { check(`# hello\r\n\r\nworld\r\n\r\n`, [ - ["h1", " hello "], - ["p", "world "], + ["h1", {}, " hello "], + ["p", {}, "world "], ]); }); @@ -17,12 +17,13 @@ describe("parse", () => { check(`>a block **quote** of\n> two _lines_.\n\n`, [ [ "blockquote", + {}, "a block ", - ["strong", "quote"], + ["strong", {}, "quote"], " of ", - ["br"], + ["br", {}], " two ", - ["em", "lines"], + ["em", {}, "lines"], ". ", ], ]); @@ -30,7 +31,13 @@ describe("parse", () => { it("code", () => { check("inline `const example = 'indeed!'` code\n\n", [ - ["p", "inline ", ["code", "const example = 'indeed!'"], " code "], + [ + "p", + {}, + "inline ", + ["code", {}, "const example = 'indeed!'"], + " code ", + ], ]); }); @@ -42,61 +49,61 @@ describe("parse", () => { it("em", () => { check(`some _emphasized_ text\n\n`, [ - ["p", "some ", ["em", "emphasized"], " text "], + ["p", {}, "some ", ["em", {}, "emphasized"], " text "], ]); }); it("h1", () => { check(`# Heading One\n\nbody\n\n`, [ - ["h1", " Heading One "], - ["p", "body "], + ["h1", {}, " Heading One "], + ["p", {}, "body "], ]); }); it("h2", () => { check(`## Heading Two\n\nbody\n\n`, [ - ["h2", " Heading Two "], - ["p", "body "], + ["h2", {}, " Heading Two "], + ["p", {}, "body "], ]); }); it("h3", () => { check(`### Heading Three\n\nbody\n\n`, [ - ["h3", " Heading Three "], - ["p", "body "], + ["h3", {}, " Heading Three "], + ["p", {}, "body "], ]); }); it("h4", () => { check(`#### Heading Four\n\nbody\n\n`, [ - ["h4", " Heading Four "], - ["p", "body "], + ["h4", {}, " Heading Four "], + ["p", {}, "body "], ]); }); it("h5", () => { check(`##### Heading Five\n\nbody\n\n`, [ - ["h5", " Heading Five "], - ["p", "body "], + ["h5", {}, " Heading Five "], + ["p", {}, "body "], ]); }); it("h6", () => { check(`###### Heading Six\n\nbody\n\n`, [ - ["h6", " Heading Six "], - ["p", "body "], + ["h6", {}, " Heading Six "], + ["p", {}, "body "], ]); }); it("h7", () => { check(`####### Heading Seven\n\nbody\n\n`, [ - ["p", " Heading Seven "], - ["p", "body "], + ["p", {}, " Heading Seven "], + ["p", {}, "body "], ]); }); it("hr", () => { - check(`---\n`, [["hr"]]); + check(`---\n`, [["hr", {}]]); }); it("img", () => { @@ -105,6 +112,7 @@ describe("parse", () => { [ [ "p", + {}, [ "img", { @@ -121,7 +129,7 @@ describe("parse", () => { it("li", () => { check(`- an item\n- another\n\n`, [ - ["ul", ["li", "an item "], ["li", "another "]], + ["ul", {}, ["li", {}, "an item "], ["li", {}, "another "]], ]); }); @@ -129,6 +137,7 @@ describe("parse", () => { check(`come [to](http://thi.ng/umbrella) the light\n\n`, [ [ "p", + {}, "come ", ["a", { href: "http://thi.ng/umbrella" }, "to"], " the light ", @@ -138,13 +147,13 @@ describe("parse", () => { it("strike", () => { check(`I ~~am amazing~~ messed up\n\n`, [ - ["p", "I ", ["del", "am amazing"], " messed up "], + ["p", {}, "I ", ["del", {}, "am amazing"], " messed up "], ]); }); it("strong", () => { check(`I **really** meant that\n\n`, [ - ["p", "I ", ["strong", "really"], " meant that "], + ["p", {}, "I ", ["strong", {}, "really"], " meant that "], ]); }); @@ -152,10 +161,12 @@ describe("parse", () => { check(`| col1 | col2 |\n| --- | --- |\n| row1 | row2 |\n\n`, [ [ "table", + {}, [ "tbody", - ["tr", ["td", " col1 "], ["td", " col2 "]], - ["tr", ["td", " row1 "], ["td", " row2 "]], + {}, + ["tr", {}, ["td", {}, " col1 "], ["td", {}, " col2 "]], + ["tr", {}, ["td", {}, " row1 "], ["td", {}, " row2 "]], ], ], ]); diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index 2f84be17fb..251cd4473e 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.7.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.1...@thi.ng/hiccup-svg@3.7.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.0...@thi.ng/hiccup-svg@3.7.1) (2021-01-05) +## [3.7.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.5...@thi.ng/hiccup-svg@3.7.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/hiccup-svg @@ -30,14 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [3.6.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.6.5...@thi.ng/hiccup-svg@3.6.6) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - # [3.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.5.11...@thi.ng/hiccup-svg@3.6.0) (2020-09-13) diff --git a/packages/hiccup-svg/README.md b/packages/hiccup-svg/README.md index b4459b7a94..2328906822 100644 --- a/packages/hiccup-svg/README.md +++ b/packages/hiccup-svg/README.md @@ -153,7 +153,7 @@ yarn add @thi.ng/hiccup-svg ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.51 KB / CJS: 2.63 KB / UMD: 2.56 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.51 KB / CJS: 2.62 KB / UMD: 2.55 KB ## Dependencies diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 352360e4f8..3f66e7c60f 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "3.7.2", + "version": "3.7.6", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/checks": "^2.8.0", - "@thi.ng/color": "^2.1.2", - "@thi.ng/prefixes": "^0.1.10" + "@thi.ng/checks": "^2.9.0", + "@thi.ng/color": "^3.0.0", + "@thi.ng/prefixes": "^0.1.12" }, "files": [ "*.js", diff --git a/packages/hiccup-svg/src/format.ts b/packages/hiccup-svg/src/format.ts index c9b5a04207..9eda85b5a6 100644 --- a/packages/hiccup-svg/src/format.ts +++ b/packages/hiccup-svg/src/format.ts @@ -1,5 +1,5 @@ import { isArrayLike, isString } from "@thi.ng/checks"; -import { resolveAsCSS } from "@thi.ng/color"; +import { css } from "@thi.ng/color"; import type { Vec2Like } from "./api"; let PRECISION = 2; @@ -112,7 +112,8 @@ const buildTransform = (attribs: any) => { }; /** - * Attempts to convert a single color attrib value. + * Attempts to convert a single color attrib value. If `col` is prefixed with + * `$`, the value will be converted into a `url(#...)` reference. * * {@link fattribs} * @@ -125,7 +126,7 @@ export const fcolor = (col: any) => ? col[0] === "$" ? `url(#${col.substr(1)})` : col - : resolveAsCSS(col); + : css(col); export const withoutKeys = (src: any, keys: Set) => { const dest: any = {}; diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index 58017caeff..b0063710f5 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.6.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.6...@thi.ng/hiccup@3.6.7) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.6.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.5...@thi.ng/hiccup@3.6.6) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.6.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.4...@thi.ng/hiccup@3.6.5) (2020-12-22) +## [3.6.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.7...@thi.ng/hiccup@3.6.8) (2021-02-20) **Note:** Version bump only for package @thi.ng/hiccup diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 88ee7bec24..5638316fa3 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "3.6.7", + "version": "3.6.8", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "module": "./index.js", "main": "./lib/index.js", @@ -40,19 +40,19 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/atom": "^4.1.27", + "@thi.ng/atom": "^4.1.28", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md index 71b1ddb7c3..daa20fffbe 100644 --- a/packages/idgen/CHANGELOG.md +++ b/packages/idgen/CHANGELOG.md @@ -3,20 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.28...@thi.ng/idgen@0.2.29) (2021-01-02) +## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.29...@thi.ng/idgen@0.2.30) (2021-02-20) +**Note:** Version bump only for package @thi.ng/idgen -### Performance Improvements -* **idgen:** minor updates IDGen, add doc strings ([1c0e284](https://github.com/thi-ng/umbrella/commit/1c0e284e9f48d4a37a55f74db0fb2b6eade9dc89)) +## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.28...@thi.ng/idgen@0.2.29) (2021-01-02) -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.27...@thi.ng/idgen@0.2.28) (2020-12-22) +### Performance Improvements -**Note:** Version bump only for package @thi.ng/idgen +* **idgen:** minor updates IDGen, add doc strings ([1c0e284](https://github.com/thi-ng/umbrella/commit/1c0e284e9f48d4a37a55f74db0fb2b6eade9dc89)) diff --git a/packages/idgen/package.json b/packages/idgen/package.json index 959a97e1df..920f5929a5 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/idgen", - "version": "0.2.29", + "version": "0.2.30", "description": "Generator of opaque numeric identifiers with optional support for ID versioning and efficient re-use", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", + "@thi.ng/api": "^7.0.0", "tslib": "2.0.1" }, "files": [ diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index 22ac4a6d86..06939db62e 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.55...@thi.ng/iges@1.1.56) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.54...@thi.ng/iges@1.1.55) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.53...@thi.ng/iges@1.1.54) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.52...@thi.ng/iges@1.1.53) (2020-12-22) +## [1.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.59...@thi.ng/iges@1.1.60) (2021-02-20) **Note:** Version bump only for package @thi.ng/iges diff --git a/packages/iges/README.md b/packages/iges/README.md index bddb35f136..e54956d133 100644 --- a/packages/iges/README.md +++ b/packages/iges/README.md @@ -46,7 +46,7 @@ yarn add @thi.ng/iges ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.83 KB / CJS: 2.87 KB / UMD: 2.80 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.83 KB / CJS: 2.93 KB / UMD: 2.85 KB ## Dependencies diff --git a/packages/iges/package.json b/packages/iges/package.json index 425eebbdf1..0a76a4b033 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "1.1.56", + "version": "1.1.60", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index 11b0aa1c1c..c3150aa8f0 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.48...@thi.ng/imgui@0.2.49) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.47...@thi.ng/imgui@0.2.48) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.46...@thi.ng/imgui@0.2.47) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.45...@thi.ng/imgui@0.2.46) (2020-12-22) +## [0.2.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.52...@thi.ng/imgui@0.2.53) (2021-02-20) **Note:** Version bump only for package @thi.ng/imgui diff --git a/packages/imgui/README.md b/packages/imgui/README.md index 06557a5011..4318a0b952 100644 --- a/packages/imgui/README.md +++ b/packages/imgui/README.md @@ -239,7 +239,7 @@ yarn add @thi.ng/imgui ``` -Package sizes (gzipped, pre-treeshake): ESM: 6.75 KB / CJS: 6.95 KB / UMD: 6.99 KB +Package sizes (gzipped, pre-treeshake): ESM: 6.75 KB / CJS: 6.96 KB / UMD: 7.00 KB ## Dependencies diff --git a/packages/imgui/package.json b/packages/imgui/package.json index fa9123e974..c924cc600c 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.49", + "version": "0.2.53", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -42,23 +42,23 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom": "^2.0.3", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-tessellate": "^0.2.54", - "@thi.ng/layout": "^0.1.28", - "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom": "^2.1.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/geom-isec": "^0.7.9", + "@thi.ng/geom-tessellate": "^0.2.58", + "@thi.ng/layout": "^0.1.29", + "@thi.ng/math": "^3.2.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/imgui/src/behaviors/text.ts b/packages/imgui/src/behaviors/text.ts index b8d1aa5d01..3b47ca1237 100644 --- a/packages/imgui/src/behaviors/text.ts +++ b/packages/imgui/src/behaviors/text.ts @@ -1,4 +1,5 @@ import type { Predicate } from "@thi.ng/api"; +import { clamp0 } from "@thi.ng/math"; import { Key } from "../api"; import type { IMGUI } from "../gui"; @@ -41,7 +42,7 @@ export const handleTextfieldKeys = ( } else if (drawCursor + delta > maxLen) { state.offset = Math.min( state.offset + delta, - Math.max(0, txtLen - maxLen) + clamp0(txtLen - maxLen) ); } }; diff --git a/packages/imgui/src/components/dropdown.ts b/packages/imgui/src/components/dropdown.ts index da6216c7e8..fffcaa6aeb 100644 --- a/packages/imgui/src/components/dropdown.ts +++ b/packages/imgui/src/components/dropdown.ts @@ -1,5 +1,6 @@ import { polygon } from "@thi.ng/geom"; import { gridLayout, IGridLayout, isLayout, LayoutBox } from "@thi.ng/layout"; +import { clamp0 } from "@thi.ng/math"; import { hash } from "@thi.ng/vectors"; import { Key } from "../api"; import type { IMGUI } from "../gui"; @@ -56,7 +57,7 @@ export const dropdown = ( gui.setState(id, false); break; case Key.UP: - return update(gui, id, Math.max(0, sel - 1)); + return update(gui, id, clamp0(sel - 1)); case Key.DOWN: return update( gui, diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index fe954d5790..d926d2aedd 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.37...@thi.ng/interceptors@2.2.38) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.36...@thi.ng/interceptors@2.2.37) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.35...@thi.ng/interceptors@2.2.36) (2020-12-22) +## [2.2.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.38...@thi.ng/interceptors@2.2.39) (2021-02-20) **Note:** Version bump only for package @thi.ng/interceptors diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index 72450dc702..5f64303d5d 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/interceptors", - "version": "2.2.38", + "version": "2.2.39", "description": "Interceptor based event bus, side effect & immutable state handling", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/atom": "^4.1.27", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/paths": "^4.1.13" + "@thi.ng/api": "^7.0.0", + "@thi.ng/atom": "^4.1.28", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/paths": "^4.2.0" }, "files": [ "*.js", diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md index 79650e4e0d..b072d73380 100644 --- a/packages/intervals/CHANGELOG.md +++ b/packages/intervals/CHANGELOG.md @@ -3,25 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.1.4...@thi.ng/intervals@2.1.5) (2021-01-10) +# [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.1.5...@thi.ng/intervals@3.0.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.1.3...@thi.ng/intervals@2.1.4) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/intervals +### Code Refactoring +* **intervals:** restructure for functional API ([e05d723](https://github.com/thi-ng/umbrella/commit/e05d723c044f4fe544143afe4263ed936f0d11a0)) +### BREAKING CHANGES -## [2.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.1.2...@thi.ng/intervals@2.1.3) (2020-12-22) +* **intervals:** the API has been updated to be largely functional -**Note:** Version bump only for package @thi.ng/intervals +- replace all static and most instance methods w/ standalone functions +- only class methods remaining are to implement these standard interfaces: + `ICompare`, `IContains`, `ICopy`, `IEquiv` +- add samples() iterator +- update/replace values() iterator +- add doc strings +- add/update tests diff --git a/packages/intervals/README.md b/packages/intervals/README.md index f0f6cc0a67..1fbc9d9d06 100644 --- a/packages/intervals/README.md +++ b/packages/intervals/README.md @@ -11,8 +11,10 @@ This project is part of the - [About](#about) - [Status](#status) + - [Breaking changes](#breaking-changes) - [Installation](#installation) - [Dependencies](#dependencies) +- [Usage examples](#usage-examples) - [API](#api) - [Authors](#authors) - [Maintainer](#maintainer) @@ -28,7 +30,7 @@ Supports point & range queries and set operations with other intervals Furthermore, a parser for [ISO 80000-2 / ISO 31-11 interval notation](https://en.wikipedia.org/wiki/ISO_31-11#Sets) is provided. See -[`Interval.parse()`](https://github.com/thi-ng/umbrella/blob/develop/packages/intervals/src/index.ts#L25) +[`parse()`](https://github.com/thi-ng/umbrella/blob/develop/packages/intervals/src/index.ts#L108) for details. ### Status @@ -37,6 +39,13 @@ for details. [Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bintervals%5D+in%3Atitle) +#### Breaking changes + +With version 3.0.0 the API has been updated to be largely functional rather than +OOP, with all static (and most instance) `Interval` methods converted into +standalone functions. The only class methods remaining are to implement these +standard interfaces: `ICompare`, `IContains`, `ICopy`, `IEquiv`. + ## Installation ```bash @@ -51,7 +60,7 @@ yarn add @thi.ng/intervals ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.50 KB / CJS: 1.56 KB / UMD: 1.65 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.63 KB / CJS: 1.78 KB / UMD: 1.73 KB ## Dependencies @@ -60,20 +69,30 @@ Package sizes (gzipped, pre-treeshake): ESM: 1.50 KB / CJS: 1.56 KB / UMD: 1.65 - [@thi.ng/dlogic](https://github.com/thi-ng/umbrella/tree/develop/packages/dlogic) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +## Usage examples + +Several demos in this repo's +[/examples](https://github.com/thi-ng/umbrella/tree/develop/examples) +directory are using this package. + +A selection: + +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------- | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | + ## API [Generated API docs](https://docs.thi.ng/umbrella/intervals/) ```ts -import { interval, Interval } from "@thi.ng/intervals"; - // [0 .. +∞] (fully closed) -a = Interval.withMin(0); +a = withMin(0); // [-∞ .. 1) (open on RHS) -b = Interval.withMax(1, true); +b = withMax(1, true); -i = a.intersection(b); +i = intersection(a, b); i.toString(); // [0 .. 1) @@ -81,68 +100,76 @@ i.toString(); interval("[0 .. 1)") // Interval { l: 0, r: 1, lopen: false, ropen: true } +contains(i, 1); +// or i.contains(1); // false (because interval is open on RHS) -i.contains(0.999999); +contains(i, 0.999999); // true // classify interval relative to point (true if RHS < x) -i.isBefore(-1) +isBefore(i, -1) // false -i.isBefore(1) +isBefore(i, 1) // true // classify interval relative to point (true if LHS > x) -i.isAfter(-1); +isAfter(i, -1); // true -i.isAfter(1); +isAfter(i, 1); // false // grow interval to include 2 => [0 ... 2] -i2 = i.include(2); +i2 = include(i, 2); // sort order: LHS -> RHS -i.compare(i2); +compare(i, i2); // -1 // classify WRT given interval arg -i.classify(Interval.infinity()); +// returns Classifier enum +classify(i, infinity()); // 3 (aka Classifier.SUBSET) // create transformed interval // (here scaled around centroid) -i.map((x) => x + (x - i.centroid()) * 2).toString(); +transform(i, (x) => x + (x - centroid(i)) * 2).toString(); // [-1 .. 2) // iterator of decimated interval values -[...i.values(0.25)]; +[...values(i, 0.25)]; // [ 0, 0.25, 0.5, 0.75 ] // close RHS i.ropen = false; -[...i.values(0.25)]; +// iterator of 0.25-spaced values in interval +[...values(i, 0.25)]; // [ 0, 0.25, 0.5, 0.75, 1 ] => now includes 1 +// iterator of n equidistant samples +[...samples(i, 4)] +// [ 0, 0.3333333333333333, 0.6666666666666666, 1 ] + // constrain values to interval (taking openness into account) -interval("(0..1)").max(-2) +max(interval("(0..1)"), -2) // 0.000001 // if given value is outside interval, uses opt epsilon value // to return closest inside value (default: 1e-6)... -interval("(0..1)").max(-2, 1e-3) +max(interval("(0..1)"), -2, 1e-3) // 0.001 -interval("(0..1)").min(2, 1e-3) +min(interval("(0..1)"), 2, 1e-3) // 0.999 // clamp on both sides -interval("[0..1)").clamp(-2, 1e-3) +clamp(interval("[0..1)"), -2, 1e-3) // 0 -interval("[0..1)").clamp(2, 1e-3) +clamp(interval("[0..1)"), 2, 1e-3) // 0.999 ``` diff --git a/packages/intervals/package.json b/packages/intervals/package.json index dfb1399a03..7069cca9ca 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/intervals", - "version": "2.1.5", + "version": "3.0.0", "description": "Closed/open/semi-open interval data type, queries & operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/dlogic": "^1.0.37", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/dlogic": "^1.0.38", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/intervals/src/index.ts b/packages/intervals/src/index.ts index 1c64581b1b..50cb1cf938 100644 --- a/packages/intervals/src/index.ts +++ b/packages/intervals/src/index.ts @@ -21,124 +21,8 @@ export enum Classifier { OVERLAP_RIGHT, } -const BRACES = "()[]"; -const RE_INF = /^([-+])?(inf(inity)?|\u221e)$/i; - -export function interval(spec: string): Interval; -export function interval( - l: number, - r: number, - lopen?: boolean, - ropen?: boolean -): Interval; -export function interval( - l: number | string, - r?: number, - lopen?: boolean, - ropen?: boolean -) { - return isString(l) ? Interval.parse(l) : new Interval(l, r!, lopen, ropen); -} - export class Interval implements ICompare, IContains, ICopy, IEquiv { - /** - * Parses given ISO 80000-2 interval notation into a new `Interval` - * instance. In addition to the comma separator, `..` can be used - * alternatively. The following symbols (with optional sign) can be - * used for infinity (case insensitive): - * - * - inf - * - infinity - * - ∞ (\u221e) - * - * An empty LHS defaults to `-Infinity`. The RHS defaults to - * `+Infinity`. - * - * Openness / closedness symbols: - * - * - LHS: open: `]` / `(`, closed: `[` - * - RHS: open: `[` / `)`, closed: `]` - * - * ``` - * // semi-open interval between -∞ and +1 - * Interval.parse("[,1)") - * - * // closed interval between -1 and +1 - * Interval.parse("[-1 .. 1]") - * ``` - * - * @param src - - */ - static parse(src: string) { - let l, r, c1, c2; - const n = src.length - 1; - const comma = src.indexOf(",") > 0; - const dot = src.indexOf("..") > 0; - if (n < (dot ? 3 : 2)) { - illegalArgs(src); - } - c1 = src.charAt(0); - c2 = src.charAt(n); - if ( - BRACES.indexOf(c1) < 0 || - BRACES.indexOf(c2) < 0 || - !(comma || dot) - ) { - illegalArgs(src); - } - [l, r] = src - .substring(1, n) - .split(dot ? ".." : ",") - .map((x, i) => { - x = x.trim(); - const inf = RE_INF.exec(x); - const n = - (x === "" && i === 0) || (inf && inf[1] === "-") - ? -Infinity - : (x === "" && i > 0) || (inf && inf[1] !== "-") - ? Infinity - : parseFloat(x); - isNaN(n) && illegalArgs(`expected number: '${x}'`); - return n; - }); - r === undefined && (r = Infinity); - return new Interval( - l, - r, - c1 === "(" || c1 === "]", - c2 === ")" || c2 === "[" - ); - } - - static infinity() { - return new Interval(-Infinity, Infinity); - } - - static withMin(min: number, open = false) { - return new Interval(min, Infinity, open, false); - } - - static withMax(max: number, open = false) { - return new Interval(-Infinity, max, false, open); - } - - static openOpen(min: number, max: number) { - return new Interval(min, max, true, true); - } - - static openClosed(min: number, max: number) { - return new Interval(min, max, true, false); - } - - static closedOpen(min: number, max: number) { - return new Interval(min, max, false, true); - } - - static closedClosed(min: number, max: number) { - return new Interval(min, max, false, false); - } - l: number; r: number; @@ -147,19 +31,15 @@ export class Interval constructor(l: number, r: number, lopen = false, ropen = false) { (l > r || (l === r && lopen !== ropen)) && - illegalArgs(`invalid interval: ${toString(l, r, lopen, ropen)}`); + illegalArgs(`invalid interval: ${$toString(l, r, lopen, ropen)}`); this.l = l; this.r = r; this.lopen = lopen; this.ropen = ropen; } - *values(step: number) { - const n = this.r + (this.ropen ? 0 : step); - let i = this.l + (this.lopen ? step : 0); - for (; i < n; i += step) { - yield i; - } + get size(): number { + return isEmpty(this) ? 0 : this.r - this.l; } copy() { @@ -173,19 +53,7 @@ export class Interval * @param i - */ compare(i: Readonly) { - if (this === i) return 0; - let c: number; - return this.l < i.l - ? -1 - : this.l > i.l - ? 1 - : this.r < i.r - ? -1 - : this.r > i.r - ? 1 - : (c = ~~this.lopen - ~~i.lopen) === 0 - ? ~~i.ropen - ~~this.ropen - : c; + return compare(this, i); } equiv(i: any) { @@ -199,268 +67,482 @@ export class Interval ); } - size() { - return this.isEmpty() ? 0 : this.r - this.l; - } - - centroid() { - return (this.l + this.r) / 2; - } - - /** - * Returns true, if interval has zero range, i.e. if LHS >= RHS. - */ - isEmpty() { - return this.l >= this.r; - } - - /** - * Returns true iff this interval's RHS < `x`, taking into account - * openness. If `x` is an interval, then checks this interval's RHS - * is less than LHS of `x` (again with openness). - * - * @param x - - */ - isBefore(x: number | Readonly) { - return x instanceof Interval - ? this.ropen || x.lopen - ? this.r <= x.l - : this.r < x.l - : this.ropen - ? this.r <= x - : this.r < x; - } - - /** - * Returns true iff this interval's LHS > `x`, taking into account - * openness. If `x` is an interval, then checks this interval's LHS - * is greater than RHS of `x` (again with openness). - * - * @param x - - */ - isAfter(x: number | Readonly) { - return x instanceof Interval - ? this.lopen || x.ropen - ? this.l >= x.r - : this.l > x.r - : this.ropen - ? this.l >= x - : this.l > x; - } - /** * Returns true if `x` is lies within this interval. * * @param x - */ contains(x: number) { - return ( - (this.lopen ? x > this.l : x >= this.l) && - (this.ropen ? x < this.r : x <= this.r) - ); - } - - /** - * Returns a new version of this interval such that `x` is included. - * If `x` lies outside the current interval, the new one will be - * extended correspondingly. - * - * @param x - - */ - include(x: number) { - return this.isAfter(x) - ? new Interval(x, this.r, false, this.ropen) - : this.isBefore(x) - ? new Interval(this.l, x, this.lopen, false) - : this.copy(); - } - - /** - * Returns the distance between intervals, or zero if they touch or - * overlap. - * - * @param i - - */ - distance(i: Readonly) { - return this.overlaps(i) - ? 0 - : this.l < i.l - ? i.l - this.r - : this.l - i.r; - } - - /** - * Returns classifier for this interval WRT given interval `i`. E.g. - * if the result is `Classifier.SUPERSET`, then this interval fully - * contains `i`. - * - * ``` - * EQUIV - * [ this ] - * [ i ] - * - * DISJOINT_LEFT - * [ i ] - * [ this ] - * - * DISJOINT_RIGHT - * [ this ] - * [ i ] - * - * SUPERSET - * [ this ] - * [ i ] - * - * SUBSET - * [ i ] - * [ this ] - * - * OVERLAP_RIGHT - * [ this ] - * [ i ] - * - * OVERLAP_LEFT - * [ i ] - * [ this ] - * ``` - * - * @param i - - */ - classify(i: Readonly) { - return this.equiv(i) - ? Classifier.EQUIV - : this.isBefore(i) - ? Classifier.DISJOINT_LEFT - : this.isAfter(i) - ? Classifier.DISJOINT_RIGHT - : this.contains(i.l) - ? this.contains(i.r) - ? Classifier.SUPERSET - : Classifier.OVERLAP_RIGHT - : this.contains(i.r) - ? Classifier.OVERLAP_LEFT - : Classifier.SUBSET; - } - - /** - * Returns true if this interval intersects `i` in any way (incl. - * subset / superset). - * - * @param i - - */ - overlaps(i: Readonly) { - return this.classify(i) >= Classifier.EQUIV; - } - - union(i: Readonly) { - if (this.isEmpty()) return i; - if (i.isEmpty()) return this; - const [l, lo] = min(this.l, i.l, this.lopen, i.lopen, and); - const [r, ro] = max(this.r, i.r, this.ropen, i.ropen, and); - return new Interval(l, r, lo, ro); + return contains(this, x); } - intersection(i: Readonly) { - if (this.overlaps(i)) { - const [l, lo] = max(this.l, i.l, this.lopen, i.lopen, or); - const [r, ro] = min(this.r, i.r, this.ropen, i.ropen, or); - return new Interval(l, r, lo, ro); - } - } - - prefix(i: Readonly) { - if (this.overlaps(i)) { - const [l, lo] = min(this.l, i.l, this.lopen, i.lopen, or); - const [r, ro] = min(this.r, i.l, this.ropen, i.lopen, or); - return new Interval(l, r, lo, ro); - } + toString() { + return $toString(this.l, this.r, this.lopen, this.ropen); } - suffix(i: Readonly) { - if (this.overlaps(i)) { - const [l, lo] = max(this.l, i.r, this.lopen, i.ropen, or); - const [r, ro] = max(this.r, i.r, this.ropen, i.ropen, or); - return new Interval(l, r, lo, ro); - } + toJSON() { + return this.toString(); } +} - map(f: Fn) { - return new Interval(f(this.l), f(this.r), this.lopen, this.ropen); - } +const BRACES = "()[]"; +const RE_INF = /^([-+])?(inf(inity)?|\u221e)$/i; - /** - * Returns the lesser value of either `x` or this interval's RHS value. If - * the interval is open on the RHS, and `x >= r`, then `r - eps` will be - * returned. - * - * @param x - * @param eps - */ - min(x: number, eps = DEFAULT_EPS) { - return this.ropen - ? x >= this.r - ? this.r - eps - : x - : x > this.r - ? this.r - : x; - } +export function interval(spec: string): Interval; +export function interval( + l: number, + r: number, + lopen?: boolean, + ropen?: boolean +): Interval; +export function interval( + l: number | string, + r?: number, + lopen?: boolean, + ropen?: boolean +) { + return isString(l) ? parse(l) : new Interval(l, r!, lopen, ropen); +} - /** - * Returns the greater value of either `x` or this interval's LHS value. If - * the interval is open on the LHS, and `x <= l`, then `l + eps` will be - * returned. - * - * @param x - * @param eps - */ - max(x: number, eps = DEFAULT_EPS) { - return this.lopen - ? x <= this.l - ? this.l + eps - : x - : x < this.l - ? this.l - : x; +/** + * Parses given ISO 80000-2 interval notation into a new `Interval` + * instance. In addition to the comma separator, `..` can be used + * alternatively. The following symbols (with optional sign) can be + * used for infinity (case insensitive): + * + * - inf + * - infinity + * - ∞ (\u221e) + * + * An empty LHS defaults to `-Infinity`. The RHS defaults to + * `+Infinity`. + * + * Openness / closedness symbols: + * + * - LHS: open: `]` / `(`, closed: `[` + * - RHS: open: `[` / `)`, closed: `]` + * + * ``` + * // semi-open interval between -∞ and +1 + * Interval.parse("[,1)") + * + * // closed interval between -1 and +1 + * Interval.parse("[-1 .. 1]") + * ``` + * + * @param src - + */ +export const parse = (src: string) => { + let l, r, c1, c2; + const n = src.length - 1; + const comma = src.indexOf(",") > 0; + const dot = src.indexOf("..") > 0; + if (n < (dot ? 3 : 2)) illegalArgs(src); + c1 = src.charAt(0); + c2 = src.charAt(n); + if (BRACES.indexOf(c1) < 0 || BRACES.indexOf(c2) < 0 || !(comma || dot)) { + illegalArgs(src); + } + [l, r] = src + .substring(1, n) + .split(dot ? ".." : ",") + .map((x, i) => { + x = x.trim(); + const inf = RE_INF.exec(x); + const n = + (x === "" && i === 0) || (inf && inf[1] === "-") + ? -Infinity + : (x === "" && i > 0) || (inf && inf[1] !== "-") + ? Infinity + : parseFloat(x); + isNaN(n) && illegalArgs(`expected number: '${x}'`); + return n; + }); + r === undefined && (r = Infinity); + return new Interval( + l, + r, + c1 === "(" || c1 === "]", + c2 === ")" || c2 === "[" + ); +}; + +/** + * Returns new infinite interval `[-∞..∞]` + */ +export const infinity = () => new Interval(-Infinity, Infinity); + +/** + * Returns new interval of `[min..∞]` or `(min..∞]` depending on if `open` is + * true (default: false). + * + * @param min - + * @param open - + */ +export const withMin = (min: number, open = false) => + new Interval(min, Infinity, open, false); + +/** + * Returns new interval of `[∞..max]` or `[∞..max)` depending on if `open` is + * true (default: false). + * + * @param max - + * @param open - + */ +export const withMax = (max: number, open = false) => + new Interval(-Infinity, max, false, open); + +/** + * Returns an open interval `(min..max)` + * + * @param min + * @param max + */ +export const open = (min: number, max: number) => + new Interval(min, max, true, true); + +/** + * Returns a semi-open interval `(min..max]`, open on the LHS. + * + * @param min + * @param max + */ +export const openClosed = (min: number, max: number) => + new Interval(min, max, true, false); + +/** + * Returns a semi-open interval `[min..max)`, open on the RHS. + * + * @param min + * @param max + */ +export const closedOpen = (min: number, max: number) => + new Interval(min, max, false, true); + +/** + * Returns a closed interval `(min..max)`. + * + * @param min + * @param max + */ +export const closed = (min: number, max: number) => + new Interval(min, max, false, false); + +/** + * Returns iterator of values in given interval at given `step` size. If the + * interval is open on either side, the first and/or last sample will be + * omitted. + * + * @param i - + * @param step - + */ +export const values = (i: Readonly, step: number) => + samples(i, Math.floor(i.size / step + 1)); + +/** + * Returns an iterator yielding up to `n` uniformly spaced samples in given + * interval. If the interval is open on either side, the first and/or last + * sample will be omitted. + * + * @example + * ```ts + * [...samples(closed(10, 12), 5)] + * // [10, 10.5, 11, 11.5, 12] + * + * [...samples(open(10, 12), 5)] + * // [10.5, 11, 11.5] + * ``` + * + * @param i - + * @param n - + */ +export function* samples(i: Readonly, n: number) { + const delta = n > 1 ? (i.r - i.l) / (n - 1) : 0; + for (let x = 0; x < n; x++) { + const y = i.l + delta * x; + if (contains(i, y)) yield y; } +} - /** - * Clamps `x` to this interval, using {@link Interval.min} and - * {@link Interval.max}. - * - * @param x - * @param eps - */ - clamp(x: number, eps = DEFAULT_EPS) { - return this.min(this.max(x, eps), eps); +/** + * Returns true, if interval has zero range, i.e. if LHS >= RHS. + * + * @param i - + */ +export const isEmpty = (i: Readonly) => i.l >= i.r; + +/** + * Returns true iff interval `i` RHS < `x`, taking into account openness. If `x` + * is an interval, then checks `i` RHS is less than LHS of `x` (again with + * openness). + * + * @param i - + * @param x - + */ +export const isBefore = ( + i: Readonly, + x: number | Readonly +) => + x instanceof Interval + ? i.ropen || x.lopen + ? i.r <= x.l + : i.r < x.l + : i.ropen + ? i.r <= x + : i.r < x; + +/** + * Returns true iff interval `i` LHS > `x`, taking into account openness. If `x` + * is an interval, then checks `i` LHS is greater than RHS of `x` (again with + * openness). + * + * @param i - + * @param x - + */ +export const isAfter = ( + i: Readonly, + x: number | Readonly +) => + x instanceof Interval + ? i.lopen || x.ropen + ? i.l >= x.r + : i.l > x.r + : i.ropen + ? i.l >= x + : i.l > x; + +/** + * Compares interval `a` with `b` and returns a comparator value + * (-1, 0 or 1). Comparison order is: LHS, RHS, openness. + * + * @param a - + * @param b - + */ +export const compare = (a: Readonly, b: Readonly) => { + if (a === b) return 0; + let c: number; + return a.l < b.l + ? -1 + : a.l > b.l + ? 1 + : a.r < b.r + ? -1 + : a.r > b.r + ? 1 + : (c = ~~a.lopen - ~~b.lopen) === 0 + ? ~~b.ropen - ~~a.ropen + : c; +}; + +/** + * Returns true if `x` is lies within interval `i`. + * + * @param i - + * @param x - + */ +export const contains = (i: Readonly, x: number) => + (i.lopen ? x > i.l : x >= i.l) && (i.ropen ? x < i.r : x <= i.r); + +export const centroid = (i: Readonly) => (i.l + i.r) / 2; + +/** + * Returns a new version of interval `i` such that `x` is included. If `x` lies + * outside the current interval, the new one will be extended correspondingly. + * + * @param i - + * @param x - + */ +export const include = (i: Readonly, x: number) => + isAfter(i, x) + ? new Interval(x, i.r, false, i.ropen) + : isBefore(i, x) + ? new Interval(i.l, x, i.lopen, false) + : i.copy(); + +/** + * Returns the distance between intervals, or zero if they touch or + * overlap. + * + * @param a - + * @param b - + */ +export const distance = (a: Readonly, b: Readonly) => + overlaps(a, b) ? 0 : a.l < b.l ? b.l - a.r : a.l - b.r; + +/** + * Applies given `fn` to both sides of interval `i` and returns a new + * {@link Interval} of transformed end points. + * + * @param i - + * @param fn - + */ +export const transform = (i: Readonly, fn: Fn) => + new Interval(fn(i.l), fn(i.r), i.lopen, i.ropen); + +/** + * Returns classifier for interval `a` WRT given interval `b`. E.g. + * if the result is `Classifier.SUPERSET`, then interval `a` fully + * contains `b`. + * + * ``` + * EQUIV + * [ a ] + * [ b ] + * + * DISJOINT_LEFT + * [ b ] + * [ a ] + * + * DISJOINT_RIGHT + * [ a ] + * [ b ] + * + * SUPERSET + * [ a ] + * [ b ] + * + * SUBSET + * [ b ] + * [ a ] + * + * OVERLAP_RIGHT + * [ a ] + * [ b ] + * + * OVERLAP_LEFT + * [ b ] + * [ a ] + * ``` + * + * @param a - + * @param b - + */ +export const classify = (a: Readonly, b: Readonly) => + a.equiv(b) + ? Classifier.EQUIV + : isBefore(a, b) + ? Classifier.DISJOINT_LEFT + : isAfter(a, b) + ? Classifier.DISJOINT_RIGHT + : contains(a, b.l) + ? contains(a, b.r) + ? Classifier.SUPERSET + : Classifier.OVERLAP_RIGHT + : contains(a, b.r) + ? Classifier.OVERLAP_LEFT + : Classifier.SUBSET; + +/** + * Returns true if interval `a` intersects `b` in any way (incl. + * subset / superset). + * + * @param a - + * @param b - + */ +export const overlaps = (a: Readonly, b: Readonly) => + classify(a, b) >= Classifier.EQUIV; + +/** + * Returns the union of the two given intervals, taken their openness into + * account. + * + * @param a + * @param b + */ +export const union = (a: Readonly, b: Readonly) => { + if (isEmpty(a)) return b; + if (isEmpty(b)) return a; + const [l, lo] = $min(a.l, b.l, a.lopen, b.lopen, and); + const [r, ro] = $max(a.r, b.r, a.ropen, b.ropen, and); + return new Interval(l, r, lo, ro); +}; + +/** + * Returns the intersection of the two given intervals, taken their openness + * into account. Returns undefined if `a` and `b` don't overlap. + * + * @param a + * @param b + */ +export const intersection = (a: Readonly, b: Readonly) => { + if (overlaps(a, b)) { + const [l, lo] = $max(a.l, b.l, a.lopen, b.lopen, or); + const [r, ro] = $min(a.r, b.r, a.ropen, b.ropen, or); + return new Interval(l, r, lo, ro); } +}; - toString() { - return toString(this.l, this.r, this.lopen, this.ropen); +export const prefix = (a: Readonly, b: Readonly) => { + if (overlaps(a, b)) { + const [l, lo] = $min(a.l, b.l, a.lopen, b.lopen, or); + const [r, ro] = $min(a.r, b.l, a.ropen, b.lopen, or); + return new Interval(l, r, lo, ro); } +}; - toJSON() { - return this.toString(); +export const suffix = (a: Readonly, b: Readonly) => { + if (overlaps(a, b)) { + const [l, lo] = $max(a.l, b.r, a.lopen, b.ropen, or); + const [r, ro] = $max(a.r, b.r, a.ropen, b.ropen, or); + return new Interval(l, r, lo, ro); } -} - -const min = ( +}; + +/** + * Returns the lesser value of either `x` or interval `i`'s RHS value. If + * the interval is open on the RHS, and `x >= r`, then `r - eps` will be + * returned. + * + * @param i - + * @param x - + * @param eps - + */ +export const min = (i: Readonly, x: number, eps = DEFAULT_EPS) => + i.ropen ? (x >= i.r ? i.r - eps : x) : x > i.r ? i.r : x; + +/** + * Returns the greater value of either `x` or interval `i`'s LHS value. If + * the interval is open on the LHS, and `x <= l`, then `l + eps` will be + * returned. + * + * @param i - + * @param x - + * @param eps - + */ +export const max = (i: Readonly, x: number, eps = DEFAULT_EPS) => + i.lopen ? (x <= i.l ? i.l + eps : x) : x < i.l ? i.l : x; + +/** + * Clamps `x` to interval `i`, using {@link Interval.min} and + * {@link Interval.max}. + * + * @param i - + * @param x - + * @param eps - + */ +export const clamp = (i: Readonly, x: number, eps = DEFAULT_EPS) => + min(i, max(i, x, eps), eps); + +/** @internal */ +const $min = ( a: number, b: number, ao: boolean, bo: boolean, op: Fn2 -) => minmax(a < b, a, b, ao, bo, op); +) => $minmax(a < b, a, b, ao, bo, op); -const max = ( +/** @internal */ +const $max = ( a: number, b: number, ao: boolean, bo: boolean, op: Fn2 -) => minmax(a > b, a, b, ao, bo, op); +) => $minmax(a > b, a, b, ao, bo, op); -const minmax = ( +/** @internal */ +const $minmax = ( test: boolean, a: number, b: number, @@ -469,5 +551,6 @@ const minmax = ( op: Fn2 ): [number, boolean] => (test ? [a, ao] : a === b ? [a, op(ao, bo)] : [b, bo]); -const toString = (l: number, r: number, lopen: boolean, ropen: boolean) => +/** @internal */ +const $toString = (l: number, r: number, lopen: boolean, ropen: boolean) => `${lopen ? "(" : "["}${l} .. ${r}${ropen ? ")" : "]"}`; diff --git a/packages/intervals/test/index.ts b/packages/intervals/test/index.ts index 39fa4b7547..e7f1dd2c27 100644 --- a/packages/intervals/test/index.ts +++ b/packages/intervals/test/index.ts @@ -1,10 +1,19 @@ import * as assert from "assert"; -import { Classifier, interval as i } from "../src"; +import { + clamp, + Classifier, + classify, + compare, + intersection, + interval as i, + samples, + union, +} from "../src"; describe("intervals", () => { it("classify", () => { const check = (a: string, b: string, res: Classifier) => - assert.strictEqual(i(a).classify(i(b)), res, String(res)); + assert.strictEqual(classify(i(a), i(b)), res, String(res)); check("[0..100]", "[0..100]", Classifier.EQUIV); check("[0..100]", "(0..100]", Classifier.SUPERSET); check("[0..100]", "[0..100)", Classifier.SUPERSET); @@ -19,58 +28,58 @@ describe("intervals", () => { it("union", () => { const a = i("[0..100]"); - assert(a.union(a).equiv(a), "self"); - assert(a.union(i("(0..100)")).equiv(a), "u0"); - assert(a.union(i("[0..100)")).equiv(a), "u1"); - assert(a.union(i("(0..100]")).equiv(a), "u2"); - assert(a.union(i("[0..100]")).equiv(a), "u3"); + assert(union(a, a).equiv(a), "self"); + assert(union(a, i("(0..100)")).equiv(a), "u0"); + assert(union(a, i("[0..100)")).equiv(a), "u1"); + assert(union(a, i("(0..100]")).equiv(a), "u2"); + assert(union(a, i("[0..100]")).equiv(a), "u3"); - assert(a.union(i("(-1..99)")).equiv(i("(-1..100]")), "u4"); - assert(a.union(i("[-1..99)")).equiv(i("[-1..100]")), "u5"); - assert(a.union(i("[1..101)")).equiv(i("[0..101)")), "u6"); - assert(a.union(i("[1..101]")).equiv(i("[0..101]")), "u7"); - assert(a.union(i("(-1..101)")).equiv(i("(-1..101)")), "u8"); - assert(a.union(i("[-1..101)")).equiv(i("[-1..101)")), "u9"); - assert(a.union(i("(-1..101]")).equiv(i("(-1..101]")), "u10"); - assert(a.union(i("[-1..101]")).equiv(i("[-1..101]")), "u11"); + assert(union(a, i("(-1..99)")).equiv(i("(-1..100]")), "u4"); + assert(union(a, i("[-1..99)")).equiv(i("[-1..100]")), "u5"); + assert(union(a, i("[1..101)")).equiv(i("[0..101)")), "u6"); + assert(union(a, i("[1..101]")).equiv(i("[0..101]")), "u7"); + assert(union(a, i("(-1..101)")).equiv(i("(-1..101)")), "u8"); + assert(union(a, i("[-1..101)")).equiv(i("[-1..101)")), "u9"); + assert(union(a, i("(-1..101]")).equiv(i("(-1..101]")), "u10"); + assert(union(a, i("[-1..101]")).equiv(i("[-1..101]")), "u11"); - assert(a.union(i("(0..0)")).equiv(a), "u12"); - assert(a.union(i("[0..0]")).equiv(a), "u13"); - assert(a.union(i("(100..100)")).equiv(a), "u14"); - assert(a.union(i("[100..100]")).equiv(a), "u15"); + assert(union(a, i("(0..0)")).equiv(a), "u12"); + assert(union(a, i("[0..0]")).equiv(a), "u13"); + assert(union(a, i("(100..100)")).equiv(a), "u14"); + assert(union(a, i("[100..100]")).equiv(a), "u15"); - assert(a.union(i("[-1..0]")).equiv(i("[-1..100]")), "u16"); - assert(a.union(i("[-1..0)")).equiv(i("[-1..100]")), "u17"); - assert(a.union(i("[100..101]")).equiv(i("[0..101]")), "u18"); - assert(a.union(i("(100..101]")).equiv(i("[0..101]")), "u19"); + assert(union(a, i("[-1..0]")).equiv(i("[-1..100]")), "u16"); + assert(union(a, i("[-1..0)")).equiv(i("[-1..100]")), "u17"); + assert(union(a, i("[100..101]")).equiv(i("[0..101]")), "u18"); + assert(union(a, i("(100..101]")).equiv(i("[0..101]")), "u19"); }); it("intersection", () => { const a = i("[0..100]"); - assert(a.intersection(a)!.equiv(a), "self"); - assert(a.intersection(i("(0..100)"))!.equiv(i("(0..100)")), "i0"); - assert(a.intersection(i("[0..100)"))!.equiv(i("[0..100)")), "i1"); - assert(a.intersection(i("(0..100]"))!.equiv(i("(0..100]")), "i2"); - assert(a.intersection(i("[0..100]"))!.equiv(i("[0..100]")), "i3"); + assert(intersection(a, a)!.equiv(a), "self"); + assert(intersection(a, i("(0..100)"))!.equiv(i("(0..100)")), "i0"); + assert(intersection(a, i("[0..100)"))!.equiv(i("[0..100)")), "i1"); + assert(intersection(a, i("(0..100]"))!.equiv(i("(0..100]")), "i2"); + assert(intersection(a, i("[0..100]"))!.equiv(i("[0..100]")), "i3"); - assert(a.intersection(i("(-1..99)"))!.equiv(i("[0..99)")), "i4"); - assert(a.intersection(i("[-1..99)"))!.equiv(i("[0..99)")), "i5"); - assert(a.intersection(i("[1..101)"))!.equiv(i("[1..100]")), "i6"); - assert(a.intersection(i("[1..101]"))!.equiv(i("[1..100]")), "i7"); - assert(a.intersection(i("(-1..101)"))!.equiv(i("[0..100]")), "i8"); - assert(a.intersection(i("[-1..101)"))!.equiv(i("[0..100]")), "i9"); - assert(a.intersection(i("(-1..101]"))!.equiv(i("[0..100]")), "i10"); - assert(a.intersection(i("[-1..101]"))!.equiv(i("[0..100]")), "i11"); + assert(intersection(a, i("(-1..99)"))!.equiv(i("[0..99)")), "i4"); + assert(intersection(a, i("[-1..99)"))!.equiv(i("[0..99)")), "i5"); + assert(intersection(a, i("[1..101)"))!.equiv(i("[1..100]")), "i6"); + assert(intersection(a, i("[1..101]"))!.equiv(i("[1..100]")), "i7"); + assert(intersection(a, i("(-1..101)"))!.equiv(i("[0..100]")), "i8"); + assert(intersection(a, i("[-1..101)"))!.equiv(i("[0..100]")), "i9"); + assert(intersection(a, i("(-1..101]"))!.equiv(i("[0..100]")), "i10"); + assert(intersection(a, i("[-1..101]"))!.equiv(i("[0..100]")), "i11"); - assert(a.intersection(i("(0..0)")) === undefined, "i12"); - assert(a.intersection(i("[0..0]"))!.equiv(i("[0..0]")), "i13"); - assert(a.intersection(i("(100..100)")) === undefined, "i14"); - assert(a.intersection(i("[100..100]"))!.equiv(i("[100..100]")), "i15"); + assert(intersection(a, i("(0..0)")) === undefined, "i12"); + assert(intersection(a, i("[0..0]"))!.equiv(i("[0..0]")), "i13"); + assert(intersection(a, i("(100..100)")) === undefined, "i14"); + assert(intersection(a, i("[100..100]"))!.equiv(i("[100..100]")), "i15"); - assert(a.intersection(i("[-1..0]"))!.equiv(i("[0..0]")), "i16"); - assert(a.intersection(i("[-1..0)")) === undefined, "i17"); - assert(a.intersection(i("[100..101]"))!.equiv(i("[100..100]")), "i18"); - assert(a.intersection(i("(100..101]")) === undefined, "i19"); + assert(intersection(a, i("[-1..0]"))!.equiv(i("[0..0]")), "i16"); + assert(intersection(a, i("[-1..0)")) === undefined, "i17"); + assert(intersection(a, i("[100..101]"))!.equiv(i("[100..100]")), "i18"); + assert(intersection(a, i("(100..101]")) === undefined, "i19"); }); it("compare", () => { @@ -78,10 +87,10 @@ describe("intervals", () => { const b = i("(0..1]"); const c = i("[0..1)"); const d = i("(0..1)"); - assert.strictEqual(a.compare(a), 0, "aa"); - assert.strictEqual(a.compare(b), -1, "ab"); - assert.strictEqual(a.compare(c), 1, "ac"); - assert.strictEqual(a.compare(d), -1, "ad"); + assert.strictEqual(compare(a, a), 0, "aa"); + assert.strictEqual(compare(a, b), -1, "ab"); + assert.strictEqual(compare(a, c), 1, "ac"); + assert.strictEqual(compare(a, d), -1, "ad"); }); it("clamp", () => { @@ -91,10 +100,29 @@ describe("intervals", () => { [2, 1, 1, 1 - eps, 1 - eps], [0.5, 0.5, 0.5, 0.5, 0.5], ]) { - assert.strictEqual(i("[0,1]").clamp(x, eps), a); - assert.strictEqual(i("(0,1]").clamp(x, eps), b); - assert.strictEqual(i("[0,1)").clamp(x, eps), c); - assert.strictEqual(i("(0,1)").clamp(x, eps), d); + assert.strictEqual(clamp(i("[0,1]"), x, eps), a); + assert.strictEqual(clamp(i("(0,1]"), x, eps), b); + assert.strictEqual(clamp(i("[0,1)"), x, eps), c); + assert.strictEqual(clamp(i("(0,1)"), x, eps), d); } }); + + it("samples", () => { + assert.deepStrictEqual( + [...samples(i(10, 12), 5)], + [10, 10.5, 11, 11.5, 12] + ); + assert.deepStrictEqual( + [...samples(i(10, 12, true, false), 5)], + [10.5, 11, 11.5, 12] + ); + assert.deepStrictEqual( + [...samples(i(10, 12, false, true), 5)], + [10, 10.5, 11, 11.5] + ); + assert.deepStrictEqual( + [...samples(i(10, 12, true, true), 5)], + [10.5, 11, 11.5] + ); + }); }); diff --git a/packages/intervals/tpl.readme.md b/packages/intervals/tpl.readme.md index 19a6816eb0..b0bde5521a 100644 --- a/packages/intervals/tpl.readme.md +++ b/packages/intervals/tpl.readme.md @@ -18,11 +18,18 @@ Supports point & range queries and set operations with other intervals Furthermore, a parser for [ISO 80000-2 / ISO 31-11 interval notation](https://en.wikipedia.org/wiki/ISO_31-11#Sets) is provided. See -[`Interval.parse()`](https://github.com/thi-ng/umbrella/blob/develop/packages/intervals/src/index.ts#L25) +[`parse()`](https://github.com/thi-ng/umbrella/blob/develop/packages/intervals/src/index.ts#L108) for details. ${status} +#### Breaking changes + +With version 3.0.0 the API has been updated to be largely functional rather than +OOP, with all static (and most instance) `Interval` methods converted into +standalone functions. The only class methods remaining are to implement these +standard interfaces: `ICompare`, `IContains`, `ICopy`, `IEquiv`. + ${supportPackages} ${relatedPackages} @@ -46,15 +53,13 @@ ${examples} ${docLink} ```ts -import { interval, Interval } from "@thi.ng/intervals"; - // [0 .. +∞] (fully closed) -a = Interval.withMin(0); +a = withMin(0); // [-∞ .. 1) (open on RHS) -b = Interval.withMax(1, true); +b = withMax(1, true); -i = a.intersection(b); +i = intersection(a, b); i.toString(); // [0 .. 1) @@ -62,68 +67,76 @@ i.toString(); interval("[0 .. 1)") // Interval { l: 0, r: 1, lopen: false, ropen: true } +contains(i, 1); +// or i.contains(1); // false (because interval is open on RHS) -i.contains(0.999999); +contains(i, 0.999999); // true // classify interval relative to point (true if RHS < x) -i.isBefore(-1) +isBefore(i, -1) // false -i.isBefore(1) +isBefore(i, 1) // true // classify interval relative to point (true if LHS > x) -i.isAfter(-1); +isAfter(i, -1); // true -i.isAfter(1); +isAfter(i, 1); // false // grow interval to include 2 => [0 ... 2] -i2 = i.include(2); +i2 = include(i, 2); // sort order: LHS -> RHS -i.compare(i2); +compare(i, i2); // -1 // classify WRT given interval arg -i.classify(Interval.infinity()); +// returns Classifier enum +classify(i, infinity()); // 3 (aka Classifier.SUBSET) // create transformed interval // (here scaled around centroid) -i.map((x) => x + (x - i.centroid()) * 2).toString(); +transform(i, (x) => x + (x - centroid(i)) * 2).toString(); // [-1 .. 2) // iterator of decimated interval values -[...i.values(0.25)]; +[...values(i, 0.25)]; // [ 0, 0.25, 0.5, 0.75 ] // close RHS i.ropen = false; -[...i.values(0.25)]; +// iterator of 0.25-spaced values in interval +[...values(i, 0.25)]; // [ 0, 0.25, 0.5, 0.75, 1 ] => now includes 1 +// iterator of n equidistant samples +[...samples(i, 4)] +// [ 0, 0.3333333333333333, 0.6666666666666666, 1 ] + // constrain values to interval (taking openness into account) -interval("(0..1)").max(-2) +max(interval("(0..1)"), -2) // 0.000001 // if given value is outside interval, uses opt epsilon value // to return closest inside value (default: 1e-6)... -interval("(0..1)").max(-2, 1e-3) +max(interval("(0..1)"), -2, 1e-3) // 0.001 -interval("(0..1)").min(2, 1e-3) +min(interval("(0..1)"), 2, 1e-3) // 0.999 // clamp on both sides -interval("[0..1)").clamp(-2, 1e-3) +clamp(interval("[0..1)"), -2, 1e-3) // 0 -interval("[0..1)").clamp(2, 1e-3) +clamp(interval("[0..1)"), 2, 1e-3) // 0.999 ``` diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index dde9f7e40e..91c403ed74 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.45...@thi.ng/iterators@5.1.46) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.44...@thi.ng/iterators@5.1.45) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.43...@thi.ng/iterators@5.1.44) (2020-12-22) +## [5.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.49...@thi.ng/iterators@5.1.50) (2021-02-20) **Note:** Version bump only for package @thi.ng/iterators diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 24cf1497d5..0b65028983 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "5.1.46", + "version": "5.1.50", "description": "Clojure inspired, composable ES6 iterators & generators", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/dcons": "^2.3.10", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/ksuid/CHANGELOG.md b/packages/ksuid/CHANGELOG.md new file mode 100644 index 0000000000..698c5d4686 --- /dev/null +++ b/packages/ksuid/CHANGELOG.md @@ -0,0 +1,24 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.0...@thi.ng/ksuid@0.1.1) (2021-02-20) + +**Note:** Version bump only for package @thi.ng/ksuid + + + + + +# 0.1.0 (2021-01-13) + + +### Features + +* **ksuid:** import as new pkg ([67a2e61](https://github.com/thi-ng/umbrella/commit/67a2e611a52ecd8870b43848e95d457f63185428)) + + +### Performance Improvements + +* **ksuid:** add benchmarks ([aace41c](https://github.com/thi-ng/umbrella/commit/aace41ce8ec0864d38a27d9b0461b705e9e122dc)) diff --git a/packages/ksuid/LICENSE b/packages/ksuid/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/ksuid/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/ksuid/README.md b/packages/ksuid/README.md new file mode 100644 index 0000000000..5f899e2e2e --- /dev/null +++ b/packages/ksuid/README.md @@ -0,0 +1,159 @@ + + +# ![ksuid](https://media.thi.ng/umbrella/banners/thing-ksuid.svg?451df049) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/ksuid.svg)](https://www.npmjs.com/package/@thi.ng/ksuid) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/ksuid.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + +- [About](#about) + - [Status](#status) + - [Related packages](#related-packages) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [API](#api) +- [Benchmarks](#benchmarks) +- [Authors](#authors) +- [License](#license) + +## About + +Configurable K-sortable unique identifiers, binary & base-N encoded. + +Idea based on [segmentio/ksuid](https://github.com/segmentio/ksuid), though with +added flexibility in terms of configuration & implementation: + +- Configurable bit size (default: 128bits) +- Base-N encoding scheme (default: base62, see + [@thi.ng/base-n](https://github.com/thi-ng/umbrella/tree/develop/packages/base-n) + for alternatives) +- Epoch start time offset +- RNG source (default: `window.crypto`) + +KSUIDs generated w/ this package consist of the lower 32bits of an Unix epoch +(potentially time shifted to free up bits for future timestamps) and N bits of a +random payload (from a configurable source). IDs can be generated as byte arrays +or base-N encoded strings. For the latter, the JS runtime MUST support +[`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt). + +![KSUID bit layout diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/ksuid/ksuid.png) + +### Status + +**ALPHA** - bleeding edge / work-in-progress + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bksuid%5D+in%3Atitle) + +### Related packages + +- [@thi.ng/base-n](https://github.com/thi-ng/umbrella/tree/develop/packages/base-n) - Arbitrary base-n conversions w/ presets for base16/32/36/58/62/64/85, support for arrays & bigints +- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation + +## Installation + +```bash +yarn add @thi.ng/ksuid +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 447 bytes / CJS: 503 bytes / UMD: 627 bytes + +## Dependencies + +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [@thi.ng/base-n](https://github.com/thi-ng/umbrella/tree/develop/packages/base-n) +- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) +- [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/ksuid/) + +```ts +import { defKSUID } from "@thi.ng/ksuid"; + +// init w/ defaults +const id = defKSUID(); + +id.next(); +// '05XCWbXa3akRqLDBUw4ogCVKGkd' + +const a = id.nextBinary() +// Uint8Array(20) [ +// 0, 160, 48, 77, 101, 251, +// 244, 17, 155, 97, 24, 101, +// 70, 71, 207, 23, 32, 21, +// 244, 116 +// ] + +// format a binary KSUID +id.format(a); +// '05XCZ32AaDZfZt0SWE2C22o6cqK' +``` + +Creating custom IDs: + +```ts +import { BASE36 } from "@thi.ng/base-n"; + +// no time shift, 64bit random +const id36 = defKSUID({ base: BASE36, epoch: 0, bytes: 8 }); +// '2VOUKH4K59AG0RXR4XH' +``` + +## Benchmarks + +```text +yarn bench + +benchmarking: b62, 128bit, n=10000 + warmup... 659.22ms (10 runs) + executing... + total: 6402.18ms, runs: 100 + mean: 64.02ms, median: 63.50ms, range: [59.98..96.15] + q1: 62.64ms, q3: 64.41ms + sd: 6.93% +benchmarking: b62, 64bit, n=10000 + warmup... 363.35ms (10 runs) + executing... + total: 3469.28ms, runs: 100 + mean: 34.69ms, median: 34.41ms, range: [32.61..56.58] + q1: 33.35ms, q3: 35.41ms + sd: 7.47% +benchmarking: b62, 32bit, n=10000 + warmup... 218.78ms (10 runs) + executing... + total: 2118.93ms, runs: 100 + mean: 21.19ms, median: 20.95ms, range: [20.20..25.74] + q1: 20.71ms, q3: 21.30ms + sd: 4.14% +``` + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-ksuid, + title = "@thi.ng/ksuid", + author = "Karsten Schmidt", + note = "https://thi.ng/ksuid", + year = 2020 +} +``` + +## License + +© 2020 - 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/ksuid/api-extractor.json b/packages/ksuid/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/ksuid/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/ksuid/bench/index.ts b/packages/ksuid/bench/index.ts new file mode 100644 index 0000000000..023c1137c0 --- /dev/null +++ b/packages/ksuid/bench/index.ts @@ -0,0 +1,19 @@ +// import { benchmark } from "@thi.ng/bench"; +import { assert } from "@thi.ng/api"; +import { benchmark } from "@thi.ng/bench"; +import { defKSUID, KSUID } from "../src"; + +const opts = { iter: 100, warmup: 10 }; + +const bench = (id: KSUID, n = 10000) => { + const acc = new Set(); + for (let i = 0; i < n; i++) acc.add(id.next()); + assert(acc.size === n, `collision`); +}; + +// prettier-ignore +benchmark(() => bench(defKSUID({ bytes:16 })), { title: "b62, 128bit, n=10000", ...opts }); +// prettier-ignore +benchmark(() => bench(defKSUID({ bytes: 8 })), { title: "b62, 64bit, n=10000", ...opts }); +// prettier-ignore +benchmark(() => bench(defKSUID({ bytes: 4 })), { title: "b62, 32bit, n=10000", ...opts }); diff --git a/packages/ksuid/bench/tsconfig.json b/packages/ksuid/bench/tsconfig.json new file mode 100644 index 0000000000..9655cbea10 --- /dev/null +++ b/packages/ksuid/bench/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs", + "noUnusedLocals": false, + "noUnusedParameters": false + }, + "include": ["./**/*.ts", "../src/**/*.ts"] +} diff --git a/packages/ksuid/package.json b/packages/ksuid/package.json new file mode 100644 index 0000000000..d3b1169104 --- /dev/null +++ b/packages/ksuid/package.json @@ -0,0 +1,93 @@ +{ + "name": "@thi.ng/ksuid", + "version": "0.1.1", + "description": "Configurable K-sortable unique identifiers, binary & base-N encoded", + "module": "./index.js", + "main": "./lib/index.js", + "umd:main": "./lib/index.umd.js", + "typings": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/thi-ng/umbrella.git" + }, + "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/ksuid#readme", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/postspectacular" + }, + { + "type": "patreon", + "url": "https://patreon.com/thing_umbrella" + } + ], + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module", + "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all", + "build:es6": "tsc --declaration", + "build:test": "rimraf build && tsc -p test/tsconfig.json", + "build:check": "tsc --isolatedModules --noEmit", + "test": "mocha test", + "cover": "nyc mocha test && nyc report --reporter=lcov", + "bench": "ts-node -P bench/tsconfig.json bench/index.ts", + "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", + "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", + "doc": "node_modules/.bin/typedoc --out doc --theme ../../tools/doc/typedoc-theme src/index.ts", + "pub": "yarn build:release && yarn publish --access public" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@microsoft/api-extractor": "^7.12.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^8.3.0", + "nyc": "^15.1.0", + "ts-node": "^9.1.1", + "typedoc": "^0.20.26", + "typescript": "^4.1.5" + }, + "dependencies": { + "@thi.ng/api": "^7.0.0", + "@thi.ng/base-n": "^0.1.1", + "@thi.ng/random": "^2.3.0", + "@thi.ng/strings": "^1.15.0" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "base62", + "bigint", + "binary", + "bytes", + "crypto", + "database", + "dynamodb", + "encode", + "epoch", + "generator", + "id", + "random", + "sort", + "timestamp", + "typescript", + "uuid" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "related": [ + "base-n", + "random" + ], + "status": "alpha", + "year": 2020 + } +} diff --git a/packages/ksuid/src/index.ts b/packages/ksuid/src/index.ts new file mode 100644 index 0000000000..83b55b8196 --- /dev/null +++ b/packages/ksuid/src/index.ts @@ -0,0 +1,107 @@ +import { assert } from "@thi.ng/api"; +import { BASE62, BaseN } from "@thi.ng/base-n"; +import { IRandom, randomBytes, randomBytesFrom } from "@thi.ng/random"; +import { padLeft } from "@thi.ng/strings"; + +export interface KSUIDOpts { + /** + * {@link @this.ng/base-n#BaseN} instance for string encoding the generated + * binary IDs. + * + * @defaultValue BASE62 + */ + base: BaseN; + /** + * Optional PRNG instance for sourcing random values (for development/debug + * purposes only). + * + * @defaultValue window.crypto + */ + rnd: IRandom; + /** + * Number of bytes for random payload. + * + * @defaultValue 16 + */ + bytes: number; + /** + * Time offset in seconds, relative to standard Unix epoch. This is used to + * extend the time headroom of IDs into the future. + * + * @remarks + * The default value is approx. 2020-09-13, meaning this is the T0 epoch for + * all IDs (providing an additional ~50 year lifespan compared to the + * standard 1970-01-01 epoch) + * + * @defaultValue 1_600_000_000 + */ + epoch: number; +} + +export class KSUID { + /** + * Returns the byte size of a single ID, based on the KSUID's configuration. + * The default config (payload 16 bytes) will result in 20-byte IDs (27 + * chars base62 encoded). + */ + readonly size: number; + + protected base: BaseN; + protected rnd?: IRandom; + protected epoch: number; + protected pad: (x: any) => string; + + constructor(opts?: Partial) { + opts = { + base: BASE62, + epoch: 1_600_000_000, + bytes: 16, + ...opts, + }; + this.base = opts.base!; + this.rnd = opts.rnd; + this.epoch = opts.epoch!; + this.size = 4 + opts.bytes!; + this.pad = padLeft( + this.base.size(2 ** (this.size * 8) - 1), + this.base.base[0] + ); + } + + /** + * Returns a new baseN encoded ID string. + */ + next() { + return this.pad(this.base.encodeBytes(this.nextBinary())); + } + + /** + * Returns a new ID as byte array. + */ + nextBinary() { + const buf = new Uint8Array(this.size); + const t = (Date.now() / 1000 - this.epoch) & 0xffffffff; + buf.set([t >>> 24, (t >>> 16) & 0xff, (t >>> 8) & 0xff, t & 0xff]); + return this.rnd + ? randomBytesFrom(this.rnd, buf, 4) + : randomBytes(buf, 4); + } + + /** + * Returns baseN encoded version of given binary ID (generated via + * `.nextBinary()`). + */ + format(buf: Uint8Array) { + assert( + buf.length == this.size, + `illegal KSUID size, expected ${this.size} bytes` + ); + return this.pad(this.base.encodeBytes(buf)); + } +} + +/** + * + * @param opts + */ +export const defKSUID = (opts?: Partial): KSUID => new KSUID(opts); diff --git a/packages/ksuid/test/index.ts b/packages/ksuid/test/index.ts new file mode 100644 index 0000000000..3e2d5c2e00 --- /dev/null +++ b/packages/ksuid/test/index.ts @@ -0,0 +1,6 @@ +// import * as assert from "assert"; +// import { } from "../src"; + +describe("ksuid", () => { + it("tests pending"); +}); diff --git a/packages/ksuid/test/tsconfig.json b/packages/ksuid/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/ksuid/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/ksuid/tpl.readme.md b/packages/ksuid/tpl.readme.md new file mode 100644 index 0000000000..80353ff15d --- /dev/null +++ b/packages/ksuid/tpl.readme.md @@ -0,0 +1,126 @@ +# ${pkg.banner} + +[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name}) +![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + + + +## About + +${pkg.description} + +Idea based on [segmentio/ksuid](https://github.com/segmentio/ksuid), though with +added flexibility in terms of configuration & implementation: + +- Configurable bit size (default: 128bits) +- Base-N encoding scheme (default: base62, see + [@thi.ng/base-n](https://github.com/thi-ng/umbrella/tree/develop/packages/base-n) + for alternatives) +- Epoch start time offset +- RNG source (default: `window.crypto`) + +KSUIDs generated w/ this package consist of the lower 32bits of an Unix epoch +(potentially time shifted to free up bits for future timestamps) and N bits of a +random payload (from a configurable source). IDs can be generated as byte arrays +or base-N encoded strings. For the latter, the JS runtime MUST support +[`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt). + +![KSUID bit layout diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/ksuid/ksuid.png) + +${status} + +${supportPackages} + +${relatedPackages} + +${blogPosts} + +## Installation + +${pkg.install} + +${pkg.size} + +## Dependencies + +${pkg.deps} + +${examples} + +## API + +${docLink} + +```ts +import { defKSUID } from "@thi.ng/ksuid"; + +// init w/ defaults +const id = defKSUID(); + +id.next(); +// '05XCWbXa3akRqLDBUw4ogCVKGkd' + +const a = id.nextBinary() +// Uint8Array(20) [ +// 0, 160, 48, 77, 101, 251, +// 244, 17, 155, 97, 24, 101, +// 70, 71, 207, 23, 32, 21, +// 244, 116 +// ] + +// format a binary KSUID +id.format(a); +// '05XCZ32AaDZfZt0SWE2C22o6cqK' +``` + +Creating custom IDs: + +```ts +import { BASE36 } from "@thi.ng/base-n"; + +// no time shift, 64bit random +const id36 = defKSUID({ base: BASE36, epoch: 0, bytes: 8 }); +// '2VOUKH4K59AG0RXR4XH' +``` + +## Benchmarks + +```text +yarn bench + +benchmarking: b62, 128bit, n=10000 + warmup... 659.22ms (10 runs) + executing... + total: 6402.18ms, runs: 100 + mean: 64.02ms, median: 63.50ms, range: [59.98..96.15] + q1: 62.64ms, q3: 64.41ms + sd: 6.93% +benchmarking: b62, 64bit, n=10000 + warmup... 363.35ms (10 runs) + executing... + total: 3469.28ms, runs: 100 + mean: 34.69ms, median: 34.41ms, range: [32.61..56.58] + q1: 33.35ms, q3: 35.41ms + sd: 7.47% +benchmarking: b62, 32bit, n=10000 + warmup... 218.78ms (10 runs) + executing... + total: 2118.93ms, runs: 100 + mean: 21.19ms, median: 20.95ms, range: [20.20..25.74] + q1: 20.71ms, q3: 21.30ms + sd: 4.14% +``` + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/ksuid/tsconfig.json b/packages/ksuid/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/ksuid/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index e5d924ca4e..8d7b88e20f 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.27...@thi.ng/layout@0.1.28) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.26...@thi.ng/layout@0.1.27) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.25...@thi.ng/layout@0.1.26) (2020-12-22) +## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.28...@thi.ng/layout@0.1.29) (2021-02-20) **Note:** Version bump only for package @thi.ng/layout diff --git a/packages/layout/package.json b/packages/layout/package.json index c3141196f3..5fba057802 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/layout", - "version": "0.1.28", + "version": "0.1.29", "description": "Configurable nested 2D grid layout manager", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/checks": "^2.8.0" + "@thi.ng/checks": "^2.9.0" }, "files": [ "*.js", diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index 151753e8af..7b7c35c439 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.39...@thi.ng/leb128@1.0.40) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.38...@thi.ng/leb128@1.0.39) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.37...@thi.ng/leb128@1.0.38) (2020-12-22) +## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.43...@thi.ng/leb128@1.0.44) (2021-02-20) **Note:** Version bump only for package @thi.ng/leb128 diff --git a/packages/leb128/package.json b/packages/leb128/package.json index 9faf577b2a..e496835f78 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/leb128", - "version": "1.0.40", + "version": "1.0.44", "description": "WASM based LEB128 encoder / decoder (signed & unsigned)", "module": "./index.js", "main": "./lib/index.js", @@ -43,16 +43,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers-binary": "^0.6.6" }, "files": [ "*.js", diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index e67a74076e..ce16fb0486 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.67...@thi.ng/lsys@0.2.68) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.66...@thi.ng/lsys@0.2.67) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.65...@thi.ng/lsys@0.2.66) (2020-12-22) +## [0.2.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.71...@thi.ng/lsys@0.2.72) (2021-02-20) **Note:** Version bump only for package @thi.ng/lsys diff --git a/packages/lsys/package.json b/packages/lsys/package.json index 0ae30f5b5a..b4d63969b9 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/lsys", - "version": "0.2.68", + "version": "0.2.72", "description": "Functional, extensible L-System architecture w/ support for probabilistic rules", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/compose": "^1.4.23", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/compose": "^1.4.24", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/math": "^3.2.0", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md index 8045010bcc..f16871f846 100644 --- a/packages/malloc/CHANGELOG.md +++ b/packages/malloc/CHANGELOG.md @@ -3,25 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.2.5...@thi.ng/malloc@4.2.6) (2021-01-10) +# [5.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.2.6...@thi.ng/malloc@5.0.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.2.4...@thi.ng/malloc@4.2.5) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/malloc +### Code Refactoring +* **malloc:** update mallocAs/callocAs() handling ([159042a](https://github.com/thi-ng/umbrella/commit/159042ab4ca90db3d0e3879b61e9b0b2d203362a)) +### BREAKING CHANGES -## [4.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.2.3...@thi.ng/malloc@4.2.4) (2020-12-22) +* **malloc:** block type use string consts -**Note:** Version bump only for package @thi.ng/malloc +- part of unified umbrella-wide changes to thi.ng/api Type alias + (see a333d4182) +- no code changes, just arg type update +- update tests diff --git a/packages/malloc/package.json b/packages/malloc/package.json index 01d8efde7d..efe4742075 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/malloc", - "version": "4.2.6", + "version": "5.0.0", "description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/malloc/test/index.ts b/packages/malloc/test/index.ts index 663c53489f..58aa62596c 100644 --- a/packages/malloc/test/index.ts +++ b/packages/malloc/test/index.ts @@ -1,4 +1,4 @@ -import { Type, TypedArray } from "@thi.ng/api"; +import type { TypedArray } from "@thi.ng/api"; import { align } from "@thi.ng/binary"; import * as assert from "assert"; import { MemPool } from "../src"; @@ -184,15 +184,15 @@ describe("malloc", () => { }); it("mallocAs", () => { - assert.deepStrictEqual(pool.mallocAs(Type.U8, 257), undefined); - assert.deepStrictEqual(pool.mallocAs(Type.U16, 129), undefined); - assert.deepStrictEqual(pool.mallocAs(Type.U32, 65), undefined); - assert.deepStrictEqual(pool.mallocAs(Type.F64, 33), undefined); - assert.deepStrictEqual(pool.mallocAs(Type.U8, -1), undefined); + assert.deepStrictEqual(pool.mallocAs("u8", 257), undefined); + assert.deepStrictEqual(pool.mallocAs("u16", 129), undefined); + assert.deepStrictEqual(pool.mallocAs("u32", 65), undefined); + assert.deepStrictEqual(pool.mallocAs("f64", 33), undefined); + assert.deepStrictEqual(pool.mallocAs("u8", -1), undefined); const base = pool.stats().top; - let a = pool.mallocAs(Type.F32, 3); - let b = pool.mallocAs(Type.F64, 3); + let a = pool.mallocAs("f32", 3); + let b = pool.mallocAs("f64", 3); assert(a instanceof Float32Array, "a type"); assert(b instanceof Float64Array, "b type"); assert.strictEqual(a!.byteOffset, base + BLOCK_OVERHEAD, "a addr"); @@ -251,8 +251,8 @@ describe("malloc", () => { it("callocAs", () => { const u8: Uint8Array = (pool).u8; u8.fill(0xff, pool.stats().top); - let a: TypedArray | undefined = pool.callocAs(Type.F32, 3); - let b: TypedArray | undefined = pool.callocAs(Type.F64, 3); + let a: TypedArray | undefined = pool.callocAs("f32", 3); + let b: TypedArray | undefined = pool.callocAs("f64", 3); let t = [0, 0, 0]; assert(a instanceof Float32Array, "a type"); assert(b instanceof Float64Array, "b type"); @@ -263,8 +263,8 @@ describe("malloc", () => { assert(pool.free(a!), "free a"); assert(pool.free(b!), "free b"); // returned arrays are filled w/ given arg - a = pool.callocAs(Type.U32, 3, 0xaa55aa55); - b = pool.callocAs(Type.U32, 3, 0xaa55aa55); + a = pool.callocAs("u32", 3, 0xaa55aa55); + b = pool.callocAs("u32", 3, 0xaa55aa55); t = [0xaa55aa55, 0xaa55aa55, 0xaa55aa55]; assert.deepStrictEqual([...a!], t); assert.deepStrictEqual([...b!], t); @@ -285,7 +285,7 @@ describe("malloc", () => { "malloc top" ); assert.strictEqual( - pool.mallocAs(Type.U8, pool.buf.byteLength - d + 1), + pool.mallocAs("u8", pool.buf.byteLength - d + 1), undefined, "mallocAs top" ); @@ -334,7 +334,7 @@ describe("malloc", () => { }); it("reallocArray", () => { - const a = pool.callocAs(Type.F32, 4, 1); + const a = pool.callocAs("f32", 4, 1); assert.deepStrictEqual( [...pool.reallocArray(a!, 8)!], [1, 1, 1, 1, 0, 0, 0, 0] @@ -393,11 +393,11 @@ describe("malloc", () => { pool = new MemPool({ size: 0x100, align: 16 }); let p: any = pool; const base = pool.stats().top; - let a = pool.callocAs(Type.U8, 15); - let b = pool.callocAs(Type.U8, 11); - let c = pool.callocAs(Type.U8, 7); - let d = pool.callocAs(Type.U8, 3); - let e = pool.callocAs(Type.U8, 1); + let a = pool.callocAs("u8", 15); + let b = pool.callocAs("u8", 11); + let c = pool.callocAs("u8", 7); + let d = pool.callocAs("u8", 3); + let e = pool.callocAs("u8", 1); assert.strictEqual(a!.byteOffset, base + BLOCK_OVERHEAD, "a"); assert.strictEqual( b!.byteOffset, @@ -448,8 +448,8 @@ describe("malloc", () => { it("freeAll (align 16)", () => { pool = new MemPool({ size: 0x100, align: 16 }); const base = pool.stats().top; - pool.callocAs(Type.U8, 15); - pool.callocAs(Type.U8, 11); + pool.callocAs("u8", 15); + pool.callocAs("u8", 11); pool.freeAll(); assert.strictEqual(pool.stats().top, base); }); diff --git a/packages/malloc/test/native.ts b/packages/malloc/test/native.ts index f336f88b97..0ead2c62c9 100644 --- a/packages/malloc/test/native.ts +++ b/packages/malloc/test/native.ts @@ -1,4 +1,3 @@ -import { Type } from "@thi.ng/api"; import * as assert from "assert"; import { NativePool } from "../src"; @@ -6,17 +5,17 @@ const pool = new NativePool(); describe("native", () => { it("mallocAs", () => { - assert.deepStrictEqual(pool.mallocAs(Type.F32, 0), new Float32Array(0)); - assert.deepStrictEqual(pool.mallocAs(Type.F32, 4), new Float32Array(4)); + assert.deepStrictEqual(pool.mallocAs("f32", 0), new Float32Array(0)); + assert.deepStrictEqual(pool.mallocAs("f32", 4), new Float32Array(4)); }); it("callocAs", () => { assert.deepStrictEqual( - pool.callocAs(Type.F32, 0, 1), + pool.callocAs("f32", 0, 1), new Float32Array([]) ); assert.deepStrictEqual( - pool.callocAs(Type.F32, 4, 1), + pool.callocAs("f32", 4, 1), new Float32Array([1, 1, 1, 1]) ); }); diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index 9072f4531e..475fdaf341 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/CHANGELOG.md @@ -3,20 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.0.1...@thi.ng/math@3.1.0) (2021-01-10) +# [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.1.0...@thi.ng/math@3.2.0) (2021-02-20) ### Features -* **math:** add floorTo/ceilTo() ([595fe83](https://github.com/thi-ng/umbrella/commit/595fe83475f4a4080408033d3448fd4c36ef1652)) +* **math:** add clamp0() ([d18c869](https://github.com/thi-ng/umbrella/commit/d18c869b59499ee081bee7c75e6ed0ebd4720efb)) -## [3.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.0.0...@thi.ng/math@3.0.1) (2021-01-02) +# [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.0.1...@thi.ng/math@3.1.0) (2021-01-10) + -**Note:** Version bump only for package @thi.ng/math +### Features + +* **math:** add floorTo/ceilTo() ([595fe83](https://github.com/thi-ng/umbrella/commit/595fe83475f4a4080408033d3448fd4c36ef1652)) diff --git a/packages/math/README.md b/packages/math/README.md index 256cb98390..7e056507b8 100644 --- a/packages/math/README.md +++ b/packages/math/README.md @@ -51,7 +51,7 @@ yarn add @thi.ng/math ``` -Package sizes (gzipped, pre-treeshake): ESM: 3.56 KB / CJS: 4.13 KB / UMD: 3.40 KB +Package sizes (gzipped, pre-treeshake): ESM: 3.60 KB / CJS: 4.17 KB / UMD: 3.43 KB ## Dependencies diff --git a/packages/math/package.json b/packages/math/package.json index 3087a69498..7229190932 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/math", - "version": "3.1.0", + "version": "3.2.0", "description": "Assorted common math functions & utilities", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/math/src/interval.ts b/packages/math/src/interval.ts index 4d5c80f194..ae40fd51bc 100644 --- a/packages/math/src/interval.ts +++ b/packages/math/src/interval.ts @@ -9,6 +9,13 @@ import type { FnN, FnN2, FnN3, FnN4, FnU3 } from "@thi.ng/api"; */ export const clamp: FnN3 = (x, min, max) => (x < min ? min : x > max ? max : x); +/** + * Clamps value `x` to closed [0 .. ∞] interval. + * + * @param x + */ +export const clamp0: FnN = (x) => (x > 0 ? x : 0); + /** * Clamps value `x` to closed [0 .. 1] interval. * diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index f34e0004d3..9fbb82df24 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.6.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.39...@thi.ng/matrices@0.6.40) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.38...@thi.ng/matrices@0.6.39) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.37...@thi.ng/matrices@0.6.38) (2020-12-22) +## [0.6.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.43...@thi.ng/matrices@0.6.44) (2021-02-20) **Note:** Version bump only for package @thi.ng/matrices diff --git a/packages/matrices/README.md b/packages/matrices/README.md index 8ba6cef4e9..0c34466274 100644 --- a/packages/matrices/README.md +++ b/packages/matrices/README.md @@ -56,7 +56,7 @@ sensible). ### Related packages -- [@thi.ng/color](https://github.com/thi-ng/umbrella/tree/develop/packages/color) - Array-based color types, conversions, transformations, declarative theme generation, multi-color gradients, presets +- [@thi.ng/color](https://github.com/thi-ng/umbrella/tree/develop/packages/color) - Array-based color types, CSS parsing, conversions, transformations, declarative theme generation, gradients, presets - [@thi.ng/geom](https://github.com/thi-ng/umbrella/tree/develop/packages/geom) - Functional, polymorphic API for 2D geometry types & SVG generation - [@thi.ng/vector-pools](https://github.com/thi-ng/umbrella/tree/develop/packages/vector-pools) - Data structures for managing & working with strided, memory mapped vectors - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) - Optimized 2d/3d/4d and arbitrary length vector operations diff --git a/packages/matrices/package.json b/packages/matrices/package.json index dafcf41954..18d87dc2eb 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/matrices", - "version": "0.6.40", + "version": "0.6.44", "description": "Matrix & quaternion operations for 2D/3D geometry processing", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index fb150cd255..fa6b166bd3 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.1.7...@thi.ng/memoize@2.1.8) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.1.6...@thi.ng/memoize@2.1.7) (2020-12-22) +## [2.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.1.8...@thi.ng/memoize@2.1.9) (2021-02-20) **Note:** Version bump only for package @thi.ng/memoize diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 5e67651a49..3bde8c56aa 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/memoize", - "version": "2.1.8", + "version": "2.1.9", "description": "Function memoization with configurable caching", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md index 08e62660c9..dc2b3cb740 100644 --- a/packages/mime/CHANGELOG.md +++ b/packages/mime/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.26...@thi.ng/mime@0.1.27) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.25...@thi.ng/mime@0.1.26) (2020-12-22) +## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.27...@thi.ng/mime@0.1.28) (2021-02-20) **Note:** Version bump only for package @thi.ng/mime diff --git a/packages/mime/package.json b/packages/mime/package.json index 9e9fcae0bd..41afbaae35 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/mime", - "version": "0.1.27", + "version": "0.1.28", "description": "350+ file extension to MIME type mappings, based on mime-db", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 7bf0252642..848e299dff 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.30...@thi.ng/morton@2.0.31) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.29...@thi.ng/morton@2.0.30) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.28...@thi.ng/morton@2.0.29) (2020-12-22) +## [2.0.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.31...@thi.ng/morton@2.0.32) (2021-02-20) **Note:** Version bump only for package @thi.ng/morton diff --git a/packages/morton/package.json b/packages/morton/package.json index 1b9509005a..aaa8d011c4 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/morton", - "version": "2.0.31", + "version": "2.0.32", "description": "Z-order curve / Morton encoding, decoding & range extraction for arbitrary dimensions", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/math": "^3.1.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/math": "^3.2.0" }, "files": [ "*.js", diff --git a/packages/oquery/CHANGELOG.md b/packages/oquery/CHANGELOG.md index bb348ab3f1..faf2f08b67 100644 --- a/packages/oquery/CHANGELOG.md +++ b/packages/oquery/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.3...@thi.ng/oquery@0.2.4) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/oquery - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.2...@thi.ng/oquery@0.2.3) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/oquery - - - - - -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.1...@thi.ng/oquery@0.2.2) (2020-12-22) +## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.4...@thi.ng/oquery@0.2.5) (2021-02-20) **Note:** Version bump only for package @thi.ng/oquery diff --git a/packages/oquery/package.json b/packages/oquery/package.json index 808c3699e4..7825c95a6b 100644 --- a/packages/oquery/package.json +++ b/packages/oquery/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/oquery", - "version": "0.2.4", + "version": "0.2.5", "description": "Datalog-inspired, optimized pattern/predicate query engine for JS objects & arrays", "module": "./index.js", "main": "./lib/index.js", @@ -41,17 +41,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/equiv": "^1.0.35" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/equiv": "^1.0.36" }, "files": [ "*.js", diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index 429b78a634..4e04337146 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.9.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.10...@thi.ng/parse@0.9.11) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.9.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.9...@thi.ng/parse@0.9.10) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.9.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.8...@thi.ng/parse@0.9.9) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.9.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.7...@thi.ng/parse@0.9.8) (2020-12-22) +## [0.9.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.12...@thi.ng/parse@0.9.13) (2021-02-20) **Note:** Version bump only for package @thi.ng/parse diff --git a/packages/parse/package.json b/packages/parse/package.json index cde44d0281..0e6bdde55e 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/parse", - "version": "0.9.11", + "version": "0.9.13", "description": "Purely functional parser combinators & AST generation for generic inputs", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/strings": "^1.15.0" }, "files": [ "*.js", diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index d9144a8729..8781b499e2 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -3,25 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.1.12...@thi.ng/paths@4.1.13) (2021-01-10) +# [4.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.1.13...@thi.ng/paths@4.2.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/paths +### Features - - - -## [4.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.1.11...@thi.ng/paths@4.1.12) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.1.10...@thi.ng/paths@4.1.11) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/paths +* **paths:** use updated/more safe isProtoPath() ([456fac1](https://github.com/thi-ng/umbrella/commit/456fac19a0178de589f31cdd7e7ec2d8a6406c6c)) diff --git a/packages/paths/README.md b/packages/paths/README.md index 2930aa6f2e..612ab1f9a3 100644 --- a/packages/paths/README.md +++ b/packages/paths/README.md @@ -78,7 +78,7 @@ yarn add @thi.ng/paths ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.18 KB / CJS: 1.29 KB / UMD: 1.25 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.15 KB / CJS: 1.25 KB / UMD: 1.21 KB ## Dependencies diff --git a/packages/paths/package.json b/packages/paths/package.json index f4edfee6f6..3cc99592d5 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/paths", - "version": "4.1.13", + "version": "4.2.0", "description": "Immutable, optimized and optionally typed path-based object property / array accessors with structural sharing", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/paths/src/mutator.ts b/packages/paths/src/mutator.ts index 8dbe5386b1..44ed8045d3 100644 --- a/packages/paths/src/mutator.ts +++ b/packages/paths/src/mutator.ts @@ -13,7 +13,7 @@ import type { Path8, PathVal, } from "@thi.ng/api"; -import { toPath } from "./path"; +import { disallowProtoPath, toPath } from "./path"; /** * Unchecked version of {@link defMutator}. @@ -73,6 +73,7 @@ export function defMutator( ): Fn2; export function defMutator(path: Path): any { const ks = toPath(path); + disallowProtoPath(ks); let [a, b, c, d] = ks; switch (ks.length) { case 0: diff --git a/packages/paths/src/path.ts b/packages/paths/src/path.ts index d7e1adb3ca..05ec502560 100644 --- a/packages/paths/src/path.ts +++ b/packages/paths/src/path.ts @@ -1,5 +1,5 @@ import { assert, NumOrString, Path } from "@thi.ng/api"; -import { isArray, isString } from "@thi.ng/checks"; +import { isArray, isProtoPath, isString } from "@thi.ng/checks"; /** * Converts the given key path to canonical form (array). @@ -56,24 +56,16 @@ export const exists = (obj: any, path: Path) => { }; /** - * Helper function to analyze given lookup path for presence of - * `__proto__`. Returns true if the case. + * Helper function to analyze given `path` using + * {@link @thi.ng/checks#isProtoPath}. Throws an error if path contains any + * property which might lead to prototype poisoning. * * @remarks - * Also see {@link disallowProtoPath} + * The following properties are considered illegal. * - * @param path - */ -export const isProtoPath = (path: Path) => - isArray(path) - ? path.some((x) => x === "__proto__") - : isString(path) - ? path.indexOf("__proto__") >= 0 - : false; - -/** - * Helper function to analyze given path using {@link isProtoPath}. - * Throws error if path contains `__proto__`. + * - `__proto__` + * - `prototype` + * - `constructor` * * @param path */ diff --git a/packages/paths/test/index.ts b/packages/paths/test/index.ts index 0dcdd432ee..c93d34e507 100644 --- a/packages/paths/test/index.ts +++ b/packages/paths/test/index.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { exists, getIn, getInUnsafe, setIn, setInUnsafe } from "../src"; +import { exists, getIn, getInUnsafe, mutIn, setIn, setInUnsafe } from "../src"; describe("paths", () => { it("getIn", () => { @@ -183,4 +183,9 @@ describe("paths", () => { assert.ok(!exists(b, "x.y.z.3.u"), "x.y.z.3.u"); assert.ok(!exists(b, "x.z.y.2.u"), "x.z.y.2.u"); }); + + it("mutIn", () => { + const a: any = {}; + assert.throws(() => mutIn(a, ['__proto__', 'polluted'], true)) + }) }); diff --git a/packages/pixel-io-netpbm/CHANGELOG.md b/packages/pixel-io-netpbm/CHANGELOG.md new file mode 100644 index 0000000000..64edd0c8af --- /dev/null +++ b/packages/pixel-io-netpbm/CHANGELOG.md @@ -0,0 +1,13 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# 0.1.0 (2021-02-20) + + +### Features + +* **pixel-io-netpbm:** add opt comment support ([2659031](https://github.com/thi-ng/umbrella/commit/265903115d4ca0ac71f1811b22afa016b685832e)) +* **pixel-io-netpbm:** add/update readers/writers ([a62ef0b](https://github.com/thi-ng/umbrella/commit/a62ef0b88218f87e17bd16b0cec3dd561d73669f)) +* **pixel-io-netpbm:** import as new pkg ([697b842](https://github.com/thi-ng/umbrella/commit/697b842bf5d3754bee88954cc84367d65734019d)) diff --git a/packages/pixel-io-netpbm/LICENSE b/packages/pixel-io-netpbm/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/pixel-io-netpbm/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/pixel-io-netpbm/README.md b/packages/pixel-io-netpbm/README.md new file mode 100644 index 0000000000..a46bf37aa7 --- /dev/null +++ b/packages/pixel-io-netpbm/README.md @@ -0,0 +1,143 @@ + + +# ![pixel-io-netpbm](https://media.thi.ng/umbrella/banners/thing-pixel-io-netpbm.svg?c1468b78) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/pixel-io-netpbm.svg)](https://www.npmjs.com/package/@thi.ng/pixel-io-netpbm) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/pixel-io-netpbm.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + +- [About](#about) + - [Status](#status) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [API](#api) +- [Authors](#authors) +- [License](#license) + +## About + +Multi-format NetPBM reader & writer support for [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel). + +This package can read & write binary +[NetPBM](https://en.wikipedia.org/wiki/Netpbm) image formats from byte +arrays/buffers to +[@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) +pixel buffers (aka `PackedBuffer`). + +| Source format | Destination format | Rec. file extension(1) | +|-------------------:|-----------------------|-----------------------------------| +| 1 bit | `GRAY8`(2) | `.pbm` | +| 2-8 bit grayscale | `GRAY8` | `.pgm` | +| 9-16 bit grayscale | `GRAY16` | `.pgm` | +| 24 bit RGB | `ARGB8888` | `.ppm` | + +(1) no relevance to actual parse/export logic +(2) currently no support for actual 1-bit pixel buffers + +Furthermore the `parseHeader()` function can be used to just extract image type, +size and other meta data (from comments), without parsing the full image. + +### Status + +**ALPHA** - bleeding edge / work-in-progress + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bpixel-io-netpbm%5D+in%3Atitle) + +## Installation + +```bash +yarn add @thi.ng/pixel-io-netpbm +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 1.31 KB / CJS: 1.39 KB / UMD: 1.49 KB + +## Dependencies + +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/pixel-io-netpbm/) + +```ts +import * as pbm from "@thi.ng/pixel-io-netpbm"; +import * as fs from "fs"; + +const src = fs.readFileSync("a.pbm"); +// + +// parse image header data +// P4 type => 1bit bitmap +pbm.parseHeader(src) +// { +// type: 'P4', +// width: 12, +// height: 8, +// max: undefined, +// start: 47, +// comments: [ 'generated by @thi.ng/pixel-io-netpbm' ] +// } + +const img = pbm.read(src); +// PackedBuffer { +// width: 12, +// height: 8, +// format: [Object], +// pixels: Uint8Array(96) [ +// 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, +// 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 0, 255, +// 255, 255, 0, 0, 0, 0, 255, 255, 255, 0, 0, 255, +// 255, 0, 0, 255, 255, 0, 0, 255, 0, 0, 0, 255, +// 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, +// 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, +// 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 0, 255, +// 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 +// ] +// } + +// convert to RGB image and export w/ additional meta data +// (will be stored in PBM header comments) +fs.writeFileSync( + "a-rgb.ppm", + pbm.asPPM( + img.as(RGB888), + [ + "@prefix dc: http://purl.org/dc/terms/", + "dc:created 2021-02-08", + "dc:creator toxi" + ] + ) +); +``` + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-pixel-io-netpbm, + title = "@thi.ng/pixel-io-netpbm", + author = "Karsten Schmidt", + note = "https://thi.ng/pixel-io-netpbm", + year = 2021 +} +``` + +## License + +© 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/pixel-io-netpbm/api-extractor.json b/packages/pixel-io-netpbm/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/pixel-io-netpbm/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/pixel-io-netpbm/package.json b/packages/pixel-io-netpbm/package.json new file mode 100644 index 0000000000..e28ec7181f --- /dev/null +++ b/packages/pixel-io-netpbm/package.json @@ -0,0 +1,85 @@ +{ + "name": "@thi.ng/pixel-io-netpbm", + "version": "0.1.0", + "description": "Multi-format NetPBM reader & writer support for @thi.ng/pixel", + "module": "./index.js", + "main": "./lib/index.js", + "umd:main": "./lib/index.umd.js", + "typings": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/thi-ng/umbrella.git" + }, + "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/pixel-io-netpbm#readme", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/postspectacular" + }, + { + "type": "patreon", + "url": "https://patreon.com/thing_umbrella" + } + ], + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module", + "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all", + "build:es6": "tsc --declaration", + "build:test": "rimraf build && tsc -p test/tsconfig.json", + "build:check": "tsc --isolatedModules --noEmit", + "test": "mocha test", + "cover": "nyc mocha test && nyc report --reporter=lcov", + "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", + "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", + "doc": "node_modules/.bin/typedoc --out doc --theme ../../tools/doc/typedoc-theme src/index.ts", + "pub": "yarn build:release && yarn publish --access public" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@microsoft/api-extractor": "^7.12.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^8.3.0", + "nyc": "^15.1.0", + "ts-node": "^9.1.1", + "typedoc": "^0.20.26", + "typescript": "^4.1.5" + }, + "dependencies": { + "@thi.ng/api": "^7.0.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/pixel": "^0.6.1" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "1bit", + "8bit", + "16bit", + "24bit", + "binary", + "bitmap", + "color", + "fileformat", + "grayscale", + "image", + "pixel", + "rgb", + "typescript" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "parent": "@thi.ng/pixel", + "status": "alpha", + "year": 2021 + } +} diff --git a/packages/pixel-io-netpbm/src/index.ts b/packages/pixel-io-netpbm/src/index.ts new file mode 100644 index 0000000000..e56b101847 --- /dev/null +++ b/packages/pixel-io-netpbm/src/index.ts @@ -0,0 +1,2 @@ +export * from "./read"; +export * from "./write"; diff --git a/packages/pixel-io-netpbm/src/read.ts b/packages/pixel-io-netpbm/src/read.ts new file mode 100644 index 0000000000..a4fc4adecb --- /dev/null +++ b/packages/pixel-io-netpbm/src/read.ts @@ -0,0 +1,235 @@ +import { assert, Predicate } from "@thi.ng/api"; +import { unsupported } from "@thi.ng/errors"; +import { GRAY16, GRAY8, packedBuffer, RGB888 } from "@thi.ng/pixel"; + +const isLinebreak = (c: number) => c === 0xa; + +const isWS = (c: number) => c === 0x20 || (c >= 9 && c <= 13); + +const readUntil = ( + src: Uint8Array, + i: number, + end: Predicate = isLinebreak +): [string, number] => { + let res = ""; + for (; i < src.length; i++) { + let c = src[i]; + if (end(c)) { + i++; + break; + } + res += String.fromCharCode(c); + } + return [res, i]; +}; + +const readComments = (src: Uint8Array, acc: string[], i: number) => { + while (src[i] === 0x23) { + // @ts-ignore + const [comment, j] = readUntil(src, i); + assert(j !== i, `EOF reached`); + acc.push(comment.substr(1).trim()); + i = j; + } + return i; +}; + +/** + * Parses header information from given NetPBM file byte buffer. + * + * @param src + */ +export const parseHeader = (src: Uint8Array) => { + let type: string; + let sw: string, sh: string; + let norm: string; + let max: number | undefined; + const comments: string[] = []; + let i = readComments(src, comments, 0); + [type, i] = readUntil(src, i); + i = readComments(src, comments, i); + [sw, i] = readUntil(src, i, isWS); + [sh, i] = readUntil(src, i, isWS); + const width = parseInt(sw); + const height = parseInt(sh); + assert(width > 0 && height > 0, `invalid NetPBM header`); + if (type === "P5" || type === "P6") { + [norm, i] = readUntil(src, i); + max = parseInt(norm); + } + return { + type, + width, + height, + max, + start: i, + comments, + }; +}; + +/** + * Takes a PBM/PGM/PPM file as byte array and parses it into a + * {@link @thi.ng/pixel#PackedBuffer} of corresponding format. + * + * @remarks + * Depending on header information, the following rules apply: + * + * - only binary NetPBM formats are supported (P4,P5,P6 types) + * - 1bit PBM (P4) => {@link readPBM} + * - grayscale PGM (P5) => {@link readPGM8} or {@link readPGM16} + * - 24bit RGB (P6) => {@link readPPM} + * + * Function will throw an error if image is of any other type or header is + * corrupt otherwise. Any embedded comments will be discarded. + * + * @param src + */ +export const read = (src: Uint8Array) => { + const { type, width, height, max, start } = parseHeader(src); + switch (type) { + case "P4": + return readPBM(src, start, width, height); + case "P5": + return max! < 0x100 + ? readPGM8(src, start, width, height, max) + : readPGM16(src, start, width, height, max); + case "P6": + return readPPM(src, start, width, height, max); + default: + unsupported(`PBM type: ${type}`); + } +}; + +/** + * Reads pixels from given 1bit PBM file byte buffer, starting at index `i` and + * returns {@link @thi.ng/pixel#PackedBuffer} in `GRAY8` format (due to current + * lack of true 1bit format). + * + * @param src + * @param i + * @param width + * @param height + */ +export const readPBM = ( + src: Uint8Array, + i: number, + width: number, + height: number +) => { + const buf = packedBuffer(width, height, GRAY8); + const pixels = buf.pixels; + const w1 = width - 1; + for (let y = 0, j = 0; y < height; y++) { + for (let x = 0; x < width; x++, j++) { + pixels[j] = src[i] & (1 << (~x & 7)) ? 0 : 0xff; + if ((x & 7) === 7 || x === w1) i++; + } + } + return buf; +}; + +/** + * Reads pixels from given 8bit PGM file byte buffer, starting at index `i` and + * returns {@link @thi.ng/pixel#PackedBuffer} in `GRAY8` format. If needed, + * pixel values are rescaled given `max` value defined in PGM header (MUST + * be <= 0xff). + * + * @remarks + * Reference: http://netpbm.sourceforge.net/doc/pbm.html + * + * @param src + * @param i + * @param width + * @param height + * @param max + */ +export const readPGM8 = ( + src: Uint8Array, + i: number, + width: number, + height: number, + max = 0xff +) => { + const buf = packedBuffer(width, height, GRAY8); + const pixels = buf.pixels; + if (max === 0xff) { + pixels.set(src.subarray(i)); + } else { + max = 0xff / max; + for (let j = 0, n = pixels.length; j < n; i++, j++) { + pixels[j] = (src[i] * max) | 0; + } + } + return buf; +}; + +/** + * Reads pixels from given 16bit PGM file byte buffer, starting at index `i` and + * returns {@link @thi.ng/pixel#PackedBuffer} in `GRAY16` format. Pixel values + * are rescaled given `max` value defined in PGM header (MUST be <= 0xffff). + * + * @remarks + * Reference: http://netpbm.sourceforge.net/doc/pgm.html + * + * @param src + * @param i + * @param width + * @param height + * @param max + */ +export const readPGM16 = ( + src: Uint8Array, + i: number, + width: number, + height: number, + max = 0xffff +) => { + const buf = packedBuffer(width, height, GRAY16); + const pixels = buf.pixels; + max = 0xffff / max; + for (let j = 0, n = pixels.length; j < n; i += 2, j++) { + pixels[j] = (((src[i] << 8) | src[i + 1]) * max) | 0; + } + return buf; +}; + +/** + * Reads pixels from given 24bit PPM file byte buffer, starting at index `i` and + * returns {@link @thi.ng/pixel#PackedBuffer} in `RGB888` format. Color channel + * values are rescaled given `max` value defined in PGM header (MUST be <= + * 0xff). + * + * @remarks + * Reference: http://netpbm.sourceforge.net/doc/pgm.html + * + * @param src + * @param i + * @param width + * @param height + * @param max + */ +export const readPPM = ( + src: Uint8Array, + i: number, + width: number, + height: number, + max = 0xff +) => { + const buf = packedBuffer(width, height, RGB888); + const pixels = buf.pixels; + assert(max <= 0xff, `unsupported max value: ${max}`); + if (max === 0xff) { + for (let j = 0, n = pixels.length; j < n; i += 3, j++) { + pixels[j] = (src[i] << 16) | (src[i + 1] << 8) | src[i + 2]; + } + } else { + max = 0xff / max; + for (let j = 0, n = pixels.length; j < n; i += 3, j++) { + pixels[j] = + ((src[i] * max) << 16) | + ((src[i + 1] * max) << 8) | + (src[i + 2] * max); + } + } + return buf; +}; diff --git a/packages/pixel-io-netpbm/src/write.ts b/packages/pixel-io-netpbm/src/write.ts new file mode 100644 index 0000000000..f8071d7b79 --- /dev/null +++ b/packages/pixel-io-netpbm/src/write.ts @@ -0,0 +1,147 @@ +import { GRAY16, luminanceABGR, PackedBuffer } from "@thi.ng/pixel"; + +const formatComments = ( + comments: string[] = ["generated by @thi.ng/pixel-io-netpbm"] +) => comments.map((x) => `# ${x}`).join("\n"); + +/** + * Initializes byte array & PBM header for given {@link PackedBuffer} and format + * details. + * + * @param magic + * @param limits + * @param size + * @param buf + * + * @internal + */ +const initHeader = ( + magic: string, + limits: number, + size: number, + buf: PackedBuffer, + comments?: string[] +) => { + const { width, height } = buf; + let header = magic + "\n"; + const comm = formatComments(comments); + if (comm.length) header += comm + "\n"; + header += `${width} ${height}\n`; + if (limits > 0) header += limits + "\n"; + const dest = new Uint8Array(size + header.length); + dest.set([...header].map((x) => x.charCodeAt(0))); + return { dest, start: header.length, abgr: buf.format.toABGR }; +}; + +/** + * Converts a {@link PackedBuffer} into a 1bit PBM byte array (binary format). + * + * @remarks + * Reference: http://netpbm.sourceforge.net/doc/pbm.html + * + * @param buf + * @param comments + */ +export const asPBM = (buf: PackedBuffer, comments?: string[]) => { + const { pixels, width, height } = buf; + const { dest, start, abgr } = initHeader( + "P4", + 0, + Math.ceil(width / 8) * height, + buf, + comments + ); + const w1 = width - 1; + for (let y = 0, i = start, j = 0; y < height; y++) { + for (let x = 0, b = 0; x <= w1; x++, j++) { + const xx = ~x & 7; + if (luminanceABGR(abgr(pixels[j])) < 128) { + b |= 1 << xx; + } + if (xx === 0 || x === w1) { + dest[i++] = b; + b = 0; + } + } + } + return dest; +}; + +/** + * Converts a {@link PackedBuffer} into a 8bit grayscale PGM byte array (binary + * format). + * + * @remarks + * Reference: http://netpbm.sourceforge.net/doc/pgm.html + * + * @param buf + * @param comments + */ +export const asPGM = (buf: PackedBuffer, comments?: string[]) => { + const { pixels, width, height } = buf; + const { dest, start, abgr } = initHeader( + "P5", + 0xff, + width * height, + buf, + comments + ); + for (let i = start, j = 0; j < pixels.length; i++, j++) { + dest[i] = luminanceABGR(abgr(pixels[j])); + } + return dest; +}; + +/** + * Converts a {@link PackedBuffer} into a 16bit grayscale PGM byte array (binary + * format). + * + * @remarks + * Reference: http://netpbm.sourceforge.net/doc/pgm.html + * + * @param buf + * @param comments + */ +export const asPGM16 = (buf: PackedBuffer, comments?: string[]) => { + if (buf.format !== GRAY16) buf = buf.as(GRAY16); + const { pixels, width, height } = buf; + const { dest, start } = initHeader( + "P5", + 0xffff, + width * height * 2, + buf, + comments + ); + for (let i = start, j = 0; j < pixels.length; i += 2, j++) { + dest[i] = pixels[j] >> 8; + dest[i + 1] = pixels[j] & 0xff; + } + return dest; +}; + +/** + * Converts a {@link PackedBuffer} into a 24bit PPM byte array (binary format). + * + * @remarks + * Reference: http://netpbm.sourceforge.net/doc/ppm.html + * + * @param buf + * @param comments + */ +export const asPPM = (buf: PackedBuffer, comments?: string[]) => { + const { pixels, width, height } = buf; + const { dest, start, abgr } = initHeader( + "P6", + 255, + width * 3 * height, + buf, + comments + ); + for (let i = start, j = 0; j < pixels.length; i += 3, j++) { + const col = abgr(pixels[j]); + dest[i] = col & 0xff; + dest[i + 1] = (col >> 8) & 0xff; + dest[i + 2] = (col >> 16) & 0xff; + } + return dest; +}; diff --git a/packages/pixel-io-netpbm/test/read.ts b/packages/pixel-io-netpbm/test/read.ts new file mode 100644 index 0000000000..9c9101f9d1 --- /dev/null +++ b/packages/pixel-io-netpbm/test/read.ts @@ -0,0 +1,86 @@ +import * as assert from "assert"; +import { parseHeader, read } from "../src"; + +describe("pixel-io-netpbm", () => { + it("parse header", () => { + assert.deepStrictEqual(parseHeader(Buffer.from("P4\n2\n3\n")), { + comments: [], + height: 3, + max: undefined, + start: 7, + type: "P4", + width: 2, + }); + assert.deepStrictEqual( + parseHeader(Buffer.from("P4\n#foo\n# bar\n2\n3\n")), + { + comments: ["foo", "bar"], + height: 3, + max: undefined, + start: 18, + type: "P4", + width: 2, + } + ); + }); + + it("read 1bit", () => { + // prettier-ignore + assert.deepStrictEqual( + read(new Uint8Array([0x50, 0x34, 0x0a, 0x31, 0x32, 0x20, 0x32, 0x0a, 0xff, 0xff, 0xaa, 0x55])).pixels, + new Uint8Array([ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00 + ]) + ); + }); + + it("read 4bit", () => { + // prettier-ignore + assert.deepStrictEqual( + read(new Uint8Array([ + 0x50, 0x35, 0x0a, 0x34, 0x20, 0x34, 0x0a, 0x31, 0x35, 0x0a, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + ])).pixels, + new Uint8Array([ + 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, + 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff + ]) + ); + }); + + it("read 8bit", () => { + // prettier-ignore + assert.deepStrictEqual( + read(new Uint8Array([ + 0x50, 0x35, 0x0a, 0x32, 0x20, 0x32, 0x0a, 0x32, 0x35, 0x35, 0x0a, + 0x00, 0x44, 0x88, 0xff + ])).pixels, + new Uint8Array([0x00, 0x44, 0x88, 0xff]) + ); + }); + + it("read 16bit", () => { + // prettier-ignore + assert.deepStrictEqual( + read(new Uint8Array([ + 0x50, 0x35, 0x0a, 0x32, 0x20, 0x32, 0x0a, 0x31, 0x30, 0x32, 0x33, 0x0a, + 0x03, 0xff, 0x01, 0x00, 0x02, 0xff, 0x00, 0xff + ])).pixels, + new Uint16Array([0xffff, 0x400f, 0xbfef, 0x3fcf]) + ); + }); + + it("read 24bit", () => { + // prettier-ignore + assert.deepStrictEqual( + read(new Uint8Array([ + 0x50, 0x36, 0x0a, 0x32, 0x0a, 0x32, 0x0a, 0x32, 0x35, 0x35, 0x0a, + 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, + 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc + ])).pixels, + new Uint32Array([0x112233, 0x445566, 0x778899, 0xaabbcc]) + ); + }); +}); diff --git a/packages/pixel-io-netpbm/test/tsconfig.json b/packages/pixel-io-netpbm/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/pixel-io-netpbm/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/pixel-io-netpbm/tpl.readme.md b/packages/pixel-io-netpbm/tpl.readme.md new file mode 100644 index 0000000000..74108b2c8d --- /dev/null +++ b/packages/pixel-io-netpbm/tpl.readme.md @@ -0,0 +1,119 @@ +# ${pkg.banner} + +[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name}) +![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + + + +## About + +${pkg.description} + +This package can read & write binary +[NetPBM](https://en.wikipedia.org/wiki/Netpbm) image formats from byte +arrays/buffers to +[@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) +pixel buffers (aka `PackedBuffer`). + +| Source format | Destination format | Rec. file extension(1) | +|-------------------:|-----------------------|-----------------------------------| +| 1 bit | `GRAY8`(2) | `.pbm` | +| 2-8 bit grayscale | `GRAY8` | `.pgm` | +| 9-16 bit grayscale | `GRAY16` | `.pgm` | +| 24 bit RGB | `ARGB8888` | `.ppm` | + +(1) no relevance to actual parse/export logic +(2) currently no support for actual 1-bit pixel buffers + +Furthermore the `parseHeader()` function can be used to just extract image type, +size and other meta data (from comments), without parsing the full image. + +${status} + +${supportPackages} + +${relatedPackages} + +${blogPosts} + +## Installation + +${pkg.install} + +${pkg.size} + +## Dependencies + +${pkg.deps} + +${examples} + +## API + +${docLink} + +```ts +import * as pbm from "@thi.ng/pixel-io-netpbm"; +import * as fs from "fs"; + +const src = fs.readFileSync("a.pbm"); +// + +// parse image header data +// P4 type => 1bit bitmap +pbm.parseHeader(src) +// { +// type: 'P4', +// width: 12, +// height: 8, +// max: undefined, +// start: 47, +// comments: [ 'generated by @thi.ng/pixel-io-netpbm' ] +// } + + +const img = pbm.read(src); +// PackedBuffer { +// width: 12, +// height: 8, +// format: [Object], +// pixels: Uint8Array(96) [ +// 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, +// 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 0, 255, +// 255, 255, 0, 0, 0, 0, 255, 255, 255, 0, 0, 255, +// 255, 0, 0, 255, 255, 0, 0, 255, 0, 0, 0, 255, +// 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, +// 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, +// 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 0, 255, +// 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 +// ] +// } + +// convert to RGB image and export w/ additional meta data +// (will be stored in PBM header comments) +fs.writeFileSync( + "a-rgb.ppm", + pbm.asPPM( + img.as(RGB888), + [ + "@prefix dc: http://purl.org/dc/terms/", + "dc:created 2021-02-08", + "dc:creator toxi" + ] + ) +); +``` + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/pixel-io-netpbm/tsconfig.json b/packages/pixel-io-netpbm/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/pixel-io-netpbm/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index 3e1b2d158a..65fbd72e5b 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.5.0...@thi.ng/pixel@0.5.1) (2021-01-10) +## [0.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.6.0...@thi.ng/pixel@0.6.1) (2021-02-20) **Note:** Version bump only for package @thi.ng/pixel @@ -11,21 +11,24 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.4.10...@thi.ng/pixel@0.5.0) (2021-01-02) +# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.5.1...@thi.ng/pixel@0.6.0) (2021-01-13) ### Features -* **pixel:** add FLOAT_HSVA format, update FloatFormatSpec ([118c4ed](https://github.com/thi-ng/umbrella/commit/118c4edbacd75249262f26962153f614148cedec)) -* **pixel:** add FloatBuffer.fromPacked() ([abd1ca8](https://github.com/thi-ng/umbrella/commit/abd1ca80d455999dd8c3af87d24b4f1905d7806d)) +* **pixel:** add downsample() for both buffer types ([0b9b0fa](https://github.com/thi-ng/umbrella/commit/0b9b0fad5ce7edcfaf50be767a73f8cc3fe7ebfe)) -## [0.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.4.9...@thi.ng/pixel@0.4.10) (2020-12-22) +# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.4.10...@thi.ng/pixel@0.5.0) (2021-01-02) -**Note:** Version bump only for package @thi.ng/pixel + +### Features + +* **pixel:** add FLOAT_HSVA format, update FloatFormatSpec ([118c4ed](https://github.com/thi-ng/umbrella/commit/118c4edbacd75249262f26962153f614148cedec)) +* **pixel:** add FloatBuffer.fromPacked() ([abd1ca8](https://github.com/thi-ng/umbrella/commit/abd1ca80d455999dd8c3af87d24b4f1905d7806d)) diff --git a/packages/pixel/README.md b/packages/pixel/README.md index 3ecf008cb4..d06b8f677a 100644 --- a/packages/pixel/README.md +++ b/packages/pixel/README.md @@ -14,6 +14,7 @@ This project is part of the - [Packed integer pixel formats](#packed-integer-pixel-formats) - [Floating point pixel formats](#floating-point-pixel-formats) - [Status](#status) + - [Support packages](#support-packages) - [Related packages](#related-packages) - [Installation](#installation) - [Dependencies](#dependencies) @@ -24,7 +25,7 @@ This project is part of the ## About -Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions. +Typed array backed, integer and floating point pixel buffers w/ customizable formats, blitting, dithering, conversions. ![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/pixel-basics.png) @@ -115,6 +116,10 @@ formats can be defined via `defFloatFormat()`. [Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bpixel%5D+in%3Atitle) +### Support packages + +- [@thi.ng/pixel-io-netpbm](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel-io-netpbm) - Multi-format NetPBM reader & writer support for [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) + ### Related packages - [@thi.ng/porter-duff](https://github.com/thi-ng/umbrella/tree/develop/packages/porter-duff) - Porter-Duff operators for packed ints & float-array alpha compositing @@ -133,11 +138,12 @@ yarn add @thi.ng/pixel ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.15 KB / CJS: 5.34 KB / UMD: 5.25 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.35 KB / CJS: 5.57 KB / UMD: 5.52 KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/porter-duff](https://github.com/thi-ng/umbrella/tree/develop/packages/porter-duff) @@ -150,14 +156,15 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | -| | Pixel buffer manipulations | [Demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) | -| | Port-Duff image compositing / alpha blending | [Demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) | -| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | -| | Textmode image warping w/ 16bit color output | [Demo](https://demo.thi.ng/umbrella/text-canvas-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas-image) | -| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | +| | Pixel buffer manipulations | [Demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | +| | Port-Duff image compositing / alpha blending | [Demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| | Textmode image warping w/ 16bit color output | [Demo](https://demo.thi.ng/umbrella/text-canvas-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas-image) | +| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | ## API diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 6158a9323f..78802cb3c8 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/pixel", - "version": "0.5.1", - "description": "Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions", + "version": "0.6.1", + "description": "Typed array backed, integer and floating point pixel buffers w/ customizable formats, blitting, dithering, conversions", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -42,26 +42,33 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/math": "^3.1.0", - "@thi.ng/porter-duff": "^0.1.37" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/porter-duff": "^0.1.38" }, "files": [ "*.js", "*.d.ts", - "lib" + "lib", + "format" ], "keywords": [ + "8bit", + "16bit", + "24bit", + "32bit", "alpha", "array", + "argb", "binary", "blend", "blit", @@ -72,11 +79,14 @@ "datastructure", "dither", "float", + "format", "grayscale", "image", "interval", "multiformat", - "pixelbuffer", + "pixel", + "resize", + "rgb565", "typedarray", "typescript" ], diff --git a/packages/pixel/src/api.ts b/packages/pixel/src/api.ts index 0e9c333899..a337db808d 100644 --- a/packages/pixel/src/api.ts +++ b/packages/pixel/src/api.ts @@ -3,8 +3,8 @@ import type { Fn2, IObjectOf, NumericArray, - Type, TypedArray, + UintType, } from "@thi.ng/api"; /** @@ -35,8 +35,6 @@ export enum Filter { LINEAR, } -export type UintType = Type.U8 | Type.U16 | Type.U32; - /** * Blend function (for packed integers) given to IBlend implementations. */ @@ -206,11 +204,12 @@ export interface RawPixelBuffer extends CanvasContext { pixels: Uint32Array; } -export interface IPixelBuffer { - width: number; - height: number; - format: IABGRConvert; - pixels: T; +export interface IPixelBuffer { + readonly width: number; + readonly height: number; + readonly format: IABGRConvert; + readonly stride: number; + readonly pixels: T; /** * Returns pixel value at given position. If pos is outside the diff --git a/packages/pixel/src/float.ts b/packages/pixel/src/float.ts index c85768ec14..f7f4640734 100644 --- a/packages/pixel/src/float.ts +++ b/packages/pixel/src/float.ts @@ -9,7 +9,8 @@ import type { IPixelBuffer, PackedFormat, } from "./api"; -import { defFloatFormat, FLOAT_GRAY } from "./format"; +import { defFloatFormat } from "./format/float-format"; +import { FLOAT_GRAY } from "./format/float-gray"; import { PackedBuffer } from "./packed"; import { clampRegion, ensureChannel, ensureSize, prepRegions } from "./utils"; @@ -49,12 +50,12 @@ export class FloatBuffer implements IPixelBuffer { return dest; } - width: number; - height: number; - stride: number; - rowStride: number; - pixels: Float32Array; - format: FloatFormat; + readonly width: number; + readonly height: number; + readonly stride: number; + readonly rowStride: number; + readonly pixels: Float32Array; + readonly format: FloatFormat; protected __empty: NumericArray; constructor( @@ -285,6 +286,34 @@ export class FloatBuffer implements IPixelBuffer { return this; } + /** + * Returns new buffer of downscaled version (by given integer factor) using + * simple nearest neighbor sampling. + * + * @param res + */ + downsample(res: number) { + res |= 0; + const { width, height, stride, pixels: sbuf } = this; + const dest = new FloatBuffer( + (width / res) | 0, + (height / res) | 0, + this.format + ); + const { width: dwidth, height: dheight, pixels: dbuf } = dest; + res *= stride; + for (let y = 0, i = 0; y < dheight; y++) { + for ( + let x = 0, j = y * res * width; + x < dwidth; + x++, i += stride, j += res + ) { + dbuf.set(sbuf.subarray(j, j + stride), i); + } + } + return dest; + } + protected ensureFormat(dest: FloatBuffer) { assert( dest.format === this.format, diff --git a/packages/pixel/src/format.ts b/packages/pixel/src/format.ts deleted file mode 100644 index b5ed570573..0000000000 --- a/packages/pixel/src/format.ts +++ /dev/null @@ -1,374 +0,0 @@ -import { assert, FnN, FnN2, IObjectOf, NumericArray, Type } from "@thi.ng/api"; -import { clamp01, EPS } from "@thi.ng/math"; -import { - FloatFormat, - FloatFormatSpec, - Lane, - PackedChannel, - PackedChannelSpec, - PackedFormat, - PackedFormatSpec, -} from "./api"; -import { compileFromABGR, compileToABGR } from "./codegen"; -import { orderedDither } from "./dither"; -import { luminanceABGR } from "./utils"; - -const abs = Math.abs; -const min = Math.min; - -const defChannel = ( - ch: PackedChannelSpec, - idx: number, - shift: number -): PackedChannel => { - const num = 1 << ch.size; - const mask0 = num - 1; - const maskA = (mask0 << shift) >>> 0; - const invMask = ~maskA >>> 0; - const lane = ch.lane != null ? ch.lane : idx; - const int: FnN = (x) => (x >>> shift) & mask0; - const setInt: FnN2 = (src, x) => (src & invMask) | ((x & mask0) << shift); - return { - size: ch.size, - abgrShift: 24 - lane * 8 - shift, - lane, - shift, - mask0, - maskA, - int, - setInt, - float: (x) => int(x) / mask0, - setFloat: (src, x) => setInt(src, clamp01(x) * mask0), - dither: (mat, steps, x, y, val) => - orderedDither(mat, steps, num, num, x, y, val), - }; -}; - -export const defPackedFormat = (fmt: PackedFormatSpec): PackedFormat => { - assert(fmt.channels.length > 0, "no channel specs given"); - const channels = fmt.channels.reduce( - ([defs, shift], ch, i) => { - shift -= ch.size; - defs.push(defChannel(ch, i, shift)); - return <[PackedChannel[], number]>[defs, shift]; - }, - <[PackedChannel[], number]>[[], fmt.size] - )[0]; - return { - __packed: true, - type: fmt.type, - size: fmt.size, - alpha: fmt.alpha || 0, - channels, - fromABGR: fmt.fromABGR || compileFromABGR(channels), - toABGR: fmt.toABGR || compileToABGR(channels, !!fmt.alpha), - }; -}; - -export const ALPHA8 = defPackedFormat({ - type: Type.U8, - size: 8, - alpha: 8, - channels: [{ size: 8, lane: 0 }], -}); - -export const GRAY8 = defPackedFormat({ - type: Type.U8, - size: 8, - channels: [{ size: 8, lane: Lane.RED }], - fromABGR: (x) => luminanceABGR(x), - toABGR: (x) => (0xff000000 | ((x & 0xff) * 0x010101)) >>> 0, -}); - -export const GRAY_ALPHA8 = defPackedFormat({ - type: Type.U16, - size: 16, - alpha: 8, - channels: [ - { size: 8, lane: Lane.ALPHA }, - { size: 8, lane: Lane.RED }, - ], - fromABGR: (x) => luminanceABGR(x) | ((x >>> 16) & 0xff00), - toABGR: (x) => (((x & 0xff00) << 16) | ((x & 0xff) * 0x010101)) >>> 0, -}); - -export const GRAY16 = defPackedFormat({ - type: Type.U16, - size: 16, - channels: [{ size: 16, lane: Lane.RED }], - fromABGR: (x) => ((luminanceABGR(x) + 0.5) | 0) * 0x0101, - toABGR: (x) => (0xff000000 | ((x >>> 8) * 0x010101)) >>> 0, -}); - -export const GRAY_ALPHA16 = defPackedFormat({ - type: Type.U32, - size: 32, - channels: [ - { size: 8, lane: Lane.ALPHA }, - { size: 16, lane: Lane.RED }, - ], - fromABGR: (x) => - (((luminanceABGR(x) + 0.5) | 0) * 0x0101) | - (((x >>> 8) & 0xff0000) * 0x0101), - toABGR: (x) => ((x & 0xff000000) | (((x >>> 8) & 0xff) * 0x010101)) >>> 0, -}); - -export const RGB565 = defPackedFormat({ - type: Type.U16, - size: 16, - channels: [ - { size: 5, lane: Lane.RED }, - { size: 6, lane: Lane.GREEN }, - { size: 5, lane: Lane.BLUE }, - ], -}); - -export const ARGB1555 = defPackedFormat({ - type: Type.U16, - size: 16, - alpha: 1, - channels: [ - { size: 1, lane: Lane.ALPHA }, - { size: 5, lane: Lane.RED }, - { size: 5, lane: Lane.GREEN }, - { size: 5, lane: Lane.BLUE }, - ], -}); - -export const ARGB4444 = defPackedFormat({ - type: Type.U16, - size: 16, - alpha: 4, - channels: [ - { size: 4, lane: Lane.ALPHA }, - { size: 4, lane: Lane.RED }, - { size: 4, lane: Lane.GREEN }, - { size: 4, lane: Lane.BLUE }, - ], -}); - -export const RGB888 = defPackedFormat({ - type: Type.U32, - size: 24, - channels: [ - { size: 8, lane: Lane.RED }, - { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.BLUE }, - ], -}); - -export const ARGB8888 = defPackedFormat({ - type: Type.U32, - size: 32, - alpha: 8, - channels: [ - { size: 8, lane: Lane.ALPHA }, - { size: 8, lane: Lane.RED }, - { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.BLUE }, - ], -}); - -export const BGR888 = defPackedFormat({ - type: Type.U32, - size: 24, - channels: [ - { size: 8, lane: Lane.BLUE }, - { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.RED }, - ], - fromABGR: (x) => x & 0xffffff, - toABGR: (x) => 0xff000000 | x, -}); - -export const ABGR8888 = defPackedFormat({ - type: Type.U32, - size: 32, - alpha: 8, - channels: [ - { size: 8, lane: Lane.ALPHA }, - { size: 8, lane: Lane.BLUE }, - { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.RED }, - ], - fromABGR: (x) => x, - toABGR: (x) => x, -}); - -export const defFloatFormat = (fmt: FloatFormatSpec) => { - const chan = fmt.channels; - const chanShift = chan.reduce( - (acc, ch) => ((acc[ch] = (3 - ch) << 3), acc), - >{} - ); - const res = { - ...fmt, - size: chan.length, - shift: chanShift, - __float: true, - }; - if (fmt.convert) { - Object.assign(res, fmt.convert); - return res; - } - const to = (col: NumericArray, i: number) => - ((col[i] * 0xff + 0.5) | 0) << chanShift[chan[i]]; - const from: FnN2 = (col, i) => ((col >>> chanShift[chan[i]]) & 0xff) / 0xff; - switch (chan.length) { - case 1: - if (fmt.gray) { - res.toABGR = (col) => - ((((col[0] * 0xff + 0.5) | 0) * 0x010101) | 0xff000000) >>> - 0; - res.fromABGR = (col, out = []) => ( - (out[0] = luminanceABGR(col) / 0xff), out - ); - } else { - res.toABGR = (col) => { - let out = fmt.alpha ? 0 : 0xff000000; - out |= to(col, 0); - return out >>> 0; - }; - res.fromABGR = (col, out = []) => { - out[0] = from(col, 0); - return out; - }; - } - break; - case 2: - if (fmt.gray) { - const gray = ~~(chan[0] === Lane.ALPHA); - const alpha = gray ^ 1; - res.toABGR = (col) => { - let out = ((col[gray] * 0xff + 0.5) | 0) * 0x010101; - out |= ((col[alpha] * 0xff + 0.5) | 0) << 24; - return out >>> 0; - }; - res.fromABGR = (col, out = []) => { - out[gray] = luminanceABGR(col) / 0xff; - out[alpha] = from(col, alpha); - return out; - }; - } else { - res.toABGR = (col) => { - let out = fmt.alpha ? 0 : 0xff000000; - out |= to(col, 0); - out |= to(col, 1); - return out >>> 0; - }; - res.fromABGR = (col, out = []) => { - out[0] = from(col, 0); - out[1] = from(col, 1); - return out; - }; - } - break; - case 3: - res.toABGR = (col) => { - let out = fmt.alpha ? 0 : 0xff000000; - out |= to(col, 0); - out |= to(col, 1); - out |= to(col, 2); - return out >>> 0; - }; - res.fromABGR = (col, out = []) => { - out[0] = from(col, 0); - out[1] = from(col, 1); - out[2] = from(col, 2); - return out; - }; - break; - case 4: - res.toABGR = (col) => { - let out = fmt.alpha ? 0 : 0xff000000; - out |= to(col, 0); - out |= to(col, 1); - out |= to(col, 2); - out |= to(col, 3); - return out >>> 0; - }; - res.fromABGR = (col, out = []) => { - out[0] = from(col, 0); - out[1] = from(col, 1); - out[2] = from(col, 2); - out[3] = from(col, 3); - return out; - }; - break; - } - return res; -}; - -export const FLOAT_GRAY = defFloatFormat({ - gray: true, - channels: [Lane.RED], -}); - -export const FLOAT_GRAY_ALPHA = defFloatFormat({ - gray: true, - alpha: true, - channels: [Lane.RED, Lane.ALPHA], -}); - -export const FLOAT_RGB = defFloatFormat({ - channels: [Lane.RED, Lane.GREEN, Lane.BLUE], -}); - -export const FLOAT_RGBA = defFloatFormat({ - alpha: true, - channels: [Lane.RED, Lane.GREEN, Lane.BLUE, Lane.ALPHA], -}); - -export const FLOAT_HSVA = defFloatFormat({ - alpha: true, - channels: [Lane.RED, Lane.GREEN, Lane.BLUE, Lane.ALPHA], - convert: { - fromABGR: (x, out = []) => { - const a = ((x >>> 24) & 0xff) / 0xff; - const b = ((x >>> 16) & 0xff) / 0xff; - const g = ((x >>> 8) & 0xff) / 0xff; - const r = (x & 0xff) / 0xff; - let p0: number, p1: number, p2: number, p3: number; - let q0: number, q1: number, q2: number, q3: number; - if (g < b) { - p0 = b; - p1 = g; - p2 = -1; - p3 = 2 / 3; - } else { - p0 = g; - p1 = b; - p2 = 0; - p3 = -1 / 3; - } - if (r < p0) { - q0 = p0; - q1 = p1; - q2 = p3; - q3 = r; - } else { - q0 = r; - q1 = p1; - q2 = p2; - q3 = p0; - } - const c = q0 - min(q1, q3); - q0 = clamp01(q0); - out[0] = clamp01(abs((q3 - q1) / (6 * c + EPS) + q2)); - out[1] = clamp01(c / (q0 + EPS)); - out[2] = q0; - out[3] = a; - return out; - }, - toABGR: (x) => { - const h = x[0] * 6; - const s = x[1]; - const v = x[2] * 0xff; - const a = x[3] * 0xff; - const r = ((clamp01(abs(h - 3) - 1) - 1) * s + 1) * v; - const g = ((clamp01(2 - abs(h - 2)) - 1) * s + 1) * v; - const b = ((clamp01(2 - abs(h - 4)) - 1) * s + 1) * v; - return ((a << 24) | (b << 16) | (g << 8) | r) >>> 0; - }, - }, -}); diff --git a/packages/pixel/src/format/abgr8888.ts b/packages/pixel/src/format/abgr8888.ts new file mode 100644 index 0000000000..daf26ae5cc --- /dev/null +++ b/packages/pixel/src/format/abgr8888.ts @@ -0,0 +1,16 @@ +import { Lane } from "../api"; +import { defPackedFormat } from "./packed-format"; + +export const ABGR8888 = defPackedFormat({ + type: "u32", + size: 32, + alpha: 8, + channels: [ + { size: 8, lane: Lane.ALPHA }, + { size: 8, lane: Lane.BLUE }, + { size: 8, lane: Lane.GREEN }, + { size: 8, lane: Lane.RED }, + ], + fromABGR: (x) => x, + toABGR: (x) => x, +}); diff --git a/packages/pixel/src/format/alpha8.ts b/packages/pixel/src/format/alpha8.ts new file mode 100644 index 0000000000..3cb12e1f06 --- /dev/null +++ b/packages/pixel/src/format/alpha8.ts @@ -0,0 +1,8 @@ +import { defPackedFormat } from "./packed-format"; + +export const ALPHA8 = defPackedFormat({ + type: "u8", + size: 8, + alpha: 8, + channels: [{ size: 8, lane: 0 }], +}); diff --git a/packages/pixel/src/format/argb1555.ts b/packages/pixel/src/format/argb1555.ts new file mode 100644 index 0000000000..0667d082ff --- /dev/null +++ b/packages/pixel/src/format/argb1555.ts @@ -0,0 +1,14 @@ +import { Lane } from "../api"; +import { defPackedFormat } from "./packed-format"; + +export const ARGB1555 = defPackedFormat({ + type: "u16", + size: 16, + alpha: 1, + channels: [ + { size: 1, lane: Lane.ALPHA }, + { size: 5, lane: Lane.RED }, + { size: 5, lane: Lane.GREEN }, + { size: 5, lane: Lane.BLUE }, + ], +}); diff --git a/packages/pixel/src/format/argb4444.ts b/packages/pixel/src/format/argb4444.ts new file mode 100644 index 0000000000..b357f83098 --- /dev/null +++ b/packages/pixel/src/format/argb4444.ts @@ -0,0 +1,14 @@ +import { Lane } from "../api"; +import { defPackedFormat } from "./packed-format"; + +export const ARGB4444 = defPackedFormat({ + type: "u16", + size: 16, + alpha: 4, + channels: [ + { size: 4, lane: Lane.ALPHA }, + { size: 4, lane: Lane.RED }, + { size: 4, lane: Lane.GREEN }, + { size: 4, lane: Lane.BLUE }, + ], +}); diff --git a/packages/pixel/src/format/argb8888.ts b/packages/pixel/src/format/argb8888.ts new file mode 100644 index 0000000000..0e9acb234a --- /dev/null +++ b/packages/pixel/src/format/argb8888.ts @@ -0,0 +1,17 @@ +import { swapLane13 } from "@thi.ng/binary"; +import { Lane } from "../api"; +import { defPackedFormat } from "./packed-format"; + +export const ARGB8888 = defPackedFormat({ + type: "u32", + size: 32, + alpha: 8, + channels: [ + { size: 8, lane: Lane.ALPHA }, + { size: 8, lane: Lane.RED }, + { size: 8, lane: Lane.GREEN }, + { size: 8, lane: Lane.BLUE }, + ], + fromABGR: swapLane13, + toABGR: swapLane13, +}); diff --git a/packages/pixel/src/format/bgr888.ts b/packages/pixel/src/format/bgr888.ts new file mode 100644 index 0000000000..7c42112103 --- /dev/null +++ b/packages/pixel/src/format/bgr888.ts @@ -0,0 +1,14 @@ +import { Lane } from "../api"; +import { defPackedFormat } from "./packed-format"; + +export const BGR888 = defPackedFormat({ + type: "u32", + size: 24, + channels: [ + { size: 8, lane: Lane.BLUE }, + { size: 8, lane: Lane.GREEN }, + { size: 8, lane: Lane.RED }, + ], + fromABGR: (x) => x & 0xffffff, + toABGR: (x) => 0xff000000 | x, +}); diff --git a/packages/pixel/src/format/float-format.ts b/packages/pixel/src/format/float-format.ts new file mode 100644 index 0000000000..ec1b49ead4 --- /dev/null +++ b/packages/pixel/src/format/float-format.ts @@ -0,0 +1,138 @@ +import type { Fn2, FnN2, IObjectOf, NumericArray } from "@thi.ng/api"; +import { FloatFormat, FloatFormatSpec, Lane } from "../api"; +import { luminanceABGR } from "../utils"; + +export const defFloatFormat = (fmt: FloatFormatSpec) => { + const chan = fmt.channels; + const chanShift = chan.reduce( + (acc, ch) => ((acc[ch] = (3 - ch) << 3), acc), + >{} + ); + const res = { + ...fmt, + size: chan.length, + shift: chanShift, + __float: true, + }; + if (fmt.convert) { + Object.assign(res, fmt.convert); + return res; + } + const to = (col: NumericArray, i: number) => + ((col[i] * 0xff + 0.5) | 0) << chanShift[chan[i]]; + const from: FnN2 = (col, i) => ((col >>> chanShift[chan[i]]) & 0xff) / 0xff; + switch (chan.length) { + case 1: + fmt.gray ? defConvert1Gray(res) : defConvert1(res, from, to); + break; + case 2: + fmt.gray ? defConvert2Gray(res, from) : defConvert2(res, from, to); + break; + case 3: + defConvert3(res, from, to); + break; + case 4: + defConvert4(res, from, to); + break; + } + return res; +}; + +const defConvert1 = ( + res: FloatFormat, + from: FnN2, + to: Fn2 +) => { + res.toABGR = (col) => { + let out = res.alpha ? 0 : 0xff000000; + out |= to(col, 0); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + return out; + }; +}; + +const defConvert1Gray = (res: FloatFormat) => { + res.toABGR = (col) => + ((((col[0] * 0xff + 0.5) | 0) * 0x010101) | 0xff000000) >>> 0; + res.fromABGR = (col, out = []) => ( + (out[0] = luminanceABGR(col) / 0xff), out + ); +}; + +const defConvert2 = ( + res: FloatFormat, + from: FnN2, + to: Fn2 +) => { + res.toABGR = (col) => { + let out = res.alpha ? 0 : 0xff000000; + out |= to(col, 0); + out |= to(col, 1); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + out[1] = from(col, 1); + return out; + }; +}; + +const defConvert2Gray = (res: FloatFormat, from: FnN2) => { + const gray = ~~(res.channels[0] === Lane.ALPHA); + const alpha = gray ^ 1; + res.toABGR = (col) => { + let out = ((col[gray] * 0xff + 0.5) | 0) * 0x010101; + out |= ((col[alpha] * 0xff + 0.5) | 0) << 24; + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[gray] = luminanceABGR(col) / 0xff; + out[alpha] = from(col, alpha); + return out; + }; +}; + +const defConvert3 = ( + res: FloatFormat, + from: FnN2, + to: Fn2 +) => { + res.toABGR = (col) => { + let out = res.alpha ? 0 : 0xff000000; + out |= to(col, 0); + out |= to(col, 1); + out |= to(col, 2); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + out[1] = from(col, 1); + out[2] = from(col, 2); + return out; + }; +}; + +const defConvert4 = ( + res: FloatFormat, + from: FnN2, + to: Fn2 +) => { + res.toABGR = (col) => { + let out = res.alpha ? 0 : 0xff000000; + out |= to(col, 0); + out |= to(col, 1); + out |= to(col, 2); + out |= to(col, 3); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + out[1] = from(col, 1); + out[2] = from(col, 2); + out[3] = from(col, 3); + return out; + }; +}; diff --git a/packages/pixel/src/format/float-gray-alpha.ts b/packages/pixel/src/format/float-gray-alpha.ts new file mode 100644 index 0000000000..d23e8b786f --- /dev/null +++ b/packages/pixel/src/format/float-gray-alpha.ts @@ -0,0 +1,8 @@ +import { Lane } from "../api"; +import { defFloatFormat } from "./float-format"; + +export const FLOAT_GRAY_ALPHA = defFloatFormat({ + gray: true, + alpha: true, + channels: [Lane.RED, Lane.ALPHA], +}); diff --git a/packages/pixel/src/format/float-gray.ts b/packages/pixel/src/format/float-gray.ts new file mode 100644 index 0000000000..897d715357 --- /dev/null +++ b/packages/pixel/src/format/float-gray.ts @@ -0,0 +1,7 @@ +import { Lane } from "../api"; +import { defFloatFormat } from "./float-format"; + +export const FLOAT_GRAY = defFloatFormat({ + gray: true, + channels: [Lane.RED], +}); diff --git a/packages/pixel/src/format/float-hsva.ts b/packages/pixel/src/format/float-hsva.ts new file mode 100644 index 0000000000..d394539510 --- /dev/null +++ b/packages/pixel/src/format/float-hsva.ts @@ -0,0 +1,60 @@ +import { clamp01, EPS } from "@thi.ng/math"; +import { Lane } from "../api"; +import { defFloatFormat } from "./float-format"; + +const abs = Math.abs; +const min = Math.min; + +export const FLOAT_HSVA = defFloatFormat({ + alpha: true, + channels: [Lane.RED, Lane.GREEN, Lane.BLUE, Lane.ALPHA], + convert: { + fromABGR: (x, out = []) => { + const a = ((x >>> 24) & 0xff) / 0xff; + const b = ((x >>> 16) & 0xff) / 0xff; + const g = ((x >>> 8) & 0xff) / 0xff; + const r = (x & 0xff) / 0xff; + let p0: number, p1: number, p2: number, p3: number; + let q0: number, q1: number, q2: number, q3: number; + if (g < b) { + p0 = b; + p1 = g; + p2 = -1; + p3 = 2 / 3; + } else { + p0 = g; + p1 = b; + p2 = 0; + p3 = -1 / 3; + } + if (r < p0) { + q0 = p0; + q1 = p1; + q2 = p3; + q3 = r; + } else { + q0 = r; + q1 = p1; + q2 = p2; + q3 = p0; + } + const c = q0 - min(q1, q3); + q0 = clamp01(q0); + out[0] = clamp01(abs((q3 - q1) / (6 * c + EPS) + q2)); + out[1] = clamp01(c / (q0 + EPS)); + out[2] = q0; + out[3] = a; + return out; + }, + toABGR: (x) => { + const h = x[0] * 6; + const s = x[1]; + const v = x[2] * 0xff; + const a = x[3] * 0xff; + const r = ((clamp01(abs(h - 3) - 1) - 1) * s + 1) * v; + const g = ((clamp01(2 - abs(h - 2)) - 1) * s + 1) * v; + const b = ((clamp01(2 - abs(h - 4)) - 1) * s + 1) * v; + return ((a << 24) | (b << 16) | (g << 8) | r) >>> 0; + }, + }, +}); diff --git a/packages/pixel/src/format/float-rgb.ts b/packages/pixel/src/format/float-rgb.ts new file mode 100644 index 0000000000..933c78c283 --- /dev/null +++ b/packages/pixel/src/format/float-rgb.ts @@ -0,0 +1,6 @@ +import { Lane } from "../api"; +import { defFloatFormat } from "./float-format"; + +export const FLOAT_RGB = defFloatFormat({ + channels: [Lane.RED, Lane.GREEN, Lane.BLUE], +}); diff --git a/packages/pixel/src/format/float-rgba.ts b/packages/pixel/src/format/float-rgba.ts new file mode 100644 index 0000000000..db76c46d51 --- /dev/null +++ b/packages/pixel/src/format/float-rgba.ts @@ -0,0 +1,7 @@ +import { Lane } from "../api"; +import { defFloatFormat } from "./float-format"; + +export const FLOAT_RGBA = defFloatFormat({ + alpha: true, + channels: [Lane.RED, Lane.GREEN, Lane.BLUE, Lane.ALPHA], +}); diff --git a/packages/pixel/src/format/gray-alpha16.ts b/packages/pixel/src/format/gray-alpha16.ts new file mode 100644 index 0000000000..004c14d6b9 --- /dev/null +++ b/packages/pixel/src/format/gray-alpha16.ts @@ -0,0 +1,16 @@ +import { Lane } from "../api"; +import { luminanceABGR } from "../utils"; +import { defPackedFormat } from "./packed-format"; + +export const GRAY_ALPHA16 = defPackedFormat({ + type: "u32", + size: 32, + channels: [ + { size: 8, lane: Lane.ALPHA }, + { size: 16, lane: Lane.RED }, + ], + fromABGR: (x) => + (((luminanceABGR(x) + 0.5) | 0) * 0x0101) | + (((x >>> 8) & 0xff0000) * 0x0101), + toABGR: (x) => ((x & 0xff000000) | (((x >>> 8) & 0xff) * 0x010101)) >>> 0, +}); diff --git a/packages/pixel/src/format/gray-alpha8.ts b/packages/pixel/src/format/gray-alpha8.ts new file mode 100644 index 0000000000..4f1b6406ab --- /dev/null +++ b/packages/pixel/src/format/gray-alpha8.ts @@ -0,0 +1,15 @@ +import { Lane } from "../api"; +import { luminanceABGR } from "../utils"; +import { defPackedFormat } from "./packed-format"; + +export const GRAY_ALPHA8 = defPackedFormat({ + type: "u16", + size: 16, + alpha: 8, + channels: [ + { size: 8, lane: Lane.ALPHA }, + { size: 8, lane: Lane.RED }, + ], + fromABGR: (x) => luminanceABGR(x) | ((x >>> 16) & 0xff00), + toABGR: (x) => (((x & 0xff00) << 16) | ((x & 0xff) * 0x010101)) >>> 0, +}); diff --git a/packages/pixel/src/format/gray16.ts b/packages/pixel/src/format/gray16.ts new file mode 100644 index 0000000000..0fcd98833e --- /dev/null +++ b/packages/pixel/src/format/gray16.ts @@ -0,0 +1,11 @@ +import { Lane } from "../api"; +import { luminanceABGR } from "../utils"; +import { defPackedFormat } from "./packed-format"; + +export const GRAY16 = defPackedFormat({ + type: "u16", + size: 16, + channels: [{ size: 16, lane: Lane.RED }], + fromABGR: (x) => ((luminanceABGR(x) + 0.5) | 0) * 0x0101, + toABGR: (x) => (0xff000000 | ((x >>> 8) * 0x010101)) >>> 0, +}); diff --git a/packages/pixel/src/format/gray8.ts b/packages/pixel/src/format/gray8.ts new file mode 100644 index 0000000000..2a9b3ea6ee --- /dev/null +++ b/packages/pixel/src/format/gray8.ts @@ -0,0 +1,11 @@ +import { Lane } from "../api"; +import { luminanceABGR } from "../utils"; +import { defPackedFormat } from "./packed-format"; + +export const GRAY8 = defPackedFormat({ + type: "u8", + size: 8, + channels: [{ size: 8, lane: Lane.RED }], + fromABGR: (x) => luminanceABGR(x), + toABGR: (x) => (0xff000000 | ((x & 0xff) * 0x010101)) >>> 0, +}); diff --git a/packages/pixel/src/format/packed-format.ts b/packages/pixel/src/format/packed-format.ts new file mode 100644 index 0000000000..c02d4b00b1 --- /dev/null +++ b/packages/pixel/src/format/packed-format.ts @@ -0,0 +1,59 @@ +import { assert, FnN, FnN2 } from "@thi.ng/api"; +import { clamp01 } from "@thi.ng/math"; +import type { + PackedChannel, + PackedChannelSpec, + PackedFormat, + PackedFormatSpec, +} from "../api"; +import { compileFromABGR, compileToABGR } from "../codegen"; +import { orderedDither } from "../dither"; + +const defChannel = ( + ch: PackedChannelSpec, + idx: number, + shift: number +): PackedChannel => { + const num = 1 << ch.size; + const mask0 = num - 1; + const maskA = (mask0 << shift) >>> 0; + const invMask = ~maskA >>> 0; + const lane = ch.lane != null ? ch.lane : idx; + const int: FnN = (x) => (x >>> shift) & mask0; + const setInt: FnN2 = (src, x) => (src & invMask) | ((x & mask0) << shift); + return { + size: ch.size, + abgrShift: 24 - lane * 8 - shift, + lane, + shift, + mask0, + maskA, + int, + setInt, + float: (x) => int(x) / mask0, + setFloat: (src, x) => setInt(src, clamp01(x) * mask0), + dither: (mat, steps, x, y, val) => + orderedDither(mat, steps, num, num, x, y, val), + }; +}; + +export const defPackedFormat = (fmt: PackedFormatSpec): PackedFormat => { + assert(fmt.channels.length > 0, "no channel specs given"); + const channels = fmt.channels.reduce( + ([defs, shift], ch, i) => { + shift -= ch.size; + defs.push(defChannel(ch, i, shift)); + return <[PackedChannel[], number]>[defs, shift]; + }, + <[PackedChannel[], number]>[[], fmt.size] + )[0]; + return { + __packed: true, + type: fmt.type, + size: fmt.size, + alpha: fmt.alpha || 0, + channels, + fromABGR: fmt.fromABGR || compileFromABGR(channels), + toABGR: fmt.toABGR || compileToABGR(channels, !!fmt.alpha), + }; +}; diff --git a/packages/pixel/src/format/rgb565.ts b/packages/pixel/src/format/rgb565.ts new file mode 100644 index 0000000000..013b2c2b55 --- /dev/null +++ b/packages/pixel/src/format/rgb565.ts @@ -0,0 +1,12 @@ +import { Lane } from "../api"; +import { defPackedFormat } from "./packed-format"; + +export const RGB565 = defPackedFormat({ + type: "u16", + size: 16, + channels: [ + { size: 5, lane: Lane.RED }, + { size: 6, lane: Lane.GREEN }, + { size: 5, lane: Lane.BLUE }, + ], +}); diff --git a/packages/pixel/src/format/rgb888.ts b/packages/pixel/src/format/rgb888.ts new file mode 100644 index 0000000000..4537f62dd1 --- /dev/null +++ b/packages/pixel/src/format/rgb888.ts @@ -0,0 +1,12 @@ +import { Lane } from "../api"; +import { defPackedFormat } from "./packed-format"; + +export const RGB888 = defPackedFormat({ + type: "u32", + size: 24, + channels: [ + { size: 8, lane: Lane.RED }, + { size: 8, lane: Lane.GREEN }, + { size: 8, lane: Lane.BLUE }, + ], +}); diff --git a/packages/pixel/src/index.ts b/packages/pixel/src/index.ts index 41b026a323..e48c73b18a 100644 --- a/packages/pixel/src/index.ts +++ b/packages/pixel/src/index.ts @@ -3,6 +3,26 @@ export * from "./canvas"; export * from "./codegen"; export * from "./dither"; export * from "./float"; -export * from "./format"; export * from "./packed"; export * from "./utils"; + +export * from "./format/packed-format"; +export * from "./format/abgr8888"; +export * from "./format/alpha8"; +export * from "./format/argb1555"; +export * from "./format/argb4444"; +export * from "./format/argb8888"; +export * from "./format/bgr888"; +export * from "./format/gray16"; +export * from "./format/gray-alpha16"; +export * from "./format/gray8"; +export * from "./format/gray-alpha8"; +export * from "./format/rgb565"; +export * from "./format/rgb888"; + +export * from "./format/float-format"; +export * from "./format/float-gray"; +export * from "./format/float-gray-alpha"; +export * from "./format/float-hsva"; +export * from "./format/float-rgb"; +export * from "./format/float-rgba"; diff --git a/packages/pixel/src/packed.ts b/packages/pixel/src/packed.ts index b5635b3026..cd592eae90 100644 --- a/packages/pixel/src/packed.ts +++ b/packages/pixel/src/packed.ts @@ -1,4 +1,4 @@ -import { Fn, IObjectOf, Type, UIntArray } from "@thi.ng/api"; +import { Fn, typedArray, UIntArray, uintTypeForBits } from "@thi.ng/api"; import { isNumber } from "@thi.ng/checks"; import { isPremultipliedInt, @@ -19,7 +19,8 @@ import { import { canvasPixels, imageCanvas } from "./canvas"; import { compileGrayFromABGR, compileGrayToABGR } from "./codegen"; import { defBayer } from "./dither"; -import { ABGR8888, defPackedFormat } from "./format"; +import { ABGR8888 } from "./format/abgr8888"; +import { defPackedFormat } from "./format/packed-format"; import { clampRegion, ensureChannel, @@ -31,18 +32,6 @@ import { transformABGR, } from "./utils"; -interface UIntArrayConstructor { - new (size: number): UIntArray; - new (elements: Iterable): UIntArray; - new (buf: ArrayBuffer, offset?: number, size?: number): UIntArray; -} - -const CTORS: IObjectOf = { - [Type.U8]: Uint8Array, - [Type.U16]: Uint16Array, - [Type.U32]: Uint32Array, -}; - /** * Syntax sugar for {@link PackedBuffer} ctor. * @@ -51,13 +40,18 @@ const CTORS: IObjectOf = { * @param fmt - * @param pixels - */ -export const buffer = ( +export const packedBuffer = ( w: number, h: number, fmt: PackedFormat | PackedFormatSpec, pixels?: UIntArray ) => new PackedBuffer(w, h, fmt, pixels); +/** + * @deprecated use {@link packedBuffer} instead. + */ +export const buffer = packedBuffer; + export class PackedBuffer implements IPixelBuffer { static fromImage( img: HTMLImageElement, @@ -71,7 +65,7 @@ export class PackedBuffer implements IPixelBuffer { const src = new Uint32Array( ctx.ctx.getImageData(0, 0, w, h).data.buffer ); - const dest = new CTORS[fmt.type](w * h); + const dest = typedArray(fmt.type, w * h); const from = fmt.fromABGR; for (let i = dest.length; --i >= 0; ) { dest[i] = from(src[i]); @@ -88,10 +82,10 @@ export class PackedBuffer implements IPixelBuffer { ); } - width: number; - height: number; - pixels: UIntArray; - format: PackedFormat; + readonly width: number; + readonly height: number; + readonly format: PackedFormat; + readonly pixels: UIntArray; constructor( w: number, @@ -104,7 +98,11 @@ export class PackedBuffer implements IPixelBuffer { this.format = (fmt).__packed ? fmt : defPackedFormat(fmt); - this.pixels = pixels || new CTORS[fmt.type](w * h); + this.pixels = pixels || typedArray(fmt.type, w * h); + } + + get stride() { + return 1; } as(fmt: PackedFormat) { @@ -244,8 +242,7 @@ export class PackedBuffer implements IPixelBuffer { getChannel(id: number) { const chan = ensureChannel(this.format, id); const buf = new PackedBuffer(this.width, this.height, { - type: - chan.size > 16 ? Type.U32 : chan.size > 8 ? Type.U16 : Type.U8, + type: uintTypeForBits(chan.size), size: chan.size, channels: [{ size: chan.size, lane: Lane.RED }], fromABGR: compileGrayFromABGR(chan.size), @@ -379,7 +376,7 @@ export class PackedBuffer implements IPixelBuffer { */ flipY() { const { pixels, width } = this; - const tmp = new CTORS[this.format.type](width); + const tmp = typedArray(this.format.type, width); for ( let i = 0, j = pixels.length - width; i < j; @@ -391,4 +388,31 @@ export class PackedBuffer implements IPixelBuffer { } return this; } + + /** + * Returns new buffer of downscaled version (by given integer factor) using + * simple nearest neighbor sampling. + * + * @param res + */ + downsample(res: number) { + res |= 0; + const { width, height, pixels: sbuf } = this; + const dest = new PackedBuffer( + (width / res) | 0, + (height / res) | 0, + this.format + ); + const { width: dwidth, height: dheight, pixels: dbuf } = dest; + for (let y = 0, i = 0; y < dheight; y++) { + for ( + let x = 0, j = y * res * width; + x < dwidth; + x++, i++, j += res + ) { + dbuf[i] = sbuf[j]; + } + } + return dest; + } } diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index 22cb6d6893..e7198668d9 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.19...@thi.ng/pointfree-lang@1.4.20) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.18...@thi.ng/pointfree-lang@1.4.19) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.17...@thi.ng/pointfree-lang@1.4.18) (2020-12-22) +## [1.4.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.20...@thi.ng/pointfree-lang@1.4.21) (2021-02-20) **Note:** Version bump only for package @thi.ng/pointfree-lang diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 7e78dca2ae..d6de438a81 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree-lang", - "version": "1.4.20", + "version": "1.4.21", "description": "Forth style syntax layer/compiler & CLI for the @thi.ng/pointfree DSL", "module": "./index.js", "main": "./lib/index.js", @@ -46,17 +46,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "pegjs": "0.11.0-master.b7b87ea", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/bench": "^2.0.26", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/pointfree": "^2.0.21", + "@thi.ng/api": "^7.0.0", + "@thi.ng/bench": "^2.0.27", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/pointfree": "^2.0.22", "commander": "^6.2.0" }, "files": [ diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index dee1c69ffd..c900b0f8cb 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.20...@thi.ng/pointfree@2.0.21) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.19...@thi.ng/pointfree@2.0.20) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.18...@thi.ng/pointfree@2.0.19) (2020-12-22) +## [2.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.21...@thi.ng/pointfree@2.0.22) (2021-02-20) **Note:** Version bump only for package @thi.ng/pointfree diff --git a/packages/pointfree/README.md b/packages/pointfree/README.md index f3d0f75c0c..1a980b91c6 100644 --- a/packages/pointfree/README.md +++ b/packages/pointfree/README.md @@ -206,7 +206,7 @@ yarn add @thi.ng/pointfree ``` -Package sizes (gzipped, pre-treeshake): ESM: 3.32 KB / CJS: 3.85 KB / UMD: 3.57 KB +Package sizes (gzipped, pre-treeshake): ESM: 3.32 KB / CJS: 3.86 KB / UMD: 3.58 KB ## Dependencies diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 594d3c1558..ef107107ba 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree", - "version": "2.0.21", + "version": "2.0.22", "description": "Pointfree functional composition / Forth style stack execution engine", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/compose": "^1.4.23", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/compose": "^1.4.24", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index b9bd6ef172..252b433294 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.23...@thi.ng/poisson@1.1.24) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.22...@thi.ng/poisson@1.1.23) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.21...@thi.ng/poisson@1.1.22) (2020-12-22) +## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.27...@thi.ng/poisson@1.1.28) (2021-02-20) **Note:** Version bump only for package @thi.ng/poisson diff --git a/packages/poisson/README.md b/packages/poisson/README.md index 4baa00a993..cfac88e00d 100644 --- a/packages/poisson/README.md +++ b/packages/poisson/README.md @@ -48,7 +48,7 @@ indices are supported as well... ### Related packages - [@thi.ng/geom-voronoi](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-voronoi) - Fast, incremental 2D Delaunay & Voronoi mesh implementation -- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API +- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation ## Installation diff --git a/packages/poisson/package.json b/packages/poisson/package.json index c80b9b73d8..14ac61acc3 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/poisson", - "version": "1.1.24", + "version": "1.1.28", "description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom-api": "^2.0.6", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", @@ -72,6 +72,7 @@ "poisson", "random", "sample", + "scatter", "stratified", "typescript" ], diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md index 20c676f6bd..279361d479 100644 --- a/packages/porter-duff/CHANGELOG.md +++ b/packages/porter-duff/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.36...@thi.ng/porter-duff@0.1.37) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.35...@thi.ng/porter-duff@0.1.36) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.34...@thi.ng/porter-duff@0.1.35) (2020-12-22) +## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.37...@thi.ng/porter-duff@0.1.38) (2021-02-20) **Note:** Version bump only for package @thi.ng/porter-duff diff --git a/packages/porter-duff/README.md b/packages/porter-duff/README.md index 600bba3107..b4b13cf33d 100644 --- a/packages/porter-duff/README.md +++ b/packages/porter-duff/README.md @@ -51,7 +51,7 @@ ints or RGBA float vectors. ### Related packages -- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) - Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions +- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) - Typed array backed, integer and floating point pixel buffers w/ customizable formats, blitting, dithering, conversions - [@thi.ng/shader-ast-stdlib](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast-stdlib) - Function collection for modular GPGPU / shader programming with [@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) ## Installation diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index ed69833920..009c811ff5 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/porter-duff", - "version": "0.1.37", + "version": "0.1.38", "description": "Porter-Duff operators for packed ints & float-array alpha compositing", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/math": "^3.1.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/math": "^3.2.0" }, "files": [ "*.js", diff --git a/packages/prefixes/CHANGELOG.md b/packages/prefixes/CHANGELOG.md index bdacce802f..039fc52078 100644 --- a/packages/prefixes/CHANGELOG.md +++ b/packages/prefixes/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.9...@thi.ng/prefixes@0.1.10) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/prefixes - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.8...@thi.ng/prefixes@0.1.9) (2020-12-22) +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.11...@thi.ng/prefixes@0.1.12) (2021-02-20) **Note:** Version bump only for package @thi.ng/prefixes diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json index a717ae5067..ab59868b09 100644 --- a/packages/prefixes/package.json +++ b/packages/prefixes/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/prefixes", - "version": "0.1.10", + "version": "0.1.12", "description": "50+ Linked Data vocabulary prefixes and their namespace URLs", "module": "./index.js", "main": "./lib/index.js", @@ -41,11 +41,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", @@ -55,7 +55,7 @@ "keywords": [ "linkeddata", "namespace", - "prefixes", + "prefix", "rdf", "semanticweb", "uri", diff --git a/packages/quad-edge/CHANGELOG.md b/packages/quad-edge/CHANGELOG.md index d61c9efed3..80242d1bbc 100644 --- a/packages/quad-edge/CHANGELOG.md +++ b/packages/quad-edge/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.27...@thi.ng/quad-edge@0.2.28) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.26...@thi.ng/quad-edge@0.2.27) (2020-12-22) +## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.28...@thi.ng/quad-edge@0.2.29) (2021-02-20) **Note:** Version bump only for package @thi.ng/quad-edge diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json index 97f2121303..2be196f4e9 100644 --- a/packages/quad-edge/package.json +++ b/packages/quad-edge/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/quad-edge", - "version": "0.2.28", + "version": "0.2.29", "description": "Quadedge data structure after Guibas & Stolfi", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 9fd4c82233..3830a2e1dd 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.41...@thi.ng/ramp@0.1.42) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.40...@thi.ng/ramp@0.1.41) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.39...@thi.ng/ramp@0.1.40) (2020-12-22) +## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.45...@thi.ng/ramp@0.1.46) (2021-02-20) **Note:** Version bump only for package @thi.ng/ramp diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 428c3db0a9..26ffb23d5b 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ramp", - "version": "0.1.42", + "version": "0.1.46", "description": "Parametric interpolated 1D lookup tables for remapping values", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/compare": "^1.3.22", - "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/compare": "^1.3.23", + "@thi.ng/math": "^3.2.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index 5dd77c24c4..67bd749fb3 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/CHANGELOG.md @@ -3,25 +3,34 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.1.4...@thi.ng/random@2.1.5) (2021-01-10) +# [2.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.2.0...@thi.ng/random@2.3.0) (2021-02-20) + + +### Features + +* **random:** add coin()/fairCoin() ([ed66a64](https://github.com/thi-ng/umbrella/commit/ed66a64a7e5efb63b4bbab89bba5100d1aa7ec49)) -**Note:** Version bump only for package @thi.ng/random +# [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.1.5...@thi.ng/random@2.2.0) (2021-01-13) -## [2.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.1.3...@thi.ng/random@2.1.4) (2021-01-02) -**Note:** Version bump only for package @thi.ng/random +### Bug Fixes + +* **random:** add opt start index arg for uuid() ([268ec3f](https://github.com/thi-ng/umbrella/commit/268ec3f47470184068fd66b5cc147d8c2e0e0ccb)) +### Features +* **random:** add CRYPTO IRandom impl ([94e69c1](https://github.com/thi-ng/umbrella/commit/94e69c1021ec67c63be78e0467bfc82be6cabc00)) +* **random:** add opt start/end for randomBytes() ([4d095da](https://github.com/thi-ng/umbrella/commit/4d095da557b1f3ee9ce46778aeba25f0c6aa94f9)) -## [2.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.1.2...@thi.ng/random@2.1.3) (2020-12-22) +### Performance Improvements -**Note:** Version bump only for package @thi.ng/random +* **random:** minor update weightedRandom() ([258fd7b](https://github.com/thi-ng/umbrella/commit/258fd7b25930c41025b7337b44c36e1f00924b47)) diff --git a/packages/random/README.md b/packages/random/README.md index 6bd079e602..469929197f 100644 --- a/packages/random/README.md +++ b/packages/random/README.md @@ -10,32 +10,49 @@ This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. - [About](#about) + - [Random distributions](#random-distributions) + - [Other utilities](#other-utilities) - [Status](#status) + - [Related packages](#related-packages) - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) - [API](#api) - - [Other utilities](#other-utilities) - [Authors](#authors) - [License](#license) ## About -Pseudo-random number generators w/ unified API. +Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation. -This package provides the `IRandom` interface and various (mostly -seedable) pseudo-random number generator implementations, incl. a -`IRandom` wrapper for `Math.random()`: +This package provides the `IRandom` interface and various (mostly seedable) +pseudo-random number generator implementations, incl. `IRandom` wrappers for +`Math.random()` and `window.crypto`: -- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush.ts) +- [Crypto](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/crypto.ts) +- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush32.ts) - [System](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/system.ts) - [Xoshiro128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xoshiro128.ts) - [XorShift128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorshift128.ts) - [XorWow](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorwow.ts) - [XsAdd](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xsadd.ts) -Partially ported from C implementations taken from -[c.thi.ng](http://c.thi.ng). +Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng). + +### Random distributions + +- [`exponential()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/exponential.ts) +- [`gaussian()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/gaussian.ts) +- [`geometric()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/geometric.ts) +- [`normal()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/normal.ts) +- [`uniform()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/uniform.ts) + +### Other utilities + +- [`randomBytes()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) +- [`randomID()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts) +- [`weightedRandom()](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts) +- [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts) ### Status @@ -43,6 +60,10 @@ Partially ported from C implementations taken from [Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Brandom%5D+in%3Atitle) +### Related packages + +- [@thi.ng/ksuid](https://github.com/thi-ng/umbrella/tree/develop/packages/ksuid) - Configurable K-sortable unique identifiers, binary & base-N encoded + ## Installation ```bash @@ -57,7 +78,7 @@ yarn add @thi.ng/random ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.51 KB / CJS: 1.62 KB / UMD: 1.63 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.64 KB / CJS: 1.77 KB / UMD: 1.75 KB ## Dependencies @@ -73,10 +94,11 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- | -| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | -| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | +| Screenshot | Description | Live demo | Source | +| --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- | +| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | +| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | ## API @@ -112,11 +134,6 @@ rnd.gaussian() // 0.10632886109089679 ``` -### Other utilities - -- [randomBytes](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) -- [randomID](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts) - ## Authors Karsten Schmidt @@ -128,10 +145,10 @@ If this project contributes to an academic publication, please cite it as: title = "@thi.ng/random", author = "Karsten Schmidt", note = "https://thi.ng/random", - year = 2016 + year = 2015 } ``` ## License -© 2016 - 2021 Karsten Schmidt // Apache Software License 2.0 +© 2015 - 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/random/package.json b/packages/random/package.json index 576a298021..80bbcac7c3 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/random", - "version": "2.1.5", - "description": "Pseudo-random number generators w/ unified API", + "version": "2.3.0", + "description": "Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/hex": "^0.1.3" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/hex": "^0.2.0" }, "files": [ "*.js", @@ -61,14 +61,30 @@ ], "keywords": [ "binary", + "crypto", "datastructure", + "distribution", + "exponential", + "gaussian", "generator", + "geometric", + "normal", + "prng", "random", "typedarray", - "typescript" + "typescript", + "weighted", + "uuid", + "uniform" ], "publishConfig": { "access": "public" }, - "sideEffects": false + "sideEffects": false, + "thi.ng": { + "year": 2015, + "related": [ + "ksuid" + ] + } } diff --git a/packages/random/src/coin.ts b/packages/random/src/coin.ts new file mode 100644 index 0000000000..6cb5e1a5e8 --- /dev/null +++ b/packages/random/src/coin.ts @@ -0,0 +1,33 @@ +import type { IRandom } from "./api"; +import { SYSTEM } from "./system"; + +/** + * Returns true w/ a (theoretical) probability of 50% (obviously depending on + * quality of given {@link IRandom}) PRNG. + * + * @remarks + * Also see {@link fairCoin}. + * + * @param rnd + */ +export const coin = (rnd: IRandom = SYSTEM) => rnd.float() < 0.5; + +/** + * Similar to {@link coin}, but more strict. Calls {@link coin} in a pairwise + * manner as long as both results are equal (and discarding results). Otherwise + * returns result of first call. + * + * @remarks + * Reference: + * https://en.m.wikipedia.org/wiki/Fair_coin#Fair_results_from_a_biased_coin + * + * @param rnd + */ +export const fairCoin = (rnd: IRandom = SYSTEM) => { + let a: boolean, b: boolean; + do { + a = coin(rnd); + b = coin(rnd); + } while (a === b); + return a; +}; diff --git a/packages/random/src/crypto.ts b/packages/random/src/crypto.ts new file mode 100644 index 0000000000..e5aa9c8868 --- /dev/null +++ b/packages/random/src/crypto.ts @@ -0,0 +1,52 @@ +import type { IBuffered, ICopy } from "@thi.ng/api"; +import { ARandom } from "./arandom"; +import { randomBytes } from "./random-bytes"; + +/** + * Currently browser only, a `window.crypto` backed {@link IRandom} + * implementation. Random values are buffered to minimize overhead. Buffer size + * is configurable via ctor. + * + * @remarks + * Internally uses {@link randomBytes} to source values, which falls back to + * using {@link SYSTEM} iff `window.crypto` is not available. + * + */ +export class Crypto + extends ARandom + implements IBuffered, ICopy { + buffer: Uint8Array; + protected u32: Uint32Array; + protected i: number; + + /** + * @param size - buffer size in bytes (will be rounded to next multiple of 4) + */ + constructor(size = 64) { + super(); + this.buffer = new Uint8Array((size + 3) & ~3); + this.u32 = new Uint32Array(this.buffer.buffer); + this.i = size >>> 2; + } + + copy() { + return new Crypto(this.buffer.length); + } + + bytes() { + return new Uint8Array(this.buffer.buffer); + } + + int() { + if (this.i >= this.u32.length) { + randomBytes(this.buffer); + this.i = 0; + } + return this.u32[this.i++]; + } +} + +/** + * Default instance for {@link Crypto} PRNG. + */ +export const CRYPTO = new Crypto(); diff --git a/packages/random/src/index.ts b/packages/random/src/index.ts index ef0616c149..d9752cb2e5 100644 --- a/packages/random/src/index.ts +++ b/packages/random/src/index.ts @@ -1,6 +1,7 @@ export * from "./api"; export * from "./arandom"; +export * from "./crypto"; export * from "./smush32"; export * from "./system"; export * from "./xoshiro128"; @@ -8,6 +9,7 @@ export * from "./xorshift128"; export * from "./xorwow"; export * from "./xsadd"; +export * from "./coin"; export * from "./random-bytes"; export * from "./random-id"; export * from "./uuid"; diff --git a/packages/random/src/random-bytes.ts b/packages/random/src/random-bytes.ts index f54d2fe0c2..fea9e15060 100644 --- a/packages/random/src/random-bytes.ts +++ b/packages/random/src/random-bytes.ts @@ -8,9 +8,16 @@ import { SYSTEM } from "./system"; * * @param rnd - * @param buf - + * @param start - + * @param end - */ -export const randomBytesFrom = (rnd: IRandom, buf: Uint8Array) => { - for (let i = buf.length; --i >= 0; ) { +export const randomBytesFrom = ( + rnd: IRandom, + buf: Uint8Array, + start = 0, + end = buf.length +) => { + for (let i = end; --i >= start; ) { buf[i] = rnd.int() & 0xff; } return buf; @@ -20,7 +27,14 @@ export const randomBytesFrom = (rnd: IRandom, buf: Uint8Array) => { * Fills given byte array with random values. Wrapper for * `crypto.getRandomValues()` with automatic fallback to using `Math.random` if * platform doesn't provide global crypto instance. + * + * @param buf - + * @param start - + * @param end - */ export const randomBytes = hasCrypto() - ? (buf: Uint8Array) => window.crypto.getRandomValues(buf) - : (buf: Uint8Array) => randomBytesFrom(SYSTEM, buf); + ? (buf: Uint8Array, start = 0, end = buf.length) => ( + window.crypto.getRandomValues(buf.subarray(start, end)), buf + ) + : (buf: Uint8Array, start?: number, end?: number) => + randomBytesFrom(SYSTEM, buf, start, end); diff --git a/packages/random/src/random-id.ts b/packages/random/src/random-id.ts index e372354c75..a458bfd558 100644 --- a/packages/random/src/random-id.ts +++ b/packages/random/src/random-id.ts @@ -2,9 +2,12 @@ import type { IRandom } from "./api"; import { SYSTEM } from "./system"; /** - * Generates and returns a random string of `len` characters (default - * 4), plus optional given `prefix` and using only provided `syms` - * characters (default lowercase a-z). + * Generates and returns a random string of `len` characters (default 4), plus + * optional given `prefix` and using only provided `syms` characters (default + * lowercase a-z). + * + * @remarks + * See {@link @thi.ng/ksuid#} for a more advanced and collision-free approach. * * @example * ```ts @@ -28,7 +31,7 @@ export const randomID = ( ) => { const n = syms.length; for (; --len >= 0; ) { - prefix += syms[rnd.float(n) | 0]; + prefix += syms[rnd.int() % n]; } return prefix; }; diff --git a/packages/random/src/smush32.ts b/packages/random/src/smush32.ts index 6f265b6043..89097dc719 100644 --- a/packages/random/src/smush32.ts +++ b/packages/random/src/smush32.ts @@ -3,9 +3,13 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_32 } from "./constants"; -// https://github.com/thi-ng/ct-head/blob/develop/random.h -// https://gist.github.com/voidqk/d112165a26b45244a65298933c0349a4 - +/** + * @remarks + * References: + * - + * - https://github.com/thi-ng/ct-head/blob/master/random.h + * - https://gist.github.com/voidqk/d112165a26b45244a65298933c0349a4 + */ export class Smush32 extends ARandom implements IBuffered, ICopy, ISeedable { diff --git a/packages/random/src/system.ts b/packages/random/src/system.ts index c40d8c5415..f9744e2f70 100644 --- a/packages/random/src/system.ts +++ b/packages/random/src/system.ts @@ -2,6 +2,10 @@ import { ARandom } from "./arandom"; const random = Math.random; +/** + * A `Math.random()` based {@link IRandom} implementation. Also @see + * {@link SYSTEM}. + */ export class SystemRandom extends ARandom { int() { return (random() * 4294967296) /* 2**32 */ >>> 0; @@ -16,4 +20,8 @@ export class SystemRandom extends ARandom { } } +/** + * Used as default PRNG throughout most other thi.ng projects, though usually is + * configurable. + */ export const SYSTEM = new SystemRandom(); diff --git a/packages/random/src/uuid.ts b/packages/random/src/uuid.ts index ea9775c923..5bd07dc4a7 100644 --- a/packages/random/src/uuid.ts +++ b/packages/random/src/uuid.ts @@ -1,4 +1,4 @@ -import { U16BE, U32BE, U48BE } from "@thi.ng/hex"; +import { uuid as $uuid } from "@thi.ng/hex"; import type { IRandom } from "./api"; import { randomBytes, randomBytesFrom } from "./random-bytes"; @@ -19,23 +19,11 @@ export const uuidv4Bytes = (buf?: Uint8Array, rnd?: IRandom) => { }; /** - * Returns a UUID string, either from given byte array, of if omitted, a new - * UUID v4 produced by {@link uuidv4Bytes}. + * Returns a UUID string, either from given byte array, or if omitted, using a + * new UUID v4 produced by {@link uuidv4Bytes}. * * @param id - byte array * @param i - start index */ -export const uuid = (id?: ArrayLike) => { - id = id || uuidv4Bytes(); - return ( - U32BE(id, 0) + - "-" + - U16BE(id, 4) + - "-" + - U16BE(id, 6) + - "-" + - U16BE(id, 8) + - "-" + - U48BE(id, 10) - ); -}; +export const uuid = (id?: ArrayLike, i = 0) => + $uuid(id || uuidv4Bytes(), i); diff --git a/packages/random/src/weighted-random.ts b/packages/random/src/weighted-random.ts index b2df04fdb7..aa24fa5fb3 100644 --- a/packages/random/src/weighted-random.ts +++ b/packages/random/src/weighted-random.ts @@ -20,13 +20,11 @@ export const weightedRandom = ( ) => { const n = choices.length; assert(n > 0, "no choices given"); - const opts = choices - .map( - weights - ? (x, i) => <[T, number]>[x, weights[i]] - : (x) => <[T, number]>[x, 1] - ) - .sort((a, b) => b[1] - a[1]); + const opts = weights + ? choices + .map((x, i) => <[T, number]>[x, weights[i]]) + .sort((a, b) => b[1] - a[1]) + : choices.map((x) => <[T, number]>[x, 1]); const total = opts.reduce((acc, o) => acc + o[1], 0); assert(total > 0, "no choices given"); return () => { diff --git a/packages/random/src/xorshift128.ts b/packages/random/src/xorshift128.ts index e2091765dd..6475fd5552 100644 --- a/packages/random/src/xorshift128.ts +++ b/packages/random/src/xorshift128.ts @@ -3,8 +3,10 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_128 } from "./constants"; -// https://en.wikipedia.org/wiki/Xorshift - +/** + * @remarks + * Reference: https://en.wikipedia.org/wiki/Xorshift + */ export class XorShift128 extends ARandom implements diff --git a/packages/random/src/xorwow.ts b/packages/random/src/xorwow.ts index 8ccb4ceadb..2185140306 100644 --- a/packages/random/src/xorwow.ts +++ b/packages/random/src/xorwow.ts @@ -3,8 +3,10 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_160 } from "./constants"; -// https://en.wikipedia.org/wiki/Xorshift#xorwow - +/** + * @remarks + * Reference: https://en.wikipedia.org/wiki/Xorshift#xorwow + */ export class XorWow extends ARandom implements diff --git a/packages/random/src/xoshiro128.ts b/packages/random/src/xoshiro128.ts index 429bf53a21..76949aa8e4 100644 --- a/packages/random/src/xoshiro128.ts +++ b/packages/random/src/xoshiro128.ts @@ -3,9 +3,12 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_128 } from "./constants"; -// http://prng.di.unimi.it/ -// http://prng.di.unimi.it/xoshiro128plusplus.c - +/** + * @remarks + * References: + * - http://prng.di.unimi.it/ + * - http://prng.di.unimi.it/xoshiro128plusplus.c + */ export class Xoshiro128 extends ARandom implements diff --git a/packages/random/src/xsadd.ts b/packages/random/src/xsadd.ts index 4a71d57824..228bbb3c0f 100644 --- a/packages/random/src/xsadd.ts +++ b/packages/random/src/xsadd.ts @@ -3,8 +3,10 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_32 } from "./constants"; -// https://github.com/MersenneTwister-Lab/XSadd/blob/develop/xsadd.h - +/** + * @remarks + * Reference: https://github.com/MersenneTwister-Lab/XSadd/blob/develop/xsadd.h + */ export class XsAdd extends ARandom implements IBuffered, ICopy, ISeedable { diff --git a/packages/random/tpl.readme.md b/packages/random/tpl.readme.md index b71dada354..bd482b6fef 100644 --- a/packages/random/tpl.readme.md +++ b/packages/random/tpl.readme.md @@ -13,19 +13,34 @@ This project is part of the ${pkg.description} -This package provides the `IRandom` interface and various (mostly -seedable) pseudo-random number generator implementations, incl. a -`IRandom` wrapper for `Math.random()`: +This package provides the `IRandom` interface and various (mostly seedable) +pseudo-random number generator implementations, incl. `IRandom` wrappers for +`Math.random()` and `window.crypto`: -- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush.ts) +- [Crypto](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/crypto.ts) +- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush32.ts) - [System](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/system.ts) - [Xoshiro128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xoshiro128.ts) - [XorShift128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorshift128.ts) - [XorWow](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorwow.ts) - [XsAdd](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xsadd.ts) -Partially ported from C implementations taken from -[c.thi.ng](http://c.thi.ng). +Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng). + +### Random distributions + +- [`exponential()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/exponential.ts) +- [`gaussian()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/gaussian.ts) +- [`geometric()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/geometric.ts) +- [`normal()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/normal.ts) +- [`uniform()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/uniform.ts) + +### Other utilities + +- [`randomBytes()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) +- [`randomID()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts) +- [`weightedRandom()](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts) +- [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts) ${status} @@ -81,11 +96,6 @@ rnd.gaussian() // 0.10632886109089679 ``` -### Other utilities - -- [randomBytes](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) -- [randomID](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts) - ## Authors ${authors} diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index 70710f9df3..f158643e2b 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.64...@thi.ng/range-coder@1.0.65) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.63...@thi.ng/range-coder@1.0.64) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.62...@thi.ng/range-coder@1.0.63) (2020-12-22) +## [1.0.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.68...@thi.ng/range-coder@1.0.69) (2021-02-20) **Note:** Version bump only for package @thi.ng/range-coder diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index 4deb896072..fda0936b8a 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/range-coder", - "version": "1.0.65", + "version": "1.0.69", "description": "Binary data range encoder / decoder", "module": "./index.js", "main": "./lib/index.js", @@ -40,17 +40,17 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/transducers": "^7.5.5", + "@thi.ng/transducers": "^7.6.0", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.31" + "@thi.ng/bitstream": "^1.1.32" }, "files": [ "*.js", diff --git a/packages/rdom-canvas/CHANGELOG.md b/packages/rdom-canvas/CHANGELOG.md index 8cb8af5061..27d42e5c1e 100644 --- a/packages/rdom-canvas/CHANGELOG.md +++ b/packages/rdom-canvas/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.24...@thi.ng/rdom-canvas@0.1.25) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.23...@thi.ng/rdom-canvas@0.1.24) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.22...@thi.ng/rdom-canvas@0.1.23) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.21...@thi.ng/rdom-canvas@0.1.22) (2020-12-22) +## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.28...@thi.ng/rdom-canvas@0.1.29) (2021-02-20) **Note:** Version bump only for package @thi.ng/rdom-canvas diff --git a/packages/rdom-canvas/package.json b/packages/rdom-canvas/package.json index 4fa25cae65..f13f836f04 100644 --- a/packages/rdom-canvas/package.json +++ b/packages/rdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom-canvas", - "version": "0.1.25", + "version": "0.1.29", "description": "@thi.ng/rdom component wrapper for @thi.ng/hiccup-canvas and declarative canvas drawing", "module": "./index.js", "main": "./lib/index.js", @@ -41,20 +41,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.13", - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/hiccup-canvas": "^1.1.17", - "@thi.ng/rdom": "^0.3.4", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/adapt-dpi": "^1.0.14", + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/hiccup-canvas": "^1.1.21", + "@thi.ng/rdom": "^0.3.8", + "@thi.ng/rstream": "^5.1.1", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/rdom-components/CHANGELOG.md b/packages/rdom-components/CHANGELOG.md index d14987ce5f..b68fcc9e59 100644 --- a/packages/rdom-components/CHANGELOG.md +++ b/packages/rdom-components/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.21...@thi.ng/rdom-components@0.1.22) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.20...@thi.ng/rdom-components@0.1.21) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.19...@thi.ng/rdom-components@0.1.20) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.18...@thi.ng/rdom-components@0.1.19) (2020-12-22) +## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.25...@thi.ng/rdom-components@0.1.26) (2021-02-20) **Note:** Version bump only for package @thi.ng/rdom-components diff --git a/packages/rdom-components/package.json b/packages/rdom-components/package.json index 042e79ec34..44b55195b0 100644 --- a/packages/rdom-components/package.json +++ b/packages/rdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom-components", - "version": "0.1.22", + "version": "0.1.26", "description": "Collection of unstyled, customizable components for @thi.ng/rdom", "module": "./index.js", "main": "./lib/index.js", @@ -41,20 +41,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/hiccup-html": "^0.3.11", - "@thi.ng/rdom": "^0.3.4", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/hiccup-html": "^0.3.12", + "@thi.ng/rdom": "^0.3.8", + "@thi.ng/rstream": "^5.1.1", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/rdom/CHANGELOG.md b/packages/rdom/CHANGELOG.md index f256cb07c1..65441493b9 100644 --- a/packages/rdom/CHANGELOG.md +++ b/packages/rdom/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.3.3...@thi.ng/rdom@0.3.4) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.3.2...@thi.ng/rdom@0.3.3) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.3.1...@thi.ng/rdom@0.3.2) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.3.0...@thi.ng/rdom@0.3.1) (2020-12-22) +## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.3.7...@thi.ng/rdom@0.3.8) (2021-02-20) **Note:** Version bump only for package @thi.ng/rdom diff --git a/packages/rdom/README.md b/packages/rdom/README.md index aa3d594ebb..6c8ccb97c7 100644 --- a/packages/rdom/README.md +++ b/packages/rdom/README.md @@ -95,15 +95,16 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------ | -| | Interactive visualization of closest points on ellipses | [Demo](https://demo.thi.ng/umbrella/ellipse-proximity/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ellipse-proximity) | -| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | -| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) | -| | rdom drag & drop example | [Demo](https://demo.thi.ng/umbrella/rdom-dnd/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-dnd) | -| | rdom & hiccup-canvas interop test | [Demo](https://demo.thi.ng/umbrella/rdom-lissajous/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-lissajous) | -| | Full umbrella repo doc string search w/ paginated results | [Demo](https://demo.thi.ng/umbrella/rdom-search-docs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-search-docs) | -| | rdom powered SVG graph with draggable nodes | [Demo](https://demo.thi.ng/umbrella/rdom-svg-nodes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-svg-nodes) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------ | +| | Interactive visualization of closest points on ellipses | [Demo](https://demo.thi.ng/umbrella/ellipse-proximity/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ellipse-proximity) | +| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | +| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) | +| | rdom drag & drop example | [Demo](https://demo.thi.ng/umbrella/rdom-dnd/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-dnd) | +| | rdom & hiccup-canvas interop test | [Demo](https://demo.thi.ng/umbrella/rdom-lissajous/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-lissajous) | +| | Full umbrella repo doc string search w/ paginated results | [Demo](https://demo.thi.ng/umbrella/rdom-search-docs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-search-docs) | +| | rdom powered SVG graph with draggable nodes | [Demo](https://demo.thi.ng/umbrella/rdom-svg-nodes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-svg-nodes) | ## API diff --git a/packages/rdom/package.json b/packages/rdom/package.json index d2190bef5f..b2416b11a1 100644 --- a/packages/rdom/package.json +++ b/packages/rdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom", - "version": "0.3.4", + "version": "0.3.8", "description": "Lightweight, reactive, VDOM-less UI/DOM components with async lifecycle and @thi.ng/hiccup compatible", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/paths": "^4.1.13", - "@thi.ng/prefixes": "^0.1.10", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/hiccup": "^3.6.8", + "@thi.ng/paths": "^4.2.0", + "@thi.ng/prefixes": "^0.1.12", + "@thi.ng/rstream": "^5.1.1", + "@thi.ng/strings": "^1.15.0" }, "files": [ "*.js", diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index 5161ef7b7a..86f181e2cf 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.11...@thi.ng/resolve-map@4.2.12) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.10...@thi.ng/resolve-map@4.2.11) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.9...@thi.ng/resolve-map@4.2.10) (2020-12-22) +## [4.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.12...@thi.ng/resolve-map@4.2.13) (2021-02-20) **Note:** Version bump only for package @thi.ng/resolve-map diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index 19586c4937..a3f66d4b92 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/resolve-map", - "version": "4.2.12", + "version": "4.2.13", "description": "DAG resolution of vanilla objects & arrays with internally linked values", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/paths": "^4.1.13" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/paths": "^4.2.0" }, "files": [ "*.js", diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md index 27bab68936..bfde4f4b25 100644 --- a/packages/rle-pack/CHANGELOG.md +++ b/packages/rle-pack/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.30...@thi.ng/rle-pack@2.1.31) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.29...@thi.ng/rle-pack@2.1.30) (2020-12-22) +## [2.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.31...@thi.ng/rle-pack@2.1.32) (2021-02-20) **Note:** Version bump only for package @thi.ng/rle-pack diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index 235b9517c4..a752d66cec 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rle-pack", - "version": "2.1.31", + "version": "2.1.32", "description": "Binary run-length encoding packer w/ flexible repeat bit widths", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "benchmark": "^2.1.4", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.31", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/bitstream": "^1.1.32", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index f7c2eea857..7dd9daa7c0 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.38...@thi.ng/router@2.0.39) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.37...@thi.ng/router@2.0.38) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.36...@thi.ng/router@2.0.37) (2020-12-22) +## [2.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.39...@thi.ng/router@2.0.40) (2021-02-20) **Note:** Version bump only for package @thi.ng/router diff --git a/packages/router/package.json b/packages/router/package.json index 3cc4a1bb0f..432e32530e 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/router", - "version": "2.0.39", + "version": "2.0.40", "description": "Generic router for browser & non-browser based applications", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", "tslib": "2.0.1" }, "files": [ diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 9282cd9854..75faac7695 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.47...@thi.ng/rstream-csp@2.0.48) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.46...@thi.ng/rstream-csp@2.0.47) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.45...@thi.ng/rstream-csp@2.0.46) (2020-12-22) +## [2.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.51...@thi.ng/rstream-csp@2.0.52) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream-csp diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index b73e0e8db2..a78758ffe7 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.48", + "version": "2.0.52", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/csp": "^1.1.46", - "@thi.ng/rstream": "^5.0.13" + "@thi.ng/csp": "^1.1.50", + "@thi.ng/rstream": "^5.1.1" }, "files": [ "*.js", diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index d0f7dfe37b..8218a22442 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.54...@thi.ng/rstream-dot@1.1.55) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.53...@thi.ng/rstream-dot@1.1.54) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.52...@thi.ng/rstream-dot@1.1.53) (2020-12-22) +## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.58...@thi.ng/rstream-dot@1.1.59) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream-dot diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 906a6894d9..f4b6036195 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.55", + "version": "1.1.59", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/rstream": "^5.0.13" + "@thi.ng/rstream": "^5.1.1" }, "files": [ "*.js", diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 8a3dc36dc6..7529fe0cba 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.1...@thi.ng/rstream-gestures@3.0.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [3.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.0...@thi.ng/rstream-gestures@3.0.1) (2021-01-02) +## [3.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.5...@thi.ng/rstream-gestures@3.0.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream-gestures diff --git a/packages/rstream-gestures/README.md b/packages/rstream-gestures/README.md index 1fccc616a0..76093f51db 100644 --- a/packages/rstream-gestures/README.md +++ b/packages/rstream-gestures/README.md @@ -54,7 +54,7 @@ yarn add @thi.ng/rstream-gestures ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.13 KB / CJS: 1.18 KB / UMD: 1.28 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.18 KB / CJS: 1.24 KB / UMD: 1.30 KB ## Dependencies diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 82c40a8e73..89df0f806f 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "3.0.2", + "version": "3.0.6", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/math": "^3.1.0", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/rstream": "^5.1.1", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/rstream-gestures/src/gesture-stream.ts b/packages/rstream-gestures/src/gesture-stream.ts index 1e9f8e3afc..d287acc669 100644 --- a/packages/rstream-gestures/src/gesture-stream.ts +++ b/packages/rstream-gestures/src/gesture-stream.ts @@ -13,18 +13,18 @@ import type { UIEventID, } from "./api"; -const startEvents = new Set([ +const START_EVENTS = new Set([ "mousedown", "touchmove", "touchstart", "mousemove", ]); -const endEvents = new Set(["mouseup", "touchend", "touchcancel"]); +const END_EVENTS = new Set(["mouseup", "touchend", "touchcancel"]); -const baseEvents = ["mousemove", "mousedown", "touchstart", "wheel"]; +const BASE_EVENTS = ["mousemove", "mousedown", "touchstart", "wheel"]; -const eventGestureTypeMap: IObjectOf = { +const EVENT_GESTURETYPES: IObjectOf = { touchstart: "start", touchmove: "drag", touchend: "end", @@ -99,95 +99,92 @@ export const gestureStream = ( opts.preventContextMenu && el.addEventListener("contextmenu", (e) => e.preventDefault()); + const gestureStart = ( + etype: string, + events: Array, + bounds: DOMRect, + isTouch: boolean + ) => { + const isStart = etype === "mousedown" || etype === "touchstart"; + for (let t of events) { + const id = (t).identifier || 0; + const pos = getPos(t, bounds, opts.local, opts.scale); + let touch = active.find((t) => t.id === id); + if (!touch && isStart) { + touch = { id, start: pos }; + active.push(touch); + numTouches++; + } + if (touch) { + touch.pos = pos; + touch.delta = [ + pos[0] - touch.start![0], + pos[1] - touch.start![1], + ]; + if (isTouch) { + touch.force = (t).force; + } + } + } + if (isStart && !tempStreams) { + tempStreams = tempEvents.map((id) => + eventSource(document.body, id, opts, "-temp") + ); + stream.addAll(tempStreams); + !isBody && stream.removeID("mousemove"); + } + }; + + const gestureEnd = (events: Array) => { + for (let t of events) { + const id = (t).identifier || 0; + const idx = active.findIndex((t) => t.id === id); + if (idx !== -1) { + active.splice(idx, 1); + numTouches--; + } + } + if (numTouches === 0) { + stream.removeAll(tempStreams!); + !isBody && stream.add(eventSource(el, "mousemove", opts)); + tempStreams = undefined; + } + }; + + const updateZoom = (e: UIEvent) => { + const zdelta = + opts.smooth * + ("wheelDeltaY" in e + ? -(e).wheelDeltaY / 120 + : (e).deltaY / 40); + zoom = opts.absZoom + ? clamp(zoom + zdelta, opts.minZoom, opts.maxZoom) + : zdelta; + zoomDelta = zdelta; + }; + const stream = merge({ - src: baseEvents.map((id) => eventSource(el, id, opts)), + src: BASE_EVENTS.map((id) => eventSource(el, id, opts)), xform: map((e) => { opts.preventDefault && e.preventDefault(); const etype = e.type; - const type = - etype === "mousemove" - ? tempStreams - ? "drag" - : "move" - : eventGestureTypeMap[etype]; + const type = classifyEventType(etype, !!tempStreams); let isTouch = !!(e).touches; let events: Array = isTouch ? Array.from((e).changedTouches) : [e]; - const b = el.getBoundingClientRect(); - - const getPos = (e: Touch | MouseEvent | WheelEvent) => { - let x = e.clientX; - let y = e.clientY; - if (opts.local) { - x -= b.left; - y -= b.top; - } - if (opts.scale) { - const dpr = window.devicePixelRatio || 1; - x *= dpr; - y *= dpr; - } - return [x | 0, y | 0]; - }; + const bounds = el.getBoundingClientRect(); - if (startEvents.has(etype)) { - const isStart = etype === "mousedown" || etype === "touchstart"; - for (let t of events) { - const id = (t).identifier || 0; - const pos = getPos(t); - let touch = active.find((t) => t.id === id); - if (!touch && isStart) { - touch = { id, start: pos }; - active.push(touch); - numTouches++; - } - if (touch) { - touch.pos = pos; - touch.delta = [ - pos[0] - touch.start![0], - pos[1] - touch.start![1], - ]; - if (isTouch) { - touch.force = (t).force; - } - } - } - if (isStart && !tempStreams) { - tempStreams = tempEvents.map((id) => - eventSource(document.body, id, opts, "-temp") - ); - stream.addAll(tempStreams); - !isBody && stream.removeID("mousemove"); - } - } else if (endEvents.has(etype)) { - for (let t of events) { - const id = (t).identifier || 0; - const idx = active.findIndex((t) => t.id === id); - if (idx !== -1) { - active.splice(idx, 1); - numTouches--; - } - } - if (numTouches === 0) { - stream.removeAll(tempStreams!); - !isBody && stream.add(eventSource(el, "mousemove", opts)); - tempStreams = undefined; - } + if (START_EVENTS.has(etype)) { + gestureStart(etype, events, bounds, isTouch); + } else if (END_EVENTS.has(etype)) { + gestureEnd(events); } else if (type === "zoom") { - const zdelta = - opts.smooth * - ("wheelDeltaY" in (e as any) - ? -(e as any).wheelDeltaY / 120 - : (e).deltaY / 40); - zoom = opts.absZoom - ? clamp(zoom + zdelta, opts.minZoom, opts.maxZoom) - : zdelta; - zoomDelta = zdelta; + updateZoom(e); } return { event: e, - pos: getPos(events[0]), + pos: getPos(events[0], bounds, opts.local, opts.scale), buttons: isTouch ? active.length : (e).buttons, type, active, @@ -215,3 +212,30 @@ const eventSource = ( } return fromDOMEvent(el, type, eventOpts, { id: type + suffix }); }; + +const classifyEventType = (etype: string, isActive: boolean) => + etype === "mousemove" + ? isActive + ? "drag" + : "move" + : EVENT_GESTURETYPES[etype]; + +const getPos = ( + e: Touch | MouseEvent | WheelEvent, + bounds: DOMRect, + isLocal: boolean, + doScale: boolean +) => { + let x = e.clientX; + let y = e.clientY; + if (isLocal) { + x -= bounds.left; + y -= bounds.top; + } + if (doScale) { + const dpr = window.devicePixelRatio || 1; + x *= dpr; + y *= dpr; + } + return [x | 0, y | 0]; +}; diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 8a65eb7b2d..0963d348ba 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.48...@thi.ng/rstream-graph@3.2.49) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.47...@thi.ng/rstream-graph@3.2.48) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.46...@thi.ng/rstream-graph@3.2.47) (2020-12-22) +## [3.2.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.52...@thi.ng/rstream-graph@3.2.53) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream-graph diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 232c9b3024..b5b1cff5c1 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.49", + "version": "3.2.53", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/atom": "^4.1.27", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/paths": "^4.1.13", - "@thi.ng/resolve-map": "^4.2.12", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/atom": "^4.1.28", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/paths": "^4.2.0", + "@thi.ng/resolve-map": "^4.2.13", + "@thi.ng/rstream": "^5.1.1", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index 226a1b64de..17dd61282b 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.69...@thi.ng/rstream-log-file@0.1.70) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.68...@thi.ng/rstream-log-file@0.1.69) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.67...@thi.ng/rstream-log-file@0.1.68) (2020-12-22) +## [0.1.74](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.73...@thi.ng/rstream-log-file@0.1.74) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream-log-file diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 0a0178d259..ce58350d1c 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.70", + "version": "0.1.74", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/rstream": "^5.0.13" + "@thi.ng/rstream": "^5.1.1" }, "files": [ "*.js", diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index d3e29c6876..06e4451d40 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.54...@thi.ng/rstream-log@3.1.55) (2021-01-10) +## [3.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.2...@thi.ng/rstream-log@3.2.3) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream-log @@ -11,17 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [3.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.53...@thi.ng/rstream-log@3.1.54) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rstream-log - - +# [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.55...@thi.ng/rstream-log@3.2.0) (2021-01-13) +### Features -## [3.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.52...@thi.ng/rstream-log@3.1.53) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/rstream-log +* **rstream-log:** update default body format for formatString() ([841b062](https://github.com/thi-ng/umbrella/commit/841b06271362c6941176b057d1bfab363c07d104)) diff --git a/packages/rstream-log/README.md b/packages/rstream-log/README.md index c515384549..d468b3571c 100644 --- a/packages/rstream-log/README.md +++ b/packages/rstream-log/README.md @@ -56,7 +56,7 @@ yarn add @thi.ng/rstream-log ``` -Package sizes (gzipped, pre-treeshake): ESM: 742 bytes / CJS: 868 bytes / UMD: 939 bytes +Package sizes (gzipped, pre-treeshake): ESM: 760 bytes / CJS: 886 bytes / UMD: 957 bytes ## Dependencies @@ -64,6 +64,7 @@ Package sizes (gzipped, pre-treeshake): ESM: 742 bytes / CJS: 868 bytes / UMD: 9 - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) +- [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) ## API diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 8a5a59e218..0fc7e17979 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.55", + "version": "3.2.3", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/rstream": "^5.1.1", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/rstream-log/src/xform/format.ts b/packages/rstream-log/src/xform/format.ts index 39be112c92..3e5b743c7f 100644 --- a/packages/rstream-log/src/xform/format.ts +++ b/packages/rstream-log/src/xform/format.ts @@ -1,4 +1,5 @@ import { LogLevel } from "@thi.ng/api"; +import { stringify } from "@thi.ng/strings"; import { map, Transducer } from "@thi.ng/transducers"; import type { BodyFormat, DateFormat, LogEntry, LogEntryObj } from "../api"; @@ -9,7 +10,7 @@ export const formatString = ( bodyFmt?: BodyFormat ): Transducer => { dtFmt = dtFmt || isoDate; - bodyFmt = bodyFmt || ((x) => x.toString()); + bodyFmt = bodyFmt || ((x) => x.map(stringify()).join(" ")); return map( ([level, id, time, ...body]) => `[${LogLevel[level]}] ${id}: ${dtFmt!(time)} ${bodyFmt!(body)}` diff --git a/packages/rstream-log/test/index.ts b/packages/rstream-log/test/index.ts index 1ca08a3442..45cf110c32 100644 --- a/packages/rstream-log/test/index.ts +++ b/packages/rstream-log/test/index.ts @@ -28,13 +28,13 @@ describe("rstream-log", () => { logger.debug("hello"); logger.info("hello"); logger.warn("hello"); - logger.severe("hello"); + logger.severe("hello", 42, [{ a: [23] }]); assert.deepStrictEqual(acc, [ "[FINE] foo: 1 hello", "[DEBUG] foo: 2 hello", "[INFO] foo: 3 hello", "[WARN] foo: 4 hello", - "[SEVERE] foo: 5 hello", + `[SEVERE] foo: 5 hello 42 [{"a":[23]}]`, ]); sub.unsubscribe(); assert.strictEqual(logger.getState(), State.ACTIVE); diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index ffb8825c9f..a908803460 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.54...@thi.ng/rstream-query@1.1.55) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.53...@thi.ng/rstream-query@1.1.54) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.52...@thi.ng/rstream-query@1.1.53) (2020-12-22) +## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.58...@thi.ng/rstream-query@1.1.59) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream-query diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 16e0dbca11..4afb5a27bb 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.55", + "version": "1.1.59", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -42,22 +42,22 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/math": "^3.1.0", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/rstream-dot": "^1.1.55", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/math": "^3.2.0", + "@thi.ng/rstream": "^5.1.1", + "@thi.ng/rstream-dot": "^1.1.59", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index ac959bcdd2..4e76bb742e 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.12...@thi.ng/rstream@5.0.13) (2021-01-10) +## [5.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.1.0...@thi.ng/rstream@5.1.1) (2021-02-20) **Note:** Version bump only for package @thi.ng/rstream @@ -11,17 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [5.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.11...@thi.ng/rstream@5.0.12) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/rstream - - +# [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.15...@thi.ng/rstream@5.1.0) (2021-01-22) +### Features -## [5.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.10...@thi.ng/rstream@5.0.11) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/rstream +* **rstream:** add CommonOpts for .map() ([6324123](https://github.com/thi-ng/umbrella/commit/63241231a93c34fa5fb834706f26e024adf3100b)) diff --git a/packages/rstream/README.md b/packages/rstream/README.md index 0e99970b55..0871a3eb5e 100644 --- a/packages/rstream/README.md +++ b/packages/rstream/README.md @@ -187,7 +187,7 @@ yarn add @thi.ng/rstream ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.44 KB / CJS: 5.62 KB / UMD: 5.57 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.44 KB / CJS: 5.63 KB / UMD: 5.57 KB ## Dependencies @@ -217,6 +217,7 @@ A selection: | | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | | | Minimal Markdown to Hiccup to HTML parser / transformer | [Demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) | | | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | | | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) | | | rdom & hiccup-canvas interop test | [Demo](https://demo.thi.ng/umbrella/rdom-lissajous/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-lissajous) | | | Full umbrella repo doc string search w/ paginated results | [Demo](https://demo.thi.ng/umbrella/rdom-search-docs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-search-docs) | diff --git a/packages/rstream/package.json b/packages/rstream/package.json index d56d521ae2..da6b91ecf4 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "5.0.13", + "version": "5.1.1", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/atom": "^4.1.27", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/atom": "^4.1.28", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/rstream/src/subscription.ts b/packages/rstream/src/subscription.ts index 8dfae0404f..8f5565e4cc 100644 --- a/packages/rstream/src/subscription.ts +++ b/packages/rstream/src/subscription.ts @@ -223,9 +223,10 @@ export class Subscription * function `fn` is used as `map`'s transformation fn. * * @param fn + * @param opts */ - map(fn: Fn): Subscription { - return this.subscribe(map(fn)); + map(fn: Fn, opts?: Partial): Subscription { + return this.subscribe(map(fn), opts); } /** diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index eb86e57cf8..216c042986 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.44...@thi.ng/sax@1.1.45) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.43...@thi.ng/sax@1.1.44) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.42...@thi.ng/sax@1.1.43) (2020-12-22) +## [1.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.48...@thi.ng/sax@1.1.49) (2021-02-20) **Note:** Version bump only for package @thi.ng/sax diff --git a/packages/sax/package.json b/packages/sax/package.json index ded9275ca0..72a7638548 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "1.1.45", + "version": "1.1.49", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-fsm": "^1.1.45" + "@thi.ng/api": "^7.0.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/transducers-fsm": "^1.1.49" }, "files": [ "*.js", diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index b64d3fc228..efb5ebe266 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.13...@thi.ng/scenegraph@0.3.14) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.12...@thi.ng/scenegraph@0.3.13) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.11...@thi.ng/scenegraph@0.3.12) (2020-12-22) +## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.17...@thi.ng/scenegraph@0.3.18) (2021-02-20) **Note:** Version bump only for package @thi.ng/scenegraph diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index e592fda210..0356372ead 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/scenegraph", - "version": "0.3.14", + "version": "0.3.18", "description": "Extensible 2D/3D scene graph with @thi.ng/hiccup-canvas support", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/matrices": "^0.6.40", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/matrices": "^0.6.44", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md index 1ce56470e0..3c174b4994 100644 --- a/packages/seq/CHANGELOG.md +++ b/packages/seq/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.29...@thi.ng/seq@0.2.30) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.28...@thi.ng/seq@0.2.29) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.27...@thi.ng/seq@0.2.28) (2020-12-22) +## [0.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.30...@thi.ng/seq@0.2.31) (2021-02-20) **Note:** Version bump only for package @thi.ng/seq diff --git a/packages/seq/package.json b/packages/seq/package.json index 38a0d2fc98..7f9ba55276 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/seq", - "version": "0.2.30", + "version": "0.2.31", "description": "Various implementations of the @thi.ng/api `ISeq` interface / sequence abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0" }, "files": [ "*.js", diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md index adca154aed..37b2bebade 100644 --- a/packages/sexpr/CHANGELOG.md +++ b/packages/sexpr/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.32...@thi.ng/sexpr@0.2.33) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.31...@thi.ng/sexpr@0.2.32) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.30...@thi.ng/sexpr@0.2.31) (2020-12-22) +## [0.2.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.33...@thi.ng/sexpr@0.2.34) (2021-02-20) **Note:** Version bump only for package @thi.ng/sexpr diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index 8e24eb99f0..744688d185 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sexpr", - "version": "0.2.33", + "version": "0.2.34", "description": "Extensible S-Expression parser & runtime infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5" }, "files": [ "*.js", diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 8a512e7a1f..2dc952a4a3 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.16...@thi.ng/shader-ast-glsl@0.2.17) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.15...@thi.ng/shader-ast-glsl@0.2.16) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.14...@thi.ng/shader-ast-glsl@0.2.15) (2020-12-22) +## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.20...@thi.ng/shader-ast-glsl@0.2.21) (2021-02-20) **Note:** Version bump only for package @thi.ng/shader-ast-glsl diff --git a/packages/shader-ast-glsl/README.md b/packages/shader-ast-glsl/README.md index 930f0f6cc0..ed7893823c 100644 --- a/packages/shader-ast-glsl/README.md +++ b/packages/shader-ast-glsl/README.md @@ -55,7 +55,7 @@ yarn add @thi.ng/shader-ast-glsl ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.32 KB / CJS: 1.36 KB / UMD: 1.48 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.32 KB / CJS: 1.37 KB / UMD: 1.48 KB ## Dependencies diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index 8add408625..13ceee5870 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-glsl", - "version": "0.2.17", + "version": "0.2.21", "description": "Customizable GLSL codegen for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/shader-ast": "^0.7.9" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/shader-ast": "^0.7.13" }, "files": [ "*.js", diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 8c99b75f78..ace0bdec29 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.14...@thi.ng/shader-ast-js@0.5.15) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.13...@thi.ng/shader-ast-js@0.5.14) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.12...@thi.ng/shader-ast-js@0.5.13) (2020-12-22) +## [0.5.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.19...@thi.ng/shader-ast-js@0.5.20) (2021-02-20) **Note:** Version bump only for package @thi.ng/shader-ast-js diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index c1871e5c62..0037592046 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-js", - "version": "0.5.15", + "version": "0.5.20", "description": "Customizable JS codegen, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/math": "^3.1.0", - "@thi.ng/matrices": "^0.6.40", - "@thi.ng/pixel": "^0.5.1", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/math": "^3.2.0", + "@thi.ng/matrices": "^0.6.44", + "@thi.ng/pixel": "^0.6.1", + "@thi.ng/shader-ast": "^0.7.13", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index a5f96e319c..7f42af54f7 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.8...@thi.ng/shader-ast-stdlib@0.5.9) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.5.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.7...@thi.ng/shader-ast-stdlib@0.5.8) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.6...@thi.ng/shader-ast-stdlib@0.5.7) (2020-12-22) +## [0.5.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.12...@thi.ng/shader-ast-stdlib@0.5.13) (2021-02-20) **Note:** Version bump only for package @thi.ng/shader-ast-stdlib diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 6775451a62..61817cb116 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-stdlib", - "version": "0.5.9", + "version": "0.5.13", "description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/shader-ast": "^0.7.9" + "@thi.ng/api": "^7.0.0", + "@thi.ng/shader-ast": "^0.7.13" }, "files": [ "*.js", diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 0644005a1e..329f27248c 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.7.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.7.8...@thi.ng/shader-ast@0.7.9) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.7.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.7.7...@thi.ng/shader-ast@0.7.8) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.7.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.7.6...@thi.ng/shader-ast@0.7.7) (2020-12-22) +## [0.7.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.7.12...@thi.ng/shader-ast@0.7.13) (2021-02-20) **Note:** Version bump only for package @thi.ng/shader-ast diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index 8e02e286ba..d38c9739ed 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast", - "version": "0.7.9", + "version": "0.7.13", "description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/dgraph": "^1.3.5", - "@thi.ng/errors": "^1.2.26" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/defmulti": "^1.3.5", + "@thi.ng/dgraph": "^1.3.9", + "@thi.ng/errors": "^1.2.27" }, "files": [ "*.js", diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index 9cba0e4f4a..60dfeb35ad 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.12...@thi.ng/simd@0.4.13) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.11...@thi.ng/simd@0.4.12) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.10...@thi.ng/simd@0.4.11) (2020-12-22) +## [0.4.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.16...@thi.ng/simd@0.4.17) (2021-02-20) **Note:** Version bump only for package @thi.ng/simd diff --git a/packages/simd/package.json b/packages/simd/package.json index f6d22c7691..72ca4f7619 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/simd", - "version": "0.4.13", + "version": "0.4.17", "description": "WASM based SIMD vector operations for batch processing", "module": "./index.js", "main": "./lib/index.js", @@ -45,14 +45,14 @@ "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "assemblyscript": "0.17.9", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/transducers-binary": "^0.6.6" }, "files": [ "*.js", diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 5e49292cc5..ad0b915a97 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,25 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.43...@thi.ng/soa@0.1.44) (2021-01-10) +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.47...@thi.ng/soa@0.2.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/soa +### Code Refactoring +* **soa:** update attrib type handling ([274dadf](https://github.com/thi-ng/umbrella/commit/274dadf2507ac4daeea59c53a0f408343d582d8e)) +### BREAKING CHANGES -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.42...@thi.ng/soa@0.1.43) (2021-01-02) +* **soa:** attrib buffer data type use string consts -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.41...@thi.ng/soa@0.1.42) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/soa +- part of unified umbrella-wide changes to thi.ng/api Type alias + (see a333d4182) diff --git a/packages/soa/README.md b/packages/soa/README.md index 5388d31f46..eb8cb34183 100644 --- a/packages/soa/README.md +++ b/packages/soa/README.md @@ -10,6 +10,10 @@ This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. - [About](#about) + - [Supported memory layouts](#supported-memory-layouts) + - [AOS (Array Of Structures)](#aos-array-of-structures) + - [SOA (Structure of Arrays)](#soa-structure-of-arrays) + - [Hybrid](#hybrid) - [Status](#status) - [Related packages](#related-packages) - [Installation](#installation) @@ -23,6 +27,20 @@ This project is part of the SOA & AOS memory mapped structured views with optional & extensible serialization. +### Supported memory layouts + +#### AOS (Array Of Structures) + +![AOS memory block diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/soa/aos.png) + +#### SOA (Structure of Arrays) + +![SOA memory block diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/soa/soa.png) + +#### Hybrid + +![Hybrid memory block diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/soa/hybrid.png) + ### Status **ALPHA** - bleeding edge / work-in-progress @@ -55,7 +73,7 @@ yarn add @thi.ng/soa ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.45 KB / CJS: 1.52 KB / UMD: 1.62 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.42 KB / CJS: 1.49 KB / UMD: 1.59 KB ## Dependencies diff --git a/packages/soa/package.json b/packages/soa/package.json index 831770dd42..77d34c65ff 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/soa", - "version": "0.1.44", + "version": "0.2.0", "description": "SOA & AOS memory mapped structured views with optional & extensible serialization", "module": "./index.js", "main": "./lib/index.js", @@ -40,20 +40,20 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/equiv": "^1.0.35", + "@thi.ng/equiv": "^1.0.36", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/transducers-binary": "^0.6.2", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/transducers-binary": "^0.6.6", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/soa/src/aos.ts b/packages/soa/src/aos.ts index 2a7a76e193..7aed161db3 100644 --- a/packages/soa/src/aos.ts +++ b/packages/soa/src/aos.ts @@ -26,9 +26,9 @@ import { prepareSpec } from "./utils"; * aos( * 1024, * { - * a: { type: Type.U16, size: 1 }, // 2 bytes, align 2, offset 0 - * b: { type: Type.F32, size: 2 }, // 8 bytes, align 4, offset 4 - * c: { type: Type.U8, size: 1 }, // 1 byte, align 1, offset 12 + * a: { type: "u16", size: 1 }, // 2 bytes, align 2, offset 0 + * b: { type: "f32", size: 2 }, // 8 bytes, align 4, offset 4 + * c: { type: "u8", size: 1 }, // 1 byte, align 1, offset 12 * } * ); * ``` diff --git a/packages/soa/src/api.ts b/packages/soa/src/api.ts index 6f8c438323..bc98c8be02 100644 --- a/packages/soa/src/api.ts +++ b/packages/soa/src/api.ts @@ -8,7 +8,7 @@ export interface AOSAttribSpec { size: number; /** * Primitive type ID for backing array. - * Default: Type.F32 + * Default: "f32" */ type: Type; /** diff --git a/packages/soa/src/soa.ts b/packages/soa/src/soa.ts index 4cec0b3f5a..d18bfaa995 100644 --- a/packages/soa/src/soa.ts +++ b/packages/soa/src/soa.ts @@ -1,11 +1,4 @@ -import { - assert, - ILength, - SIZEOF, - TypedArray, - typedArray, - TYPEDARRAY_CTORS, -} from "@thi.ng/api"; +import { assert, ILength, SIZEOF, TypedArray, typedArray } from "@thi.ng/api"; import type { ReadonlyVec, Vec } from "@thi.ng/vectors"; import type { SOAAttribSpec, SOASpecs, SOATuple } from "./api"; import { prepareSpec } from "./utils"; @@ -39,14 +32,13 @@ export class SOA implements ILength { this.ensureIndex(from); this.ensureIndex(to, from, this.length); let { size, stride, type } = this.specs[id]; - const ctor = TYPEDARRAY_CTORS[type!]; const buf = this.buffers[id].buffer; stride! *= SIZEOF[type!]; from *= stride!; to *= stride!; const res: Vec[] = []; for (; from < to; from += stride!) { - res.push(new ctor(buf, from, size!)); + res.push(typedArray(type!, buf, from, size!)); } return res; } diff --git a/packages/soa/src/utils.ts b/packages/soa/src/utils.ts index 804e6a90e0..9c4f85d09c 100644 --- a/packages/soa/src/utils.ts +++ b/packages/soa/src/utils.ts @@ -1,8 +1,7 @@ -import { Type } from "@thi.ng/api"; import type { SOAAttribSpec } from "./api"; export const prepareSpec = (spec: Partial) => { - spec = { type: Type.F32, size: 1, ...spec }; + spec = { type: "f32", size: 1, ...spec }; !spec.stride && (spec.stride = spec.size); return spec; }; diff --git a/packages/soa/test/aos.ts b/packages/soa/test/aos.ts index 2b20dbb1a5..dc1b1441e3 100644 --- a/packages/soa/test/aos.ts +++ b/packages/soa/test/aos.ts @@ -8,9 +8,9 @@ describe("aos", () => { const struct = aos( 2, { - a: { type: Type.U16, size: 1 }, // 2, 0 - b: { type: Type.F32, size: 2 }, // 8, 4 - c: { type: Type.U8, size: 1 }, // 1, 12 + a: { type: "u16", size: 1 }, // 2, 0 + b: { type: "f32", size: 2 }, // 8, 4 + c: { type: "u8", size: 1 }, // 1, 12 }, undefined, 0x100 diff --git a/packages/soa/test/serialize.ts b/packages/soa/test/serialize.ts index d043d64e46..b520fa2e5d 100644 --- a/packages/soa/test/serialize.ts +++ b/packages/soa/test/serialize.ts @@ -4,7 +4,7 @@ import { scalar, serializer, soa, utf8z } from "../src"; describe("serialize", () => { it("scalar", () => { - const struct = soa(2, { id: { type: Type.U32, size: 1 } }); + const struct = soa(2, { id: { type: "u32", size: 1 } }); const ser = serializer({ id: scalar }); struct.setIndex(0, ser.encode({ id: 0xdecafbad })); struct.setIndex(1, ser.encode({ id: 0xaa55aa55 })); @@ -15,7 +15,7 @@ describe("serialize", () => { }); it("utf8z", () => { - const struct = soa(2, { name: { type: Type.U8, size: 10 } }); + const struct = soa(2, { name: { type: "u8", size: 10 } }); const ser = serializer({ name: utf8z(10) }); assert.deepStrictEqual(ser.decode(struct.index(0)), { name: "" }); struct.setIndex(0, ser.encode({ name: "hΓ«Ll0!" })); diff --git a/packages/soa/test/soa.ts b/packages/soa/test/soa.ts index d449dee628..6db6bfe4a5 100644 --- a/packages/soa/test/soa.ts +++ b/packages/soa/test/soa.ts @@ -6,9 +6,9 @@ import { soa } from "../src"; describe("soa", () => { it("basic", () => { const struct = soa(2, { - a: { type: Type.U16 }, + a: { type: "u16" }, b: { size: 2, default: [1, 2] }, - c: { type: Type.I8, size: 2, default: [-3, 4] }, + c: { type: "i8", size: 2, default: [-3, 4] }, }); assert.strictEqual(struct.length, 2); assert.deepStrictEqual(struct.keys(), ["a", "b", "c"]); @@ -31,14 +31,14 @@ describe("soa", () => { it("copy", () => { const src = soa(2, { - a: { type: Type.U16 }, + a: { type: "u16" }, b: { size: 2, default: [1, 2] }, - c: { type: Type.I8, size: 2, default: [-3, 4] }, + c: { type: "i8", size: 2, default: [-3, 4] }, }); const dest = soa(4, { - a: { type: Type.U16, default: [0xaa55] }, + a: { type: "u16", default: [0xaa55] }, b: { size: 2 }, - c: { type: Type.I8, size: 2 }, + c: { type: "i8", size: 2 }, }); src.copyTo(dest, undefined, 2); assert( diff --git a/packages/soa/tpl.readme.md b/packages/soa/tpl.readme.md index 1271f108f0..d57b8f643c 100644 --- a/packages/soa/tpl.readme.md +++ b/packages/soa/tpl.readme.md @@ -13,6 +13,20 @@ This project is part of the ${pkg.description} +### Supported memory layouts + +#### AOS (Array Of Structures) + +![AOS memory block diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/soa/aos.png) + +#### SOA (Structure of Arrays) + +![SOA memory block diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/soa/soa.png) + +#### Hybrid + +![Hybrid memory block diagram](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/soa/hybrid.png) + ${status} See tests for usage. This package might be merged with and/or superseded diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index c25080233d..ecc2cf8dbb 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.60...@thi.ng/sparse@0.1.61) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.59...@thi.ng/sparse@0.1.60) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.58...@thi.ng/sparse@0.1.59) (2020-12-22) +## [0.1.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.64...@thi.ng/sparse@0.1.65) (2021-02-20) **Note:** Version bump only for package @thi.ng/sparse diff --git a/packages/sparse/package.json b/packages/sparse/package.json index 8334803823..7ecd3fbf4b 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sparse", - "version": "0.1.61", + "version": "0.1.65", "description": "Sparse vector & matrix implementations", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 7ebe7aa9b1..9c11697204 100644 --- a/packages/strings/CHANGELOG.md +++ b/packages/strings/CHANGELOG.md @@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.15.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.14.0...@thi.ng/strings@1.15.0) (2021-02-20) + + +### Features + +* **strings:** add int/intLocale, vector formatters ([ac55fe0](https://github.com/thi-ng/umbrella/commit/ac55fe007bed81d04848eddb1c4145eb26cdd437)) + + + + + +# [1.14.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.13.0...@thi.ng/strings@1.14.0) (2021-01-13) + + +### Features + +* **strings:** add stringify() HOF ([4ab7e72](https://github.com/thi-ng/umbrella/commit/4ab7e72bf87cbf058a38ca85b5e2853a5f432d9d)) + + + + + # [1.13.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.12.0...@thi.ng/strings@1.13.0) (2021-01-10) @@ -44,14 +66,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.11.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.11.2...@thi.ng/strings@1.11.3) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/strings - - - - - # [1.11.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.10.0...@thi.ng/strings@1.11.0) (2020-11-24) diff --git a/packages/strings/README.md b/packages/strings/README.md index 896f387262..118f1e91ae 100644 --- a/packages/strings/README.md +++ b/packages/strings/README.md @@ -52,7 +52,7 @@ yarn add @thi.ng/strings ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.93 KB / CJS: 3.16 KB / UMD: 3.03 KB +Package sizes (gzipped, pre-treeshake): ESM: 3.65 KB / CJS: 3.94 KB / UMD: 3.74 KB ## Dependencies diff --git a/packages/strings/package.json b/packages/strings/package.json index b57afb03cc..0289d34a3d 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/strings", - "version": "1.13.0", + "version": "1.15.0", "description": "Various string formatting & utility functions", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/hex": "^0.1.3", - "@thi.ng/memoize": "^2.1.8" + "@thi.ng/api": "^7.0.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/hex": "^0.2.0", + "@thi.ng/memoize": "^2.1.9" }, "files": [ "*.js", @@ -60,6 +60,7 @@ "lib" ], "keywords": [ + "ansi", "composition", "conversion", "escape", @@ -67,14 +68,17 @@ "format", "functional", "hex", - "higher-order", + "hollerith", "interpolation", "number", "padding", "percent", "radix", "slugify", + "split", "string", + "tab", + "trim", "typescript", "unicode", "wordwrap" diff --git a/packages/strings/src/cursor.ts b/packages/strings/src/cursor.ts index 5bee2b4e5d..971c5d8cb9 100644 --- a/packages/strings/src/cursor.ts +++ b/packages/strings/src/cursor.ts @@ -1,22 +1,32 @@ /** - * Takes a string, linear index position and optional line split - * delimiter (or regexp, default: "\n"). Computes and returns position - * of index as 1-based cursor coords tuple: `[line, column]` + * Takes a string, linear index position and optional line split delimiter (or + * regexp, default: "\n"). Computes and returns position of index as cursor + * coords tuple: `[line, column]` + * + * @remarks + * By default the returned coords are 1-based, but can be configured via + * optional `offset` arg (also in `[line,column]` order). * * @example * ```ts * computeCursorPos("thi.ng\numbrella", 10); * // [ 2, 4 ] + * + * // w/ custom offset + * computeCursorPos("thi.ng\numbrella", 10, "\n", [11, 1]); + * // [ 12, 4 ] * ``` * * @param str - * @param pos - * @param delim - + * @param offset - */ export const computeCursorPos = ( str: string, pos: number, - delim: string | RegExp = "\n" + delim: string | RegExp = "\n", + offset: number[] = [1, 1] ) => { if (!str.length) return [1, 1]; pos = Math.min(Math.max(0, pos), str.length); @@ -24,8 +34,8 @@ export const computeCursorPos = ( const n = lines.length; for (let i = 0; i < n; i++) { const l = lines[i]; - if (pos <= l.length) return [i + 1, pos + 1]; + if (pos <= l.length) return [i + offset[0], pos + offset[1]]; pos -= l.length + 1; } - return [n, 1]; + return [n + offset[0] - 1, offset[1]]; }; diff --git a/packages/strings/src/float.ts b/packages/strings/src/float.ts index 669c3d0178..f518a496c0 100644 --- a/packages/strings/src/float.ts +++ b/packages/strings/src/float.ts @@ -3,19 +3,22 @@ import type { Stringer } from "./api"; import { padLeft } from "./pad-left"; /** - * Returns {@link Stringer} which formats numbers to given precision. - * Exceptions: + * Returns {@link Stringer} which formats numbers to given precision. If + * `special` is true, then exceptional handling for: * * - NaN => "NaN" * - Infinity => "+/-∞" * * @param len - number of fractional digits - * @kind function + * @param special - true, if special handling for NaN/Infinity values */ export const float: ( - prec: number -) => Stringer = memoizeJ((prec) => (x: number) => - nanOrInf(x) || x.toFixed(prec) + prec: number, + special?: boolean +) => Stringer = memoizeJ((prec, special = false) => + special + ? (x: number) => nanOrInf(x) || x.toFixed(prec) + : (x: number) => x.toFixed(prec) ); /** diff --git a/packages/strings/src/index.ts b/packages/strings/src/index.ts index 6808bfc5f6..72e3b83cd7 100644 --- a/packages/strings/src/index.ts +++ b/packages/strings/src/index.ts @@ -9,6 +9,7 @@ export * from "./float"; export * from "./format"; export * from "./groups"; export * from "./hollerith"; +export * from "./int"; export * from "./interpolate"; export * from "./join"; export * from "./pad-left"; @@ -21,11 +22,13 @@ export * from "./repeat"; export * from "./slugify"; export * from "./splice"; export * from "./split"; +export * from "./stringify"; export * from "./tabs"; export * from "./trim"; export * from "./truncate"; export * from "./truncate-left"; export * from "./units"; export * from "./uuid"; +export * from "./vector"; export * from "./wrap"; export * from "./word-wrap"; diff --git a/packages/strings/src/int.ts b/packages/strings/src/int.ts new file mode 100644 index 0000000000..9e7d2a55eb --- /dev/null +++ b/packages/strings/src/int.ts @@ -0,0 +1,10 @@ +import { memoizeJ } from "@thi.ng/memoize"; +import type { Stringer } from "./api"; + +export const int: Stringer = (x) => String(Math.trunc(x)); + +export const intLocale: ( + locale?: string +) => Stringer = memoizeJ((locale) => (x) => + Math.trunc(x).toLocaleString(locale) +); diff --git a/packages/strings/src/stringify.ts b/packages/strings/src/stringify.ts new file mode 100644 index 0000000000..72b3ddaac8 --- /dev/null +++ b/packages/strings/src/stringify.ts @@ -0,0 +1,15 @@ +import type { Stringer } from "./api"; + +/** + * Higher order version of `JSON.stringify()` with the option to treat strings + * and numbers differently. If `all` is `false` (default), strings and numbers + * are simply converted using `String(x)`. If `indent` is given, it will be used + * for `JSON.stringify(x, null, indent)` + * + * @param all + * @param indent + */ +export const stringify = (all = false, indent?: number): Stringer => (x) => + all || (typeof x !== "string" && typeof x !== "number") + ? JSON.stringify(x, null, indent) + : String(x); diff --git a/packages/strings/src/uuid.ts b/packages/strings/src/uuid.ts index 2567deadbb..85da7a5853 100644 --- a/packages/strings/src/uuid.ts +++ b/packages/strings/src/uuid.ts @@ -1,22 +1,15 @@ -import { U16BE, U32BE, U48BE } from "@thi.ng/hex"; +import { uuid as $uuid } from "@thi.ng/hex"; /** - * Returns UUID formatted string of given byte array from optional start - * index `i` (default: 0). Array must have min. length 16. + * Same as {@link @thi.ng/hex#uuid}. Returns UUID formatted string of given byte + * array from optional start index `i` (default: 0). Array must have min. length + * 16. * * @remarks - * This is the same function as {@link @thi.ng/random#uuid}. + * Use {@link @thi.ng/random#uuid} to also generate an UUID from scratch (rather + * than just format one). * * @param id - * @param i - */ -export const uuid = (id: ArrayLike, i = 0) => - U32BE(id, i) + - "-" + - U16BE(id, i + 4) + - "-" + - U16BE(id, i + 6) + - "-" + - U16BE(id, i + 8) + - "-" + - U48BE(id, i + 10); +export const uuid = $uuid; diff --git a/packages/strings/src/vector.ts b/packages/strings/src/vector.ts new file mode 100644 index 0000000000..66f4571c02 --- /dev/null +++ b/packages/strings/src/vector.ts @@ -0,0 +1,54 @@ +import { memoizeJ } from "@thi.ng/memoize"; +import type { Stringer } from "./api"; +import { float } from "./float"; + +/** + * Higher order formatter for n-D vectors, with each element formatted using + * `prec` and using optional delimiter and pre/postfixes. + * + * @size - vector size (optimized for size 1-4) + * @prec - precision (see {@link float}) or existing number formatter + * @delim - delimiter (default: `,`) + * @pre - prefix (default: `[`) + * @post - prefix (default: `]`) + */ +export const vector: ( + size: number, + prec?: number | Stringer, + delim?: string, + pre?: string, + post?: string +) => Stringer> = memoizeJ( + ( + size: number, + prec: number | Stringer = 3, + d = ",", + pre = "[", + post = "]" + ) => { + const f = typeof prec === "number" ? float(prec) : prec; + switch (size) { + case 1: + return (v: ArrayLike) => `${pre}${f(v[0])}${post}`; + case 2: + return (v: ArrayLike) => + `${pre}${f(v[0])}${d}${f(v[1])}${post}`; + case 3: + return (v: ArrayLike) => + `${pre}${f(v[0])}${d}${f(v[1])}${d}${f(v[2])}${post}`; + case 4: + return (v: ArrayLike) => + `${pre}${f(v[0])}${d}${f(v[1])}${d}${f(v[2])}${d}${f( + v[3] + )}${post}`; + default: + return (v: ArrayLike) => { + const res = []; + for (let i = 0; i < v.length; i++) { + res.push(f(v[i])); + } + return `${pre}${res.join(d)}${post}`; + }; + } + } +); diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md index 011ecf4aae..efdb278067 100644 --- a/packages/system/CHANGELOG.md +++ b/packages/system/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.33...@thi.ng/system@0.2.34) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.32...@thi.ng/system@0.2.33) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.31...@thi.ng/system@0.2.32) (2020-12-22) +## [0.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.37...@thi.ng/system@0.2.38) (2021-02-20) **Note:** Version bump only for package @thi.ng/system diff --git a/packages/system/package.json b/packages/system/package.json index b660c77ebc..b3ddac423f 100644 --- a/packages/system/package.json +++ b/packages/system/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/system", - "version": "0.2.34", + "version": "0.2.38", "description": "Minimal DI / life cycle container for stateful app components", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/dgraph": "^1.3.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/dgraph": "^1.3.9" }, "files": [ "*.js", diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index af358f2f9a..26535d97bd 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.4...@thi.ng/text-canvas@0.4.5) (2021-02-20) + +**Note:** Version bump only for package @thi.ng/text-canvas + + + + + ## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.0...@thi.ng/text-canvas@0.4.1) (2021-01-10) @@ -37,14 +45,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.35...@thi.ng/text-canvas@0.2.36) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.1.2...@thi.ng/text-canvas@0.2.0) (2020-03-01) diff --git a/packages/text-canvas/README.md b/packages/text-canvas/README.md index f43ca4e4db..0588788989 100644 --- a/packages/text-canvas/README.md +++ b/packages/text-canvas/README.md @@ -59,7 +59,7 @@ yarn add @thi.ng/text-canvas ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.83 KB / CJS: 6.16 KB / UMD: 5.88 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.83 KB / CJS: 6.18 KB / UMD: 5.91 KB ## Dependencies diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index f8fc41a1b6..918d6374c4 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/text-canvas", - "version": "0.4.1", + "version": "0.4.5", "description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-clip-line": "^1.2.16", - "@thi.ng/math": "^3.1.0", - "@thi.ng/memoize": "^2.1.8", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/geom-clip-line": "^1.2.20", + "@thi.ng/math": "^3.2.0", + "@thi.ng/memoize": "^2.1.9", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/text-canvas/src/image.ts b/packages/text-canvas/src/image.ts index 399e1b074a..752f2ccaed 100644 --- a/packages/text-canvas/src/image.ts +++ b/packages/text-canvas/src/image.ts @@ -1,5 +1,6 @@ import { peek } from "@thi.ng/arrays"; import { isNumber } from "@thi.ng/checks"; +import { clamp0 } from "@thi.ng/math"; import { ClipRect, ImageOpts, SHADES_BLOCK } from "./api"; import { Canvas } from "./canvas"; import { charCode, intersectRect } from "./utils"; @@ -14,8 +15,8 @@ export const blit = (canvas: Canvas, x: number, y: number, src: Canvas) => { peek(canvas.clipRects) ); if (!iw || !ih) return; - const sx = Math.max(0, x1 - x); - const sy = Math.max(0, y1 - y); + const sx = clamp0(x1 - x); + const sy = clamp0(y1 - y); for (let yy = sy, dy = y1; dy < y2; yy++, dy++) { let sidx = sx + yy * sw; let didx = x1 + dy * dw; @@ -189,7 +190,7 @@ const imgRect = ( peek(canvas.clipRects) ) ); - rect.sx = Math.max(0, rect.x1 - x); - rect.sy = Math.max(0, rect.y1 - y); + rect.sx = clamp0(rect.x1 - x); + rect.sy = clamp0(rect.y1 - y); return rect; }; diff --git a/packages/text-canvas/src/text.ts b/packages/text-canvas/src/text.ts index cf0e8fc1fd..42dcc89abf 100644 --- a/packages/text-canvas/src/text.ts +++ b/packages/text-canvas/src/text.ts @@ -1,4 +1,5 @@ import { peek } from "@thi.ng/arrays"; +import { clamp0 } from "@thi.ng/math"; import { wordWrap } from "@thi.ng/transducers"; import type { TextBoxOpts } from "./api"; import { beginClip, beginStyle, Canvas, endClip, endStyle } from "./canvas"; @@ -112,7 +113,7 @@ export const textBox = ( innerH = lines.length + 2; height = innerH + 2 * padding[1]; } else { - innerH = Math.max(0, height - 2); + innerH = clamp0(height - 2); } strokeRect(canvas, x, y, width, height); fillRect(canvas, x + 1, y + 1, width - 2, height - 2, " "); diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index bf3d522db5..719adfe073 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.1...@thi.ng/transducers-binary@0.6.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.0...@thi.ng/transducers-binary@0.6.1) (2021-01-02) +## [0.6.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.5...@thi.ng/transducers-binary@0.6.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/transducers-binary diff --git a/packages/transducers-binary/README.md b/packages/transducers-binary/README.md index 5a0c2ecf25..600a033b55 100644 --- a/packages/transducers-binary/README.md +++ b/packages/transducers-binary/README.md @@ -43,7 +43,7 @@ iterable for direct use. ### Related packages -- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - 95+ assorted binary / bitwise operations, conversions, utilities +- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - 100+ assorted binary / bitwise operations, conversions, utilities, lookup tables - [@thi.ng/bitstream](https://github.com/thi-ng/umbrella/tree/develop/packages/bitstream) - ES6 iterator based read/write bit streams with support for variable word widths - [@thi.ng/unionstruct](https://github.com/thi-ng/umbrella/tree/develop/packages/unionstruct) - C-style struct, union and bitfield read/write views of ArrayBuffers diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index 05acc32400..a26066708e 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-binary", - "version": "0.6.2", + "version": "0.6.6", "description": "Binary data related transducers & reducers", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/binary": "^2.0.21", - "@thi.ng/compose": "^1.4.23", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/hex": "^0.1.3", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/binary": "^2.1.0", + "@thi.ng/compose": "^1.4.24", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/hex": "^0.2.0", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index 49cb84cb7c..009cc4279b 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.44...@thi.ng/transducers-fsm@1.1.45) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.43...@thi.ng/transducers-fsm@1.1.44) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.42...@thi.ng/transducers-fsm@1.1.43) (2020-12-22) +## [1.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.48...@thi.ng/transducers-fsm@1.1.49) (2021-02-20) **Note:** Version bump only for package @thi.ng/transducers-fsm diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index 6c7fe81154..38c4542226 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-fsm", - "version": "1.1.45", + "version": "1.1.49", "description": "Transducer-based Finite State Machine transformer", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index dfba263d16..d48027eda4 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.76...@thi.ng/transducers-hdom@2.0.77) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.76](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.75...@thi.ng/transducers-hdom@2.0.76) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.75](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.74...@thi.ng/transducers-hdom@2.0.75) (2020-12-22) +## [2.0.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.80...@thi.ng/transducers-hdom@2.0.81) (2021-02-20) **Note:** Version bump only for package @thi.ng/transducers-hdom diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index af2ace6db7..dd083b7b99 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-hdom", - "version": "2.0.77", + "version": "2.0.81", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/hdom": "^8.2.16", - "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/hdom": "^8.2.18", + "@thi.ng/hiccup": "^3.6.8", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index d2d3bb017c..636a772d41 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.1...@thi.ng/transducers-patch@0.2.2) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.0...@thi.ng/transducers-patch@0.2.1) (2021-01-02) +## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.5...@thi.ng/transducers-patch@0.2.6) (2021-02-20) **Note:** Version bump only for package @thi.ng/transducers-patch diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 6d2392afa0..18338a98b2 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-patch", - "version": "0.2.2", + "version": "0.2.6", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/paths": "^4.1.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/paths": "^4.2.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 931f28d638..26a51161b5 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.45...@thi.ng/transducers-stats@1.1.46) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.44...@thi.ng/transducers-stats@1.1.45) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.43...@thi.ng/transducers-stats@1.1.44) (2020-12-22) +## [1.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.49...@thi.ng/transducers-stats@1.1.50) (2021-02-20) **Note:** Version bump only for package @thi.ng/transducers-stats diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index e8599255ac..469bafb900 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-stats", - "version": "1.1.46", + "version": "1.1.50", "description": "Transducers for statistical / technical analysis", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/checks": "^2.9.0", + "@thi.ng/dcons": "^2.3.10", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index a7f2a4a931..b41b002dff 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,25 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [7.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.5.4...@thi.ng/transducers@7.5.5) (2021-01-10) +# [7.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.5.8...@thi.ng/transducers@7.6.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/transducers +### Features - - - -## [7.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.5.3...@thi.ng/transducers@7.5.4) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [7.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.5.2...@thi.ng/transducers@7.5.3) (2020-12-22) - -**Note:** Version bump only for package @thi.ng/transducers +* **transducers:** add TweenOpts.easing, update tween() ([f3a50f4](https://github.com/thi-ng/umbrella/commit/f3a50f46c800c23e8aa3e42ebd90e6b028c6a0db)) diff --git a/packages/transducers/README.md b/packages/transducers/README.md index 1204d439b6..69ed5f2031 100644 --- a/packages/transducers/README.md +++ b/packages/transducers/README.md @@ -169,7 +169,7 @@ yarn add @thi.ng/transducers ``` -Package sizes (gzipped, pre-treeshake): ESM: 8.35 KB / CJS: 8.91 KB / UMD: 8.07 KB +Package sizes (gzipped, pre-treeshake): ESM: 8.37 KB / CJS: 8.93 KB / UMD: 8.08 KB ## Dependencies diff --git a/packages/transducers/package.json b/packages/transducers/package.json index 8f4cb2abd2..7cb5d8227e 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "7.5.5", + "version": "7.6.0", "description": "Lightweight transducer implementations for ES6 / TypeScript", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/compare": "^1.3.22", - "@thi.ng/compose": "^1.4.23", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/compare": "^1.3.23", + "@thi.ng/compose": "^1.4.24", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/math": "^3.2.0", + "@thi.ng/random": "^2.3.0" }, "files": [ "*.js", diff --git a/packages/transducers/src/iter/tween.ts b/packages/transducers/src/iter/tween.ts index a55849145b..6b8a077bd0 100644 --- a/packages/transducers/src/iter/tween.ts +++ b/packages/transducers/src/iter/tween.ts @@ -1,4 +1,4 @@ -import type { Fn2 } from "@thi.ng/api"; +import type { Fn2, FnN } from "@thi.ng/api"; import { normRange } from "./norm-range"; import { repeat } from "./repeat"; @@ -25,6 +25,11 @@ export interface TweenOpts { * Interval interpolator */ mix: Fn2; + /** + * Optional easing function to transform the interval relative `time` param + * for `mix`. + */ + easing?: FnN; /** * Keyframe definitions, i.e. `[time, value]` tuples */ @@ -99,6 +104,7 @@ export interface TweenOpts { */ export function* tween(opts: TweenOpts): IterableIterator { const { min, max, num, init, mix, stops } = opts; + const easing = opts.easing || ((x: number) => x); let l = stops.length; if (l < 1) return; if (l === 1) { @@ -123,6 +129,6 @@ export function* tween(opts: TweenOpts): IterableIterator { delta = end - start; interval = init(stops[i - 1][1], stops[i][1]); } - yield mix(interval, delta !== 0 ? (t - start) / delta : 0); + yield mix(interval, easing(delta !== 0 ? (t - start) / delta : 0)); } } diff --git a/packages/transducers/src/xform/drop-nth.ts b/packages/transducers/src/xform/drop-nth.ts index 95bd66c1da..239de4c57e 100644 --- a/packages/transducers/src/xform/drop-nth.ts +++ b/packages/transducers/src/xform/drop-nth.ts @@ -1,4 +1,5 @@ import { isIterable } from "@thi.ng/checks"; +import { clamp0 } from "@thi.ng/math"; import type { Transducer } from "../api"; import { iterator1 } from "../iterator"; import { throttle } from "./throttle"; @@ -9,7 +10,7 @@ export function dropNth(n: number, src?: Iterable): any { if (isIterable(src)) { return iterator1(dropNth(n), src); } - n = Math.max(0, n - 1); + n = clamp0(n - 1); return throttle(() => { let skip = n; return () => (skip-- > 0 ? true : ((skip = n), false)); diff --git a/packages/transducers/src/xform/take-nth.ts b/packages/transducers/src/xform/take-nth.ts index b905742028..a68ca14dd5 100644 --- a/packages/transducers/src/xform/take-nth.ts +++ b/packages/transducers/src/xform/take-nth.ts @@ -1,4 +1,5 @@ import { isIterable } from "@thi.ng/checks"; +import { clamp0 } from "@thi.ng/math"; import type { Transducer } from "../api"; import { iterator1 } from "../iterator"; import { throttle } from "./throttle"; @@ -21,7 +22,7 @@ export function takeNth(n: number, src?: Iterable): any { if (isIterable(src)) { return iterator1(takeNth(n), src); } - n = Math.max(0, n - 1); + n = clamp0(n - 1); return throttle(() => { let skip = 0; return () => (skip === 0 ? ((skip = n), true) : (skip--, false)); diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md index 5254f1291b..4b0ef4a927 100644 --- a/packages/unionstruct/CHANGELOG.md +++ b/packages/unionstruct/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.28...@thi.ng/unionstruct@1.1.29) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.27...@thi.ng/unionstruct@1.1.28) (2020-12-22) +## [1.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.29...@thi.ng/unionstruct@1.1.30) (2021-02-20) **Note:** Version bump only for package @thi.ng/unionstruct diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index b334246d0f..77530a95e1 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/unionstruct", - "version": "1.1.29", + "version": "1.1.30", "description": "C-style struct, union and bitfield read/write views of ArrayBuffers", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "files": [ "*.js", diff --git a/packages/vclock/CHANGELOG.md b/packages/vclock/CHANGELOG.md index 7116ad48d7..ad3a4a9f09 100644 --- a/packages/vclock/CHANGELOG.md +++ b/packages/vclock/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/vclock@0.1.2...@thi.ng/vclock@0.1.3) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/vclock - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/vclock@0.1.1...@thi.ng/vclock@0.1.2) (2020-12-22) +## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/vclock@0.1.3...@thi.ng/vclock@0.1.4) (2021-02-20) **Note:** Version bump only for package @thi.ng/vclock diff --git a/packages/vclock/package.json b/packages/vclock/package.json index 5afe46441d..5eae5deb35 100644 --- a/packages/vclock/package.json +++ b/packages/vclock/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vclock", - "version": "0.1.3", + "version": "0.1.4", "description": "Vector clock functions for synchronizing distributed states & processes", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6" + "@thi.ng/api": "^7.0.0" }, "files": [ "*.js", diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index 6a04e26ed8..57ce578256 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,25 +3,32 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.53...@thi.ng/vector-pools@1.0.54) (2021-01-10) +# [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.57...@thi.ng/vector-pools@2.0.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/vector-pools +### Bug Fixes +* **vector-pools:** fix regression/update buffer arg types ([27a3614](https://github.com/thi-ng/umbrella/commit/27a36148ace1bd19d346137d80e897c91b67a5c6)) +### Code Refactoring -## [1.0.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.52...@thi.ng/vector-pools@1.0.53) (2021-01-02) +* **vector-pools:** update attrib type handling ([0ebd889](https://github.com/thi-ng/umbrella/commit/0ebd8893d3651df6c033d40ce59fd7e77a66f790)) -**Note:** Version bump only for package @thi.ng/vector-pools +### Features +* **vector-pools:** export asNativeType/asGLType() ([d4b397b](https://github.com/thi-ng/umbrella/commit/d4b397b99f5d6c0daef76c86011b165ecda31b4d)) +### BREAKING CHANGES -## [1.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.51...@thi.ng/vector-pools@1.0.52) (2020-12-22) +* **vector-pools:** update attrib types to use string consts -**Note:** Version bump only for package @thi.ng/vector-pools +- part of umbrella-wide changes to thi.ng/api Type aliases + (see a333d4182) +- remove obsolete asNativeType()/asGLType() fns + (moved to thi.ng/api for better re-use) diff --git a/packages/vector-pools/README.md b/packages/vector-pools/README.md index cb9a977708..75f0e5d447 100644 --- a/packages/vector-pools/README.md +++ b/packages/vector-pools/README.md @@ -69,7 +69,7 @@ yarn add @thi.ng/vector-pools ``` -Package sizes (gzipped, pre-treeshake): ESM: 3.07 KB / CJS: 3.14 KB / UMD: 3.22 KB +Package sizes (gzipped, pre-treeshake): ESM: 3.00 KB / CJS: 3.06 KB / UMD: 3.16 KB ## Dependencies diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index ed1607ce01..0abfac6703 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vector-pools", - "version": "1.0.54", + "version": "2.0.0", "description": "Data structures for managing & working with strided, memory mapped vectors", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/malloc": "^4.2.6", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/malloc": "^5.0.0", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/vector-pools/src/alist.ts b/packages/vector-pools/src/alist.ts index d3d91b00b0..7755a14dd8 100644 --- a/packages/vector-pools/src/alist.ts +++ b/packages/vector-pools/src/alist.ts @@ -1,9 +1,10 @@ -import { wrap } from "./wrap"; +import type { NumericArray } from "@thi.ng/api"; import type { StridedVec, Vec } from "@thi.ng/vectors"; import type { VecFactory } from "./api"; +import { wrap } from "./wrap"; export abstract class AVecList { - buffer: Vec; + buffer: NumericArray; factory: VecFactory; start: number; @@ -26,7 +27,7 @@ export abstract class AVecList { * @param factory - */ constructor( - buffer: Vec, + buffer: NumericArray, capacity: number, size: number, start = 0, diff --git a/packages/vector-pools/src/api.ts b/packages/vector-pools/src/api.ts index 25c5d03e5a..74dd03bb18 100644 --- a/packages/vector-pools/src/api.ts +++ b/packages/vector-pools/src/api.ts @@ -4,11 +4,12 @@ import { IObjectOf, IRelease, NULL_LOGGER, + NumericArray, Type, TypedArray, } from "@thi.ng/api"; import type { MemPool, MemPoolOpts } from "@thi.ng/malloc"; -import type { ReadonlyVec, StridedVec, Vec } from "@thi.ng/vectors"; +import type { ReadonlyVec, StridedVec } from "@thi.ng/vectors"; export interface AttribSpec { type: GLType | Type; @@ -50,7 +51,7 @@ export interface IVecPool extends IRelease { } export type VecFactory = ( - buf: Vec, + buf: NumericArray, size: number, index: number, stride: number diff --git a/packages/vector-pools/src/array-list.ts b/packages/vector-pools/src/array-list.ts index 0c2482cbc8..f0130c1b55 100644 --- a/packages/vector-pools/src/array-list.ts +++ b/packages/vector-pools/src/array-list.ts @@ -1,5 +1,6 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { StridedVec } from "@thi.ng/vectors"; import { AVecList } from "./alist"; -import type { StridedVec, Vec } from "@thi.ng/vectors"; import type { VecFactory } from "./api"; export class VecArrayList extends AVecList { @@ -15,7 +16,7 @@ export class VecArrayList extends AVecList { * @param start - */ constructor( - buffer: Vec, + buffer: NumericArray, capacity: number, size: number, start = 0, diff --git a/packages/vector-pools/src/attrib-pool.ts b/packages/vector-pools/src/attrib-pool.ts index a5406a5e8a..7b54fe106b 100644 --- a/packages/vector-pools/src/attrib-pool.ts +++ b/packages/vector-pools/src/attrib-pool.ts @@ -2,10 +2,9 @@ import { assert, IObjectOf, IRelease, - SIZEOF, + sizeOf, TypedArray, typedArray, - TYPEDARRAY_CTORS, } from "@thi.ng/api"; import { align, Pow2 } from "@thi.ng/binary"; import { isNumber } from "@thi.ng/checks"; @@ -13,7 +12,6 @@ import { MemPool } from "@thi.ng/malloc"; import { range } from "@thi.ng/transducers"; import { ReadonlyVec, Vec, zeroes } from "@thi.ng/vectors"; import { AttribPoolOpts, AttribSpec, LOGGER } from "./api"; -import { asNativeType } from "./convert"; /* * 0x00 0x08 0x10 0x18 @@ -125,7 +123,7 @@ export class AttribPool implements IRelease { const size = spec.size; const stride = spec.stride!; const src = this.attribs[id]; - const dest = new TYPEDARRAY_CTORS[asNativeType(spec.type)](n * size); + const dest = typedArray(spec.type, n * size); if (size > 1) { for (let i = 0, j = 0; i < n; i++, j += stride) { dest.set(src.subarray(j, j + size), i * size); @@ -207,7 +205,7 @@ export class AttribPool implements IRelease { for (let id in this.specs) { const a = this.specs[id]; const buf = typedArray( - asNativeType(a.type), + a.type, this.pool.buf, newAddr + (a.byteOffset || 0), (newCapacity - 1) * a.stride! + a.size @@ -227,7 +225,7 @@ export class AttribPool implements IRelease { let maxSize = inclExisting ? this.maxAttribSize : 1; for (let id in specs) { const a = specs[id]; - const size = SIZEOF[asNativeType(a.type)]; + const size = sizeOf(a.type); maxSize = Math.max(maxSize, size); maxStride = Math.max(maxStride, a.byteOffset + a.size * size); } @@ -242,7 +240,7 @@ export class AttribPool implements IRelease { assert(!this.attribs[id], `attrib: ${id} already exists`); const a = specs[id]; assert(a.size > 0, `attrib ${id}: illegal or missing size`); - const size = SIZEOF[asNativeType(a.type)]; + const size = sizeOf(a.type); a.default == null && (a.default = a.size > 1 ? zeroes(a.size) : 0); const isNum = isNumber(a.default); assert( @@ -275,7 +273,7 @@ export class AttribPool implements IRelease { for (let id in specs) { const a = specs[id]; this.attribs[id] = typedArray( - asNativeType(a.type), + a.type, this.pool.buf, this.addr + (a.byteOffset || 0), (this.capacity - 1) * a.stride! + a.size @@ -363,10 +361,14 @@ const resizeAttribs = ( const newAttribs: IObjectOf<[TypedArray, number]> = {}; for (let id in specs) { const a = specs[id]; - const type = asNativeType(a.type); - const dStride = stride / SIZEOF[type]; + const dStride = stride / sizeOf(a.type); newAttribs[id] = [ - typedArray(type, buf, dest + a.byteOffset, num * dStride + a.size), + typedArray( + a.type, + buf, + dest + a.byteOffset, + num * dStride + a.size + ), dStride, ]; } diff --git a/packages/vector-pools/src/convert.ts b/packages/vector-pools/src/convert.ts deleted file mode 100644 index 5a72a633a1..0000000000 --- a/packages/vector-pools/src/convert.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { GL2TYPE, GLType, Type, TYPE2GL } from "@thi.ng/api"; - -/** - * Returns canonical {@link @thi.ng/api#Type} value of `type` by first - * attempting to resolve it as {@link @thi.ng/api#GLType} enum. - * - * @example - * ```ts - * nativeType(GLType.F32) => Type.F32 - * nativeType(Type.F32) => Type.F32 - * ``` - * - * @param type - - */ -export const asNativeType = (type: GLType | Type): Type => { - const t = (GL2TYPE)[type]; - return t !== undefined ? t : type; -}; - -export const asGLType = (type: GLType | Type): GLType => { - const t = (TYPE2GL)[type]; - return t !== undefined ? t : type; -}; diff --git a/packages/vector-pools/src/linked-list.ts b/packages/vector-pools/src/linked-list.ts index 00672df3c7..09d490f45f 100644 --- a/packages/vector-pools/src/linked-list.ts +++ b/packages/vector-pools/src/linked-list.ts @@ -1,5 +1,6 @@ +import type { NumericArray } from "@thi.ng/api"; +import type { StridedVec } from "@thi.ng/vectors"; import { AVecList } from "./alist"; -import type { StridedVec, Vec } from "@thi.ng/vectors"; import type { VecFactory } from "./api"; interface Cell { @@ -29,7 +30,7 @@ export class VecLinkedList extends AVecList { */ constructor( closed: boolean, - buffer: Vec, + buffer: NumericArray, capacity: number, size: number, start = 0, diff --git a/packages/vector-pools/src/vec-pool.ts b/packages/vector-pools/src/vec-pool.ts index 1a96a1a762..86b569d3cb 100644 --- a/packages/vector-pools/src/vec-pool.ts +++ b/packages/vector-pools/src/vec-pool.ts @@ -1,9 +1,8 @@ -import { GLType, Type, TypedArray } from "@thi.ng/api"; +import { asNativeType, GLType, Type, TypedArray } from "@thi.ng/api"; import { isTypedArray } from "@thi.ng/checks"; import { MemPool, MemPoolOpts, MemPoolStats } from "@thi.ng/malloc"; import type { StridedVec } from "@thi.ng/vectors"; import type { IVecPool } from "./api"; -import { asNativeType } from "./convert"; import { wrap } from "./wrap"; export class VecPool implements IVecPool { @@ -19,17 +18,14 @@ export class VecPool implements IVecPool { return this.pool.stats(); } - malloc( - size: number, - type: GLType | Type = Type.F32 - ): TypedArray | undefined { + malloc(size: number, type: GLType | Type = "f32"): TypedArray | undefined { return this.pool.callocAs(asNativeType(type), size); } mallocWrapped( size: number, stride = 1, - type: GLType | Type = Type.F32 + type: GLType | Type = "f32" ): StridedVec | undefined { const buf = this.pool.callocAs(asNativeType(type), size * stride); return buf ? wrap(buf, size, 0, stride) : undefined; @@ -64,7 +60,7 @@ export class VecPool implements IVecPool { size: number, cstride = 1, estride = size, - type: GLType | Type = Type.F32 + type: GLType | Type = "f32" ): StridedVec[] | undefined { const buf = this.malloc( Math.max(cstride, estride, size) * num, diff --git a/packages/vector-pools/src/wrap.ts b/packages/vector-pools/src/wrap.ts index fa36d4624b..a29f80b528 100644 --- a/packages/vector-pools/src/wrap.ts +++ b/packages/vector-pools/src/wrap.ts @@ -1,7 +1,8 @@ -import { gvec, IVector, Vec, Vec2, Vec3, Vec4 } from "@thi.ng/vectors"; +import type { NumericArray } from "@thi.ng/api"; +import { gvec, IVector, Vec2, Vec3, Vec4 } from "@thi.ng/vectors"; export const wrap = ( - buf: Vec, + buf: NumericArray, size: number, idx: number, stride: number diff --git a/packages/vector-pools/test/attribs.ts b/packages/vector-pools/test/attribs.ts index 975de57993..9fa67981f8 100644 --- a/packages/vector-pools/test/attribs.ts +++ b/packages/vector-pools/test/attribs.ts @@ -1,4 +1,3 @@ -import { Type } from "@thi.ng/api"; import { equiv } from "@thi.ng/equiv"; import * as assert from "assert"; import { AttribPool } from "../src/attrib-pool"; @@ -10,7 +9,7 @@ describe("vector-pools", () => { num: 8, attribs: { pos: { - type: Type.F32, + type: "f32", size: 2, // 8 bytes byteOffset: 0, data: [ @@ -19,20 +18,20 @@ describe("vector-pools", () => { ], }, id: { - type: Type.U32, + type: "u32", size: 1, // 4 bytes byteOffset: 8, data: [1, 2], index: 4, }, index: { - type: Type.U16, + type: "u16", size: 1, // 2 bytes byteOffset: 12, data: [10, 20], }, col: { - type: Type.U8, + type: "u8", size: 4, // 4 bytes byteOffset: 14, data: [ diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index bfd3c45fe6..c8726d2a6a 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,25 +3,40 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.8.4...@thi.ng/vectors@4.8.5) (2021-01-10) +# [5.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.9.1...@thi.ng/vectors@5.0.0) (2021-02-20) -**Note:** Version bump only for package @thi.ng/vectors +### Code Refactoring + +* **vectors:** update mem mapped type handling ([4a6e9b1](https://github.com/thi-ng/umbrella/commit/4a6e9b16a1c871d305d99eeb53e9efeab4b78209)) +### Features + +* **vectors:** add weightedDistance HOF ([8500a79](https://github.com/thi-ng/umbrella/commit/8500a7938467339810362cc0d91555778218231d)) + + +### BREAKING CHANGES +* **vectors:** buffer mapping fns use new type string consts -## [4.8.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.8.3...@thi.ng/vectors@4.8.4) (2021-01-02) +- part of umbrella-wide changes to thi.ng/api Type aliases (see a333d4182) -**Note:** Version bump only for package @thi.ng/vectors +# [4.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.8.6...@thi.ng/vectors@4.9.0) (2021-01-21) -## [4.8.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.8.2...@thi.ng/vectors@4.8.3) (2020-12-22) -**Note:** Version bump only for package @thi.ng/vectors +### Bug Fixes + +* **vectors:** add explicit return types (zeroes/ones()) ([fc2f662](https://github.com/thi-ng/umbrella/commit/fc2f6623033b5caf1d8a25bf174d51a8db8b1a91)) + + +### Features + +* **vectors:** add dist2/3 ([eb334fa](https://github.com/thi-ng/umbrella/commit/eb334fa764dc3d7093b1c64afb1fbdb1b1053831)) diff --git a/packages/vectors/README.md b/packages/vectors/README.md index a43c3f1a1c..636eb0c3e1 100644 --- a/packages/vectors/README.md +++ b/packages/vectors/README.md @@ -130,12 +130,14 @@ Partially ported from [thi.ng/geom-clj](http://thi.ng/geom-clj) (Clojure) and ### Related packages -- [@thi.ng/color](https://github.com/thi-ng/umbrella/tree/develop/packages/color) - Array-based color types, conversions, transformations, declarative theme generation, multi-color gradients, presets +- [@thi.ng/color](https://github.com/thi-ng/umbrella/tree/develop/packages/color) - Array-based color types, CSS parsing, conversions, transformations, declarative theme generation, gradients, presets +- [@thi.ng/distance](https://github.com/thi-ng/umbrella/tree/develop/packages/distance) - N-dimensional distance metrics & K-nearest neighborhoods for point queries - [@thi.ng/ecs](https://github.com/thi-ng/umbrella/tree/develop/packages/ecs) - Entity Component System based around typed arrays & sparse sets - [@thi.ng/geom](https://github.com/thi-ng/umbrella/tree/develop/packages/geom) - Functional, polymorphic API for 2D geometry types & SVG generation - [@thi.ng/hdom-canvas](https://github.com/thi-ng/umbrella/tree/develop/packages/hdom-canvas) - [@thi.ng/hdom](https://github.com/thi-ng/umbrella/tree/develop/packages/hdom) component wrapper for declarative canvas scenegraphs - [@thi.ng/imgui](https://github.com/thi-ng/umbrella/tree/develop/packages/imgui) - Immediate mode GUI with flexible state handling & data only shape output - [@thi.ng/matrices](https://github.com/thi-ng/umbrella/tree/develop/packages/matrices) - Matrix & quaternion operations for 2D/3D geometry processing +- [@thi.ng/simd](https://github.com/thi-ng/umbrella/tree/develop/packages/simd) - WASM based SIMD vector operations for batch processing - [@thi.ng/soa](https://github.com/thi-ng/umbrella/tree/develop/packages/soa) - SOA & AOS memory mapped structured views with optional & extensible serialization - [@thi.ng/shader-ast-js](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast-js) - Customizable JS codegen, compiler & runtime for [@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) - [@thi.ng/vector-pools](https://github.com/thi-ng/umbrella/tree/develop/packages/vector-pools) - Data structures for managing & working with strided, memory mapped vectors @@ -155,7 +157,7 @@ yarn add @thi.ng/vectors ``` -Package sizes (gzipped, pre-treeshake): ESM: 11.31 KB / CJS: 14.23 KB / UMD: 12.56 KB +Package sizes (gzipped, pre-treeshake): ESM: 11.34 KB / CJS: 14.29 KB / UMD: 12.59 KB ## Dependencies diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 8e39805523..f51444f45b 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "4.8.5", + "version": "5.0.0", "description": "Optimized 2d/3d/4d and arbitrary length vector operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,22 +42,22 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/binary": "^2.0.21", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/math": "^3.1.0", - "@thi.ng/memoize": "^2.1.8", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/binary": "^2.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/math": "^3.2.0", + "@thi.ng/memoize": "^2.1.9", + "@thi.ng/random": "^2.3.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", @@ -105,7 +105,7 @@ "smoothstep", "step", "typescript", - "value-semantics", + "vector", "wasm", "webgl" ], @@ -120,11 +120,13 @@ "thi.ng": { "related": [ "color", + "distance", "ecs", "geom", "hdom-canvas", "imgui", "matrices", + "simd", "soa", "shader-ast-js", "vector-pools", diff --git a/packages/vectors/src/api.ts b/packages/vectors/src/api.ts index b6966dabfe..24ba28ca84 100644 --- a/packages/vectors/src/api.ts +++ b/packages/vectors/src/api.ts @@ -6,10 +6,12 @@ import type { Fn4, Fn6, Fn7, + FnU2, ICopy, IEmpty, IEqualsDelta, ILength, + NumericArray, Tuple, TypedArray, } from "@thi.ng/api"; @@ -33,7 +35,7 @@ export type BVec3Like = Tuple; export type BVec4Like = Tuple; export interface StridedVec { - buf: Vec; + buf: NumericArray; offset: number; stride: number; } @@ -51,7 +53,7 @@ export interface ICopyView { } export interface VectorConstructor { - new (buf: Vec, offset?: number, stride?: number): T; + new (buf: NumericArray, offset?: number, stride?: number): T; } export interface MultiVecOp { @@ -120,7 +122,7 @@ export type VecOpOOO = (out: Vec | null, a?: A, b?: B, c?: C) => Vec; export type VecOpNNO = (out: Vec | null, a: number, b: number, c?: T) => Vec; export type VecOpRoV = Fn; -export type VecOpRoVV = Fn2; +export type VecOpRoVV = FnU2; export type VecOpRoVVO = (a: ReadonlyVec, b: ReadonlyVec, c?: O) => T; export type VecOpSV = ( @@ -274,6 +276,8 @@ export type MultiFromBVecOpV = MultiVecOpImpl; export type CompareOp = Fn3; export type MultiCompareOp = MultiVecOpImpl; +export type DistanceFn = VecOpRoVV; + const mi = -Infinity; const mx = Infinity; diff --git a/packages/vectors/src/buffer.ts b/packages/vectors/src/buffer.ts index 21f50788fe..b3302b4342 100644 --- a/packages/vectors/src/buffer.ts +++ b/packages/vectors/src/buffer.ts @@ -1,8 +1,8 @@ import { + NumericArray, SIZEOF, Type, typedArray, - TYPEDARRAY_CTORS, TypedArrayTypeMap, } from "@thi.ng/api"; import type { ReadonlyVec, Vec, VecOpSV, VectorConstructor } from "./api"; @@ -14,11 +14,11 @@ import type { ReadonlyVec, Vec, VecOpSV, VectorConstructor } from "./api"; * and `byteStride` the number of bytes between resulting vectors * (defaults to `size * SIZEOF[type]`). It's user's responsibility to * ensure these two values are compatible with the chosen array type - * (i.e. for `Type.F32`, these MUST be multiples of 4). + * (i.e. for `"f32"`, these MUST be multiples of 4). * * @example * ```ts - * mapBuffer(Type.F32, new ArrayBuffer(32), 4, 2) + * mapBuffer("f32", new ArrayBuffer(32), 4, 2) * // [ * // Float32Array [ 0, 0 ], * // Float32Array [ 0, 0 ], @@ -43,9 +43,8 @@ export const mapBuffer = ( byteStride = size * SIZEOF[type] ) => { const res: TypedArrayTypeMap[T][] = []; - const ctor = TYPEDARRAY_CTORS[type]; for (; --num >= 0; byteOffset += byteStride) { - res.push(new ctor(buf, byteOffset, size)); + res.push(typedArray(type, buf, byteOffset, size)); } return res; }; @@ -81,7 +80,7 @@ export const intoBuffer = ( export const mapStridedBuffer = ( ctor: VectorConstructor, - buf: Vec, + buf: NumericArray, num: number, start: number, cstride: number, @@ -97,7 +96,7 @@ export const mapStridedBuffer = ( export const intoStridedBuffer = ( set: VecOpSV, - buf: Vec, + buf: NumericArray, src: Iterable, start: number, cstride: number, diff --git a/packages/vectors/src/dist-weighted.ts b/packages/vectors/src/dist-weighted.ts new file mode 100644 index 0000000000..c0f7879a10 --- /dev/null +++ b/packages/vectors/src/dist-weighted.ts @@ -0,0 +1,29 @@ +import type { DistanceFn, ReadonlyVec } from "./api"; +import { mul } from "./mul"; + +/** + * Higher order distance function. Takes an existing {@link DistanceFn} `fn` and + * a vector of `weights` to control impact of each dimension. Returns new + * {@link DistanceFn}, which when called, first applies `weights` to both inputs + * and then uses `fn` to compute distance between the weighted results. + * + * @example + * ```ts + * const distXZ = weightedDistance(dist3, [1,0,1]); + * + * // distance in XZ plane only + * distXZ(ONE3, ZERO3); + * // 1.4142135623730951 + * + * // compare with full eucledian distance + * dist3(ONE3, ZERO3); + * // 1.7320508075688772 + * ``` + * + * @param fn + * @param weights + */ +export const weightedDistance = ( + fn: DistanceFn, + weights: ReadonlyVec +): DistanceFn => (a, b) => fn(mul([], a, weights), mul([], b, weights)); diff --git a/packages/vectors/src/dist.ts b/packages/vectors/src/dist.ts index 91230b0cf5..ea6e838aa8 100644 --- a/packages/vectors/src/dist.ts +++ b/packages/vectors/src/dist.ts @@ -1,6 +1,10 @@ -import type { FnU2 } from "@thi.ng/api"; -import type { ReadonlyVec } from "./api"; -import { distSq } from "./distsq"; +import type { DistanceFn } from "./api"; +import { distSq, distSq2, distSq3, distSq4 } from "./distsq"; -export const dist: FnU2 = (a, b) => - Math.sqrt(distSq(a, b)); +export const dist: DistanceFn = (a, b) => Math.sqrt(distSq(a, b)); + +export const dist2: DistanceFn = (a, b) => Math.sqrt(distSq2(a, b)); + +export const dist3: DistanceFn = (a, b) => Math.sqrt(distSq3(a, b)); + +export const dist4: DistanceFn = (a, b) => Math.sqrt(distSq4(a, b)); diff --git a/packages/vectors/src/gvec.ts b/packages/vectors/src/gvec.ts index cf37359b5b..3715b41489 100644 --- a/packages/vectors/src/gvec.ts +++ b/packages/vectors/src/gvec.ts @@ -1,7 +1,8 @@ +import type { NumericArray } from "@thi.ng/api"; import { EPS } from "@thi.ng/math"; import { memoize1 } from "@thi.ng/memoize"; import { map, range } from "@thi.ng/transducers"; -import type { IVector, Vec } from "./api"; +import type { IVector } from "./api"; import { eqDeltaS } from "./eqdelta"; import { stridedValues } from "./internal/vec-utils"; import { zeroes } from "./setn"; @@ -102,7 +103,7 @@ const keys = memoize1((size: number) => [ * @param stride - component stride */ export const gvec = ( - buf: Vec, + buf: NumericArray, size: number, offset = 0, stride = 1 diff --git a/packages/vectors/src/index.ts b/packages/vectors/src/index.ts index 337636c9ac..6061348c08 100644 --- a/packages/vectors/src/index.ts +++ b/packages/vectors/src/index.ts @@ -48,6 +48,7 @@ export * from "./direction"; export * from "./dist"; export * from "./dist-chebyshev"; export * from "./dist-manhattan"; +export * from "./dist-weighted"; export * from "./distsq"; export * from "./div"; export * from "./divi"; diff --git a/packages/vectors/src/internal/avec.ts b/packages/vectors/src/internal/avec.ts index 760e9a1799..6fbf47eb3b 100644 --- a/packages/vectors/src/internal/avec.ts +++ b/packages/vectors/src/internal/avec.ts @@ -1,11 +1,12 @@ -import type { StridedVec, Vec } from "../api"; +import type { NumericArray } from "@thi.ng/api"; +import type { StridedVec } from "../api"; export abstract class AVec implements StridedVec { - buf: Vec; + buf: NumericArray; offset: number; stride: number; - constructor(buf: Vec, offset = 0, stride = 1) { + constructor(buf: NumericArray, offset = 0, stride = 1) { this.buf = buf; this.offset = offset; this.stride = stride; diff --git a/packages/vectors/src/internal/vec-utils.ts b/packages/vectors/src/internal/vec-utils.ts index 30bafa1b58..fe97bb885b 100644 --- a/packages/vectors/src/internal/vec-utils.ts +++ b/packages/vectors/src/internal/vec-utils.ts @@ -1,8 +1,9 @@ -import type { Vec, VectorConstructor } from "../api"; +import type { NumericArray } from "@thi.ng/api"; +import type { VectorConstructor } from "../api"; export function* vecIterator( ctor: VectorConstructor, - buf: Vec, + buf: NumericArray, num: number, start: number, cstride: number, @@ -15,7 +16,7 @@ export function* vecIterator( } export function* stridedValues( - buf: Vec, + buf: NumericArray, num: number, start: number, stride: number diff --git a/packages/vectors/src/setn.ts b/packages/vectors/src/setn.ts index 6415b035bc..554be99696 100644 --- a/packages/vectors/src/setn.ts +++ b/packages/vectors/src/setn.ts @@ -14,5 +14,5 @@ export const [setN, setN2, setN3, setN4] = defOp( export const zero = (a: Vec) => setN(a, 0); export const one = (a: Vec) => setN(a, 1); -export const zeroes = (n: number) => new Array(n).fill(0); -export const ones = (n: number) => new Array(n).fill(1); +export const zeroes = (n: number): Vec => new Array(n).fill(0); +export const ones = (n: number): Vec => new Array(n).fill(1); diff --git a/packages/vectors/src/vec2.ts b/packages/vectors/src/vec2.ts index ea1c0bb12f..e9b785e09c 100644 --- a/packages/vectors/src/vec2.ts +++ b/packages/vectors/src/vec2.ts @@ -1,4 +1,4 @@ -import type { IHash } from "@thi.ng/api"; +import type { IHash, NumericArray } from "@thi.ng/api"; import { EPS } from "@thi.ng/math"; import { IVector, @@ -35,7 +35,7 @@ export class Vec2 extends AVec implements IHash, IVector { * @param estride - element stride */ static mapBuffer( - buf: Vec, + buf: NumericArray, num: number = buf.length >> 1, start = 0, cstride = 1, @@ -59,7 +59,7 @@ export class Vec2 extends AVec implements IHash, IVector { * @param estride - */ static intoBuffer( - buf: Vec, + buf: NumericArray, src: Iterable, start = 0, cstride = 1, @@ -69,7 +69,7 @@ export class Vec2 extends AVec implements IHash, IVector { } static iterator( - buf: Vec, + buf: NumericArray, num: number, start = 0, cstride = 1, @@ -78,18 +78,18 @@ export class Vec2 extends AVec implements IHash, IVector { return vecIterator(Vec2, buf, num, start, cstride, estride); } - static readonly X_AXIS = new Vec2(X2); - static readonly Y_AXIS = new Vec2(Y2); - static readonly MIN = new Vec2(MIN2); - static readonly MAX = new Vec2(MAX2); - static readonly ZERO = new Vec2(ZERO2); - static readonly ONE = new Vec2(ONE2); + static readonly X_AXIS = new Vec2(X2); + static readonly Y_AXIS = new Vec2(Y2); + static readonly MIN = new Vec2(MIN2); + static readonly MAX = new Vec2(MAX2); + static readonly ZERO = new Vec2(ZERO2); + static readonly ONE = new Vec2(ONE2); x!: number; y!: number; [id: number]: number; - constructor(buf?: Vec, offset = 0, stride = 1) { + constructor(buf?: NumericArray, offset = 0, stride = 1) { super(buf || [0, 0], offset, stride); } @@ -139,4 +139,4 @@ export const vec2n = (n: number) => new Vec2([n, n]); export const asVec2 = (x: Vec) => x instanceof Vec2 ? x - : new Vec2(x.length >= 2 ? x : [x[0] || 0, x[1] || 0]); + : new Vec2(x.length >= 2 ? x : [x[0] || 0, x[1] || 0]); diff --git a/packages/vectors/src/vec3.ts b/packages/vectors/src/vec3.ts index f6c18c7dc5..fefd28106a 100644 --- a/packages/vectors/src/vec3.ts +++ b/packages/vectors/src/vec3.ts @@ -1,4 +1,4 @@ -import type { IHash } from "@thi.ng/api"; +import type { IHash, NumericArray } from "@thi.ng/api"; import { EPS } from "@thi.ng/math"; import { IVector, @@ -36,7 +36,7 @@ export class Vec3 extends AVec implements IHash, IVector { * @param estride - element stride */ static mapBuffer( - buf: Vec, + buf: NumericArray, num: number = (buf.length / 3) | 0, start = 0, cstride = 1, @@ -60,7 +60,7 @@ export class Vec3 extends AVec implements IHash, IVector { * @param estride - */ static intoBuffer( - buf: Vec, + buf: NumericArray, src: Iterable, start = 0, cstride = 1, @@ -70,7 +70,7 @@ export class Vec3 extends AVec implements IHash, IVector { } static iterator( - buf: Vec, + buf: NumericArray, num: number, start = 0, cstride = 1, @@ -79,20 +79,20 @@ export class Vec3 extends AVec implements IHash, IVector { return vecIterator(Vec3, buf, num, start, cstride, estride); } - static readonly X_AXIS = new Vec3(X3); - static readonly Y_AXIS = new Vec3(Y3); - static readonly Z_AXIS = new Vec3(Z3); - static readonly MIN = new Vec3(MIN3); - static readonly MAX = new Vec3(MAX3); - static readonly ZERO = new Vec3(ZERO3); - static readonly ONE = new Vec3(ONE3); + static readonly X_AXIS = new Vec3(X3); + static readonly Y_AXIS = new Vec3(Y3); + static readonly Z_AXIS = new Vec3(Z3); + static readonly MIN = new Vec3(MIN3); + static readonly MAX = new Vec3(MAX3); + static readonly ZERO = new Vec3(ZERO3); + static readonly ONE = new Vec3(ONE3); x!: number; y!: number; z!: number; [id: number]: number; - constructor(buf?: Vec, offset = 0, stride = 1) { + constructor(buf?: NumericArray, offset = 0, stride = 1) { super(buf || [0, 0, 0], offset, stride); } @@ -142,4 +142,8 @@ export const vec3n = (n: number) => new Vec3([n, n, n]); export const asVec3 = (x: Vec) => x instanceof Vec3 ? x - : new Vec3(x.length >= 3 ? x : [x[0] || 0, x[1] || 0, x[2] || 0]); + : new Vec3( + x.length >= 3 + ? x + : [x[0] || 0, x[1] || 0, x[2] || 0] + ); diff --git a/packages/vectors/src/vec4.ts b/packages/vectors/src/vec4.ts index d34be303ba..9d7ea6cd1c 100644 --- a/packages/vectors/src/vec4.ts +++ b/packages/vectors/src/vec4.ts @@ -1,4 +1,4 @@ -import type { IHash } from "@thi.ng/api"; +import type { IHash, NumericArray } from "@thi.ng/api"; import { EPS } from "@thi.ng/math"; import { IVector, @@ -36,7 +36,7 @@ export class Vec4 extends AVec implements IHash, IVector { * @param estride - element stride */ static mapBuffer( - buf: Vec, + buf: NumericArray, num: number = buf.length >> 2, start = 0, cstride = 1, @@ -60,7 +60,7 @@ export class Vec4 extends AVec implements IHash, IVector { * @param estride - */ static intoBuffer( - buf: Vec, + buf: NumericArray, src: Iterable, start = 0, cstride = 1, @@ -70,7 +70,7 @@ export class Vec4 extends AVec implements IHash, IVector { } static *iterator( - buf: Vec, + buf: NumericArray, num: number, start = 0, cstride = 1, @@ -79,13 +79,13 @@ export class Vec4 extends AVec implements IHash, IVector { return vecIterator(Vec4, buf, num, start, cstride, estride); } - static readonly X_AXIS = new Vec4(X4); - static readonly Y_AXIS = new Vec4(Y4); - static readonly Z_AXIS = new Vec4(Z4); - static readonly MIN = new Vec4(MIN4); - static readonly MAX = new Vec4(MAX4); - static readonly ZERO = new Vec4(ZERO4); - static readonly ONE = new Vec4(ONE4); + static readonly X_AXIS = new Vec4(X4); + static readonly Y_AXIS = new Vec4(Y4); + static readonly Z_AXIS = new Vec4(Z4); + static readonly MIN = new Vec4(MIN4); + static readonly MAX = new Vec4(MAX4); + static readonly ZERO = new Vec4(ZERO4); + static readonly ONE = new Vec4(ONE4); x!: number; y!: number; @@ -93,7 +93,7 @@ export class Vec4 extends AVec implements IHash, IVector { w!: number; [id: number]: number; - constructor(buf?: Vec, offset = 0, stride = 1) { + constructor(buf?: NumericArray, offset = 0, stride = 1) { super(buf || [0, 0, 0, 0], offset, stride); } @@ -144,5 +144,7 @@ export const asVec4 = (x: Vec) => x instanceof Vec4 ? x : new Vec4( - x.length >= 4 ? x : [x[0] || 0, x[1] || 0, x[2] || 0, x[3] || 0] + x.length >= 4 + ? x + : [x[0] || 0, x[1] || 0, x[2] || 0, x[3] || 0] ); diff --git a/packages/viz/CHANGELOG.md b/packages/viz/CHANGELOG.md index 26e9f38b50..03a3aced0f 100644 --- a/packages/viz/CHANGELOG.md +++ b/packages/viz/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.5...@thi.ng/viz@0.2.6) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.4...@thi.ng/viz@0.2.5) (2021-01-05) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.3...@thi.ng/viz@0.2.4) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.2...@thi.ng/viz@0.2.3) (2020-12-22) +## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.9...@thi.ng/viz@0.2.10) (2021-02-20) **Note:** Version bump only for package @thi.ng/viz diff --git a/packages/viz/package.json b/packages/viz/package.json index d97d2d021c..49064c7b29 100644 --- a/packages/viz/package.json +++ b/packages/viz/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/viz", - "version": "0.2.6", + "version": "0.2.10", "description": "Declarative, functional & multi-format data visualization toolkit based around @thi.ng/hiccup", "module": "./index.js", "main": "./lib/index.js", @@ -46,23 +46,23 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/date": "^0.2.5", + "@thi.ng/date": "^0.2.6", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/math": "^3.1.0", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/math": "^3.2.0", + "@thi.ng/strings": "^1.15.0", + "@thi.ng/transducers": "^7.6.0" }, "files": [ "*.js", diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index bec1a91a50..3bd05164ea 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.67...@thi.ng/webgl-msdf@0.1.68) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.66...@thi.ng/webgl-msdf@0.1.67) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.65...@thi.ng/webgl-msdf@0.1.66) (2020-12-22) +## [0.1.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.72...@thi.ng/webgl-msdf@0.1.73) (2021-02-20) **Note:** Version bump only for package @thi.ng/webgl-msdf diff --git a/packages/webgl-msdf/README.md b/packages/webgl-msdf/README.md index b7af59ede2..da08e8bb98 100644 --- a/packages/webgl-msdf/README.md +++ b/packages/webgl-msdf/README.md @@ -55,7 +55,7 @@ yarn add @thi.ng/webgl-msdf ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.48 KB / CJS: 1.53 KB / UMD: 1.59 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.48 KB / CJS: 1.52 KB / UMD: 1.58 KB ## Dependencies diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index 09985df1e5..d53a03db6f 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-msdf", - "version": "0.1.68", + "version": "0.1.73", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vector-pools": "^1.0.54", - "@thi.ng/vectors": "^4.8.5", - "@thi.ng/webgl": "^3.3.11" + "@thi.ng/api": "^7.0.0", + "@thi.ng/shader-ast": "^0.7.13", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vector-pools": "^2.0.0", + "@thi.ng/vectors": "^5.0.0", + "@thi.ng/webgl": "^4.0.0" }, "files": [ "*.js", diff --git a/packages/webgl-msdf/src/text.ts b/packages/webgl-msdf/src/text.ts index 525f3b26c2..19f3b3f8ac 100644 --- a/packages/webgl-msdf/src/text.ts +++ b/packages/webgl-msdf/src/text.ts @@ -1,7 +1,6 @@ -import { GLType } from "@thi.ng/api"; import { add, map, mapcat, range, transduce } from "@thi.ng/transducers"; import { AttribPool } from "@thi.ng/vector-pools"; -import { add2, div2, madd2, mul2, ONE4 } from "@thi.ng/vectors"; +import { addm2, invert2, madd2, mul2, ONE4 } from "@thi.ng/vectors"; import type { GLVec4, ModelSpec } from "@thi.ng/webgl"; import type { MSDFFont, TextAlign, TextOpts } from "./api"; @@ -24,12 +23,12 @@ export const text = ( const len = txt.replace("\n", "").length; const attribs = new AttribPool({ attribs: { - position: { type: GLType.F32, size: 3, byteOffset: 0 }, - uv: { type: GLType.F32, size: 2, byteOffset: 12 }, + position: { type: "f32", size: 3, byteOffset: 0 }, + uv: { type: "f32", size: 2, byteOffset: 12 }, ...(opts.useColor ? { color: { - type: GLType.F32, + type: "f32", default: opts.color, size: 4, byteOffset: 20, @@ -43,13 +42,14 @@ export const text = ( }, }); const lines = txt.split("\n"); + const invSize = invert2([], glyphs.size); for (let i = 0, yy = 0, id = 0; i < lines.length; i++) { const line = lines[i]; let xx = opts.align!(glyphs, opts, line); for (let j = 0; j < line.length; j++, id++) { - const g = glyphs.chars[line[j]]; - const [sx, sy] = mul2([], g.size, dir); - const [x, y] = madd2([], g.offset, dir, [xx, yy]); + const { pos, size, offset, step } = glyphs.chars[line[j]]; + const [sx, sy] = mul2([], size, dir); + const [x, y] = madd2([], offset, dir, [xx, yy]); attribs.setAttribValues( "position", [ @@ -63,14 +63,14 @@ export const text = ( attribs.setAttribValues( "uv", [ - div2([], g.pos, glyphs.size), - div2([], [g.pos[0] + g.size[0], g.pos[1]], glyphs.size), - div2([], add2([], g.pos, g.size), glyphs.size), - div2([], [g.pos[0], g.pos[1] + g.size[1]], glyphs.size), + mul2([], pos, invSize), + mul2([], [pos[0] + size[0], pos[1]], invSize), + addm2([], pos, size, invSize), + mul2([], [pos[0], pos[1] + size[1]], invSize), ], id * 4 ); - xx += g.step * opts.dirX! * opts.spacing!; + xx += step * opts.dirX! * opts.spacing!; } yy += lineHeight; } diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index 1b4420a36f..a26d7f996e 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.54...@thi.ng/webgl-shadertoy@0.2.55) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.53...@thi.ng/webgl-shadertoy@0.2.54) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.52...@thi.ng/webgl-shadertoy@0.2.53) (2020-12-22) +## [0.2.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.59...@thi.ng/webgl-shadertoy@0.2.60) (2021-02-20) **Note:** Version bump only for package @thi.ng/webgl-shadertoy diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index 9c59fbc0b8..43b2011068 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-shadertoy", - "version": "0.2.55", + "version": "0.2.60", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/shader-ast-glsl": "^0.2.17", - "@thi.ng/webgl": "^3.3.11" + "@thi.ng/api": "^7.0.0", + "@thi.ng/shader-ast": "^0.7.13", + "@thi.ng/shader-ast-glsl": "^0.2.21", + "@thi.ng/webgl": "^4.0.0" }, "files": [ "*.js", diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index 3994e560ba..7dfac5a271 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,25 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.3.10...@thi.ng/webgl@3.3.11) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/webgl - - +# [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.3.15...@thi.ng/webgl@4.0.0) (2021-02-20) +### Bug Fixes -## [3.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.3.9...@thi.ng/webgl@3.3.10) (2021-01-02) +* **webgl:** update compileAttribPool() ([6b5dd8e](https://github.com/thi-ng/umbrella/commit/6b5dd8e0c5167ac44a7d0358ccd106b7899fbccf)) -**Note:** Version bump only for package @thi.ng/webgl +### Code Refactoring +* **webgl:** update attrib type handling ([542850b](https://github.com/thi-ng/umbrella/commit/542850bc0f9c93abe8634f9d899e391905ff93ec)) +### BREAKING CHANGES -## [3.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.3.8...@thi.ng/webgl@3.3.9) (2020-12-22) +* **webgl:** attrib buffer data type use string consts -**Note:** Version bump only for package @thi.ng/webgl +- part of unified umbrella-wide changes to thi.ng/api Type alias + (see a333d4182) diff --git a/packages/webgl/README.md b/packages/webgl/README.md index 08e782245d..40655f25fd 100644 --- a/packages/webgl/README.md +++ b/packages/webgl/README.md @@ -91,7 +91,7 @@ yarn add @thi.ng/webgl ``` -Package sizes (gzipped, pre-treeshake): ESM: 11.58 KB / CJS: 11.76 KB / UMD: 11.60 KB +Package sizes (gzipped, pre-treeshake): ESM: 11.79 KB / CJS: 12.00 KB / UMD: 11.79 KB ## Dependencies diff --git a/packages/webgl/package.json b/packages/webgl/package.json index d4369eafd3..ee14119464 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "3.3.11", + "version": "4.0.0", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -42,28 +42,28 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.13", - "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/checks": "^2.8.0", - "@thi.ng/equiv": "^1.0.35", - "@thi.ng/errors": "^1.2.26", - "@thi.ng/matrices": "^0.6.40", - "@thi.ng/memoize": "^2.1.8", - "@thi.ng/pixel": "^0.5.1", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/shader-ast-glsl": "^0.2.17", - "@thi.ng/shader-ast-stdlib": "^0.5.9", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vector-pools": "^1.0.54", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/adapt-dpi": "^1.0.14", + "@thi.ng/api": "^7.0.0", + "@thi.ng/associative": "^5.1.0", + "@thi.ng/checks": "^2.9.0", + "@thi.ng/equiv": "^1.0.36", + "@thi.ng/errors": "^1.2.27", + "@thi.ng/matrices": "^0.6.44", + "@thi.ng/memoize": "^2.1.9", + "@thi.ng/pixel": "^0.6.1", + "@thi.ng/shader-ast": "^0.7.13", + "@thi.ng/shader-ast-glsl": "^0.2.21", + "@thi.ng/shader-ast-stdlib": "^0.5.13", + "@thi.ng/transducers": "^7.6.0", + "@thi.ng/vector-pools": "^2.0.0", + "@thi.ng/vectors": "^5.0.0" }, "files": [ "*.js", @@ -83,6 +83,7 @@ "canvas", "datastructure", "declarative", + "glsl", "gpgpu", "graphics", "shader", diff --git a/packages/webgl/src/api/model.ts b/packages/webgl/src/api/model.ts index 61655312d1..e691d653bc 100644 --- a/packages/webgl/src/api/model.ts +++ b/packages/webgl/src/api/model.ts @@ -1,4 +1,4 @@ -import type { IObjectOf } from "@thi.ng/api"; +import type { GLType, IObjectOf, Type } from "@thi.ng/api"; import type { AttribPool } from "@thi.ng/vector-pools"; import type { IndexBufferSpec, IWebGLBuffer } from "./buffers"; import type { AttribBufferData, IShader, UniformValues } from "./shader"; @@ -95,7 +95,7 @@ export interface ModelAttributeSpec { * Attribute's WebGL data type. * Default: gl.FLOAT */ - type?: GLenum; + type?: Type | GLType; /** * Only used for instanced attributes. * See: {@link https://www.khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_instanced_arrays.txt} diff --git a/packages/webgl/src/buffer.ts b/packages/webgl/src/buffer.ts index 358536a67e..d912f9b064 100644 --- a/packages/webgl/src/buffer.ts +++ b/packages/webgl/src/buffer.ts @@ -1,4 +1,4 @@ -import type { TypedArray } from "@thi.ng/api"; +import { asGLType, TypedArray } from "@thi.ng/api"; import type { AttribPool } from "@thi.ng/vector-pools"; import type { IndexBufferSpec, IWebGLBuffer } from "./api/buffers"; import { @@ -168,7 +168,7 @@ export const compileAttribPool = ( spec[id] = { buffer: buf, size: attr.size, - type: attr.type, + type: asGLType(attr.type), stride: pool.byteStride, offset: attr.byteOffset, }; diff --git a/packages/webgl/src/multipass.ts b/packages/webgl/src/multipass.ts index d423ba9378..bba78e7800 100644 --- a/packages/webgl/src/multipass.ts +++ b/packages/webgl/src/multipass.ts @@ -19,103 +19,25 @@ import { defTexture } from "./texture"; export const defMultiPass = (opts: MultipassOpts) => { const gl = opts.gl; - const isGL2 = isGL2Context(gl); const numPasses = opts.passes.length; assert(numPasses > 0, "require at least one shader pass"); - const initShader = (pass: PassOpts) => { - const numIns = pass.inputs.length; - const numOuts = pass.outputs.length; - const ext: ExtensionBehaviors = {}; - const spec: ShaderSpec = { - vs: pass.vs || PASSTHROUGH_VS, - fs: pass.fs, - attribs: pass.attribs || { - position: "vec2", - }, - varying: pass.varying, - uniforms: { - ...pass.uniforms, - ...(numIns - ? { - inputs: ["sampler2D[]", numIns, [...range(numIns)]], - } - : null), - }, - outputs: numOuts - ? transduce( - map((i) => [ - `output${i}`, - ["vec4", i], - ]), - assocObj(), - range(numOuts) - ) - : undefined, - state: pass.state, - pre: pass.pre, - post: pass.post, - replacePrelude: pass.replacePrelude, - generateDecls: pass.generateDecls, - ext, - }; - const floatIn = some((id) => isFloatTexture(textures[id]), pass.inputs); - const floatOut = some( - (id) => isFloatTexture(textures[id]), - pass.outputs - ); - if (!isGL2) { - floatIn && (ext.OES_texture_float = "require"); - numOuts > 1 && (ext.WEBGL_draw_buffers = "require"); - } - if (floatOut) { - ext[isGL2 ? "EXT_color_buffer_float" : "WEBGL_color_buffer_float"] = - "require"; - } - return defShader(gl, spec); - }; - - const textures = Object.keys(opts.textures).reduce((acc, id) => { - acc[id] = defTexture(gl, { - width: opts.width, - height: opts.height, - filter: gl.NEAREST, - wrap: gl.CLAMP_TO_EDGE, - image: null, - ...opts.textures[id], - }); - return acc; - }, >{}); - - const model = compileModel(gl, defQuadModel({ uv: false })); - const models = opts.passes.map((pass) => { - const m = pass.model ? compileModel(gl, pass.model) : { ...model }; - m.shader = initShader(pass); - m.uniforms = { ...pass.uniformVals }; - pass.inputs.length > 0 && - (m.textures = pass.inputs.map((id) => textures[id])); - return m; - }); - const useMainBuffer = !opts.passes[numPasses - 1].outputs.length; - const fbos = (useMainBuffer - ? opts.passes.slice(0, numPasses - 1) - : opts.passes - ).map((pass) => - defFBO(gl, { tex: pass.outputs.map((id) => textures[id]) }) - ); + const textures = initTextures(opts); + const passes = initPasses(opts, textures); + const fbos = initBuffers(opts, textures, useMainBuffer); const drawPass = (i: number, time: number) => { - const pass = opts.passes[i]; - const model = models[i]; - const shader = model.shader; - const size = pass.outputs.length - ? textures[pass.outputs[0]].size + const spec = opts.passes[i]; + const pass = passes[i]; + const shader = pass.shader; + const size = spec.outputs.length + ? textures[spec.outputs[0]].size : [gl.drawingBufferWidth, gl.drawingBufferHeight]; - shader.uniforms.resolution && (model.uniforms!.resolution = size); - shader.uniforms.time && (model.uniforms!.time = time); + shader.uniforms.resolution && (pass.uniforms!.resolution = size); + shader.uniforms.time && (pass.uniforms!.time = time); gl.viewport(0, 0, size[0], size[1]); - draw(model); + draw(pass); }; const update = (time: number) => { @@ -153,9 +75,101 @@ export const defMultiPass = (opts: MultipassOpts) => { }, passes: opts.passes, fbos, - models, + models: passes, textures, }; return instance; }; + +const initPasses = (opts: MultipassOpts, textures: IObjectOf) => { + const gl = opts.gl; + const model = compileModel(gl, defQuadModel({ uv: false })); + return opts.passes.map((pass) => { + const m = pass.model ? compileModel(gl, pass.model) : { ...model }; + m.shader = initShader(gl, pass, textures); + m.uniforms = { ...pass.uniformVals }; + pass.inputs.length > 0 && + (m.textures = pass.inputs.map((id) => textures[id])); + return m; + }); +}; + +const initShader = ( + gl: WebGLRenderingContext, + pass: PassOpts, + textures: IObjectOf +) => { + const isGL2 = isGL2Context(gl); + const numIns = pass.inputs.length; + const numOuts = pass.outputs.length; + const ext: ExtensionBehaviors = {}; + const spec: ShaderSpec = { + vs: pass.vs || PASSTHROUGH_VS, + fs: pass.fs, + attribs: pass.attribs || { + position: "vec2", + }, + varying: pass.varying, + uniforms: { + ...pass.uniforms, + ...(numIns + ? { + inputs: ["sampler2D[]", numIns, [...range(numIns)]], + } + : null), + }, + outputs: numOuts + ? transduce( + map((i) => [ + `output${i}`, + ["vec4", i], + ]), + assocObj(), + range(numOuts) + ) + : undefined, + state: pass.state, + pre: pass.pre, + post: pass.post, + replacePrelude: pass.replacePrelude, + generateDecls: pass.generateDecls, + ext, + }; + const floatIn = some((id) => isFloatTexture(textures[id]), pass.inputs); + const floatOut = some((id) => isFloatTexture(textures[id]), pass.outputs); + if (!isGL2) { + floatIn && (ext.OES_texture_float = "require"); + numOuts > 1 && (ext.WEBGL_draw_buffers = "require"); + } + if (floatOut) { + ext[isGL2 ? "EXT_color_buffer_float" : "WEBGL_color_buffer_float"] = + "require"; + } + return defShader(gl, spec); +}; + +const initTextures = (opts: MultipassOpts) => + Object.keys(opts.textures).reduce((acc, id) => { + acc[id] = defTexture(opts.gl, { + width: opts.width, + height: opts.height, + filter: opts.gl.NEAREST, + wrap: opts.gl.CLAMP_TO_EDGE, + image: null, + ...opts.textures[id], + }); + return acc; + }, >{}); + +const initBuffers = ( + opts: MultipassOpts, + textures: IObjectOf, + useMainBuffer: boolean +) => + (useMainBuffer + ? opts.passes.slice(0, opts.passes.length - 1) + : opts.passes + ).map((pass) => + defFBO(opts.gl, { tex: pass.outputs.map((id) => textures[id]) }) + ); diff --git a/packages/webgl/src/shader.ts b/packages/webgl/src/shader.ts index 1abb91fb6a..021522a737 100644 --- a/packages/webgl/src/shader.ts +++ b/packages/webgl/src/shader.ts @@ -1,4 +1,4 @@ -import { deref, Fn3, IObjectOf } from "@thi.ng/api"; +import { asGLType, deref, Fn3, IObjectOf } from "@thi.ng/api"; import { existsAndNotNull, isArray, @@ -14,6 +14,7 @@ import { Sym, sym, SymOpts, + Type, uniform, } from "@thi.ng/shader-ast"; import { GLSLVersion, targetGLSL } from "@thi.ng/shader-ast-glsl"; @@ -32,8 +33,10 @@ import { GLSLDeclPrefixes, IShader, ShaderAttrib, + ShaderAttribSpec, ShaderAttribSpecs, ShaderFn, + ShaderOutputSpec, ShaderSpec, ShaderState, ShaderType, @@ -121,7 +124,7 @@ export class Shader implements IShader { gl.vertexAttribPointer( shaderAttrib.loc, attr.size || 3, - attr.type || gl.FLOAT, + asGLType(attr.type || gl.FLOAT)!, attr.normalized || false, attr.stride || 0, attr.offset || 0 @@ -274,13 +277,8 @@ const initShaderExtensions = ( } }; -export const shaderSourceFromAST = ( - spec: ShaderSpec, - type: ShaderType, - version: GLSLVersion -) => { - let prelude = ""; - prelude += spec.pre +const compilePrelude = (spec: ShaderSpec, version: GLSLVersion) => { + let prelude = spec.pre ? spec.replacePrelude ? spec.pre : spec.pre + "\n" + GLSL_HEADER @@ -294,48 +292,73 @@ export const shaderSourceFromAST = ( ); } } + return prelude; +}; + +const compileIODecls = ( + decl: (type: Type, id: string, opts?: SymOpts) => Sym, + src: IObjectOf, + dest: IObjectOf> +) => { + for (let id in src) { + const a = src[id]; + dest[id] = isArray(a) + ? decl(a[0], id, { loc: a[1] }) + : decl(a, id); + } +}; + +const varyingOpts = (v: ShaderVaryingSpec): [GLSL, SymOpts] => { + const [vtype, opts]: [GLSL, SymOpts] = isArray(v) + ? [v[0], { num: v[1] }] + : [v, {}]; + /(u?int|[ui]vec[234])/.test(vtype) && (opts.smooth = "flat"); + return [vtype, opts]; +}; + +const compileVaryingDecls = ( + spec: ShaderSpec, + decl: (type: Type, id: string, opts?: SymOpts) => Sym, + acc: IObjectOf> +) => { + for (let id in spec.varying) { + const [vtype, opts] = varyingOpts(spec.varying[id]); + acc[id] = decl(vtype, id, opts); + } +}; + +const compileUniformDecls = (spec: ShaderSpec, acc: IObjectOf>) => { + for (let id in spec.uniforms) { + const u = spec.uniforms[id]; + acc[id] = isArray(u) + ? uniform( + u[0], + id, + u[0].indexOf("[]") > 0 ? { num: u[1] } : undefined + ) + : uniform(u, id); + } +}; + +export const shaderSourceFromAST = ( + spec: ShaderSpec, + type: ShaderType, + version: GLSLVersion +) => { + let prelude = compilePrelude(spec, version); const inputs: IObjectOf> = {}; const outputs: IObjectOf> = {}; const outputAliases: IObjectOf> = {}; const unis: IObjectOf> = {}; - if (spec.uniforms) { - for (let id in spec.uniforms) { - const u = spec.uniforms[id]; - unis[id] = isArray(u) - ? u[0].indexOf("[]") > 0 - ? uniform(u[0], id, { num: u[1] }) - : uniform(u[0], id) - : uniform(u, id); - } - } + spec.uniforms && compileUniformDecls(spec, unis); if (type === "vs") { - for (let id in spec.attribs) { - const a = spec.attribs[id]; - inputs[id] = isArray(a) - ? input(a[0], id, { loc: a[1] }) - : input(a, id); - } - if (spec.varying) { - for (let id in spec.varying) { - const [vtype, opts] = varyingOpts(spec.varying[id]); - outputs[id] = output(vtype, id, opts); - } - } + compileIODecls(input, spec.attribs, inputs); + spec.varying && compileVaryingDecls(spec, output, outputs); } else { - if (spec.varying) { - for (let id in spec.varying) { - const [vtype, opts] = varyingOpts(spec.varying[id]); - inputs[id] = input(vtype, id, opts); - } - } + spec.varying && compileVaryingDecls(spec, input, inputs); const outs = spec.outputs || DEFAULT_OUTPUT; if (version >= GLSLVersion.GLES_300) { - for (let id in outs) { - const o = outs[id]; - outputs[id] = isArray(o) - ? output(o[0], id, { loc: o[1] }) - : output(o, id); - } + compileIODecls(output, outs, outputs); } else { for (let id in outs) { const o = outs[id]; @@ -368,14 +391,6 @@ export const shaderSourceFromAST = ( ); }; -const varyingOpts = (v: ShaderVaryingSpec): [GLSL, SymOpts] => { - const [vtype, opts]: [GLSL, SymOpts] = isArray(v) - ? [v[0], { num: v[1] }] - : [v, {}]; - /(u?int|[ui]vec[234])/.test(vtype) && (opts.smooth = "flat"); - return [vtype, opts]; -}; - export const prepareShaderSource = ( spec: ShaderSpec, type: ShaderType, @@ -386,20 +401,7 @@ export const prepareShaderSource = ( const isVS = type === "vs"; let src = ""; src += `#version ${version}\n`; - src += spec.pre - ? spec.replacePrelude - ? spec.pre - : spec.pre + "\n" + GLSL_HEADER - : GLSL_HEADER; - if (spec.ext) { - for (let id in spec.ext) { - src += compileExtensionPragma( - id, - spec.ext[id]!, - version - ); - } - } + src += compilePrelude(spec, version); if (spec.generateDecls !== false) { src += isVS ? compileVars(spec.attribs, syntax.attrib, prefixes) diff --git a/packages/webgl/src/texture.ts b/packages/webgl/src/texture.ts index 70e8796992..2146182d5d 100644 --- a/packages/webgl/src/texture.ts +++ b/packages/webgl/src/texture.ts @@ -84,109 +84,122 @@ export class Texture implements ITexture { target: TextureTarget, opts: Partial ) { - const gl = this.gl; + if (opts.image === undefined) return; + target === TextureTarget.TEXTURE_3D + ? this.configureImage3d(target, opts) + : this.configureImage2d(target, opts); + } + + protected configureImage2d( + target: TextureTarget, + opts: Partial + ) { + const level = opts.level || 0; + const pos = opts.pos || [0, 0, 0]; + const { image, width, height } = opts; const decl = TEX_FORMATS[this.format]; const baseFormat = decl.format; - const { type, format } = this; - if (opts.image !== undefined) { - const level = opts.level || 0; - const pos = opts.pos || [0, 0, 0]; - if (target === TextureTarget.TEXTURE_3D) { - if (opts.width && opts.height && opts.depth) { - if (opts.sub) { - (gl).texSubImage3D( - target, - level, - pos[0], - pos[1], - pos[2], - opts.width, - opts.height, - opts.depth, - baseFormat, - type, - opts.image - ); - } else { - if (level === 0) { - this.size = [opts.width, opts.height, opts.depth]; - } - (gl).texImage3D( - target, - level, - format, - opts.width, - opts.height, - opts.depth, - 0, - baseFormat, - type, - opts.image - ); - } + const { gl, type, format } = this; + if (width && height) { + if (opts.sub) { + gl.texSubImage2D( + target, + level, + pos[0], + pos[1], + width, + height, + baseFormat, + type, + image + ); + } else { + if (level === 0) { + this.size = [width, height]; } + gl.texImage2D( + target, + level, + format, + width, + height, + 0, + baseFormat, + type, + image + ); + } + } else { + if (opts.sub) { + gl.texSubImage2D( + target, + level, + pos[0], + pos[1], + baseFormat, + type, + image + ); } else { - if (opts.width && opts.height) { - if (opts.sub) { - gl.texSubImage2D( - target, - level, - pos[0], - pos[1], - opts.width, - opts.height, - baseFormat, - type, - opts.image - ); - } else { - if (level === 0) { - this.size = [opts.width, opts.height]; - } - gl.texImage2D( - target, - level, - format, - opts.width, - opts.height, - 0, - baseFormat, - type, - opts.image - ); - } - } else { - if (opts.sub) { - gl.texSubImage2D( - target, - level, - pos[0], - pos[1], - baseFormat, - type, - opts.image - ); - } else { - if (opts.image != null && level == 0) { - this.size = [ - (opts.image).width, - (opts.image).height, - ]; - } - gl.texImage2D( - target, - level, - format, - baseFormat, - type, - opts.image - ); - } + if (image != null && level === 0) { + this.size = [(image).width, (image).height]; } + gl.texImage2D( + target, + level, + format, + baseFormat, + type, + image + ); } } } + protected configureImage3d( + target: TextureTarget, + opts: Partial + ) { + const { image, width, height, depth } = opts; + if (!(width && height && depth)) return; + const level = opts.level || 0; + const pos = opts.pos || [0, 0, 0]; + const decl = TEX_FORMATS[this.format]; + const baseFormat = decl.format; + const { gl, type, format } = this; + if (opts.sub) { + (gl).texSubImage3D( + target, + level, + pos[0], + pos[1], + pos[2], + width, + height, + depth, + baseFormat, + type, + image + ); + } else { + if (level === 0) { + this.size = [width, height, depth]; + } + (gl).texImage3D( + target, + level, + format, + width, + height, + depth, + 0, + baseFormat, + type, + image + ); + } + } + protected configureFilter( target: TextureTarget, opts: Partial diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index aff435a028..9f44abe76e 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.31...@thi.ng/zipper@0.1.32) (2021-01-10) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.30...@thi.ng/zipper@0.1.31) (2021-01-02) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.29...@thi.ng/zipper@0.1.30) (2020-12-22) +## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.35...@thi.ng/zipper@0.1.36) (2021-02-20) **Note:** Version bump only for package @thi.ng/zipper diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 298a7cac59..cdc5efea0b 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/zipper", - "version": "0.1.32", + "version": "0.1.36", "description": "Functional tree editing, manipulation & navigation", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.12.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.2.1", + "mocha": "^8.3.0", "nyc": "^15.1.0", "ts-node": "^9.1.1", - "typedoc": "^0.20.4", - "typescript": "^4.1.3" + "typedoc": "^0.20.26", + "typescript": "^4.1.5" }, "dependencies": { - "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/checks": "^2.8.0" + "@thi.ng/api": "^7.0.0", + "@thi.ng/arrays": "^0.10.2", + "@thi.ng/checks": "^2.9.0" }, "files": [ "*.js", diff --git a/scripts/deploy-docs b/scripts/deploy-docs index ce868c6f57..113e8315f0 100755 --- a/scripts/deploy-docs +++ b/scripts/deploy-docs @@ -41,6 +41,8 @@ const sanitizeFile = (f) => { (_, id, sym) => { updated = true; let path = `${S3_PREFIX}/${id}/`; + if (!sym) + return `@thi.ng/${id}`; if (sym.startsWith("I")) { path += `interfaces/${sym.toLowerCase()}.html`; } else if (/^[a-z]/.test(sym)) { diff --git a/scripts/make-example b/scripts/make-example index 91d543cfb4..c476b6ce44 100755 --- a/scripts/make-example +++ b/scripts/make-example @@ -80,7 +80,7 @@ cat << EOF > "$MODULE"/package.json "license": "Apache-2.0", "scripts": { "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", - "start": "../../node_modules/.bin/snowpack dev", + "start": "../../node_modules/.bin/snowpack dev --reload", "build": "../../node_modules/.bin/snowpack build" }, "devDependencies": { diff --git a/scripts/stats b/scripts/stats index 8d098c5bdd..d89f0b3806 100755 --- a/scripts/stats +++ b/scripts/stats @@ -12,7 +12,7 @@ fi if [ $# -gt 1 ]; then out="$2" else - out=stats.csv + out=assets/stats.csv fi echo "package,files,comments,sloc" > $out diff --git a/scripts/stats-examples b/scripts/stats-examples new file mode 100755 index 0000000000..8bc849995e --- /dev/null +++ b/scripts/stats-examples @@ -0,0 +1,33 @@ +#!/bin/sh + +# usage: stats packages stats.csv (default) +# usage: stats examples stats-ex.csv + +if [ $# -gt 0 ]; then + modules="$1/*" +else + modules="examples/*" +fi + +if [ $# -gt 1 ]; then + out="$2" +else + out=assets/stats-examples.csv +fi + +echo "example,files,comments,sloc" > $out + +for m in $modules; do + if [ -d "$m" ]; then + skip=$(grep -e '"skip": true' "$m/package.json") + if [ -e "$m/.skip" ] || [ -n "$skip" ]; then + echo "\tskipping $m" + else + echo "$m $skip" + echo "$m,$(cloc "$m"/src --csv | grep "TypeScript" | cut -d ',' -f1 -f4-5)" >> $out + fi + fi +done + +echo "---" +awk -F ',' '{ files+=$2; comments+=$3; sloc+=$4 } END { print "files:", files, "\tcode:", sloc, "\ttotal:", sloc + comments }' $out diff --git a/tools/semver.f b/tools/semver.f new file mode 100644 index 0000000000..d019255efb --- /dev/null +++ b/tools/semver.f @@ -0,0 +1,25 @@ +( run via `npx pointfree tools/semver.f packages` ) + +( builds path to package.json ) +: pkg-path ( name base -- path ) swap "/" swap "/package.json" + + + ; + +( takes package dir , returns parsed package.json ) +: read-pkg ( name base -- json ) pkg-path read-file json> ; + +( extracts semver package name from given package object ) +: pkg-semver ( pkg -- name@version ) dup "name" at "@" rot "version" at + + ; + +( package list filter ) +: filter-pkg ( name pat -- name? ) over -rot match? not [ drop ] when ; + +( store pattern and base dir in global var ) +@args dup 2 at pattern! 1 at dup base! + +( load packages dir ) +read-dir + +( filter package list if CLI arg given ) +@args length 2 > [ [ @pattern filter-pkg ] mapll ] when + +( try to process all packages, ignoring any errors ) +[ [ @base read-pkg pkg-semver . ] [ drop ] try ] mapl diff --git a/tools/src/adjacency.ts b/tools/src/adjacency.ts new file mode 100644 index 0000000000..c6dd878d06 --- /dev/null +++ b/tools/src/adjacency.ts @@ -0,0 +1,321 @@ +import { defAdjBitMatrix } from "@thi.ng/adjacency"; +import { CDATA, COMMENT, serialize } from "@thi.ng/hiccup"; +import { anchor } from "@thi.ng/hiccup-html"; +import { + circle, + group, + image, + line, + rect, + svg, + text, +} from "@thi.ng/hiccup-svg"; +import { PI } from "@thi.ng/math"; +import { XML_SVG } from "@thi.ng/prefixes"; +import { comp, filter, iterator, map, range } from "@thi.ng/transducers"; +import { writeFileSync } from "fs"; +import { files, readJSON } from "./io"; +import { shortName } from "./partials/package"; + +const W = 16; +const LW = 150; +const GAP = 10; + +const packages = [...files("packages", "package.json", 2)].map(readJSON); +const ids = packages.map((p) => shortName(p.name)); +const num = ids.length; + +const deps = defAdjBitMatrix(packages.length); +const rels = defAdjBitMatrix(packages.length); + +const getID = (name: string) => ids.indexOf(shortName(name)); + +for (let p of packages) { + const id = getID(p.name); + for (let d in p.dependencies) { + if (!d.startsWith("@thi.ng")) continue; + deps.addEdge(getID(d), id); + } + for (let r of p["thi.ng"]?.related || []) { + rels.addEdge(ids.indexOf(r), id); + } +} + +const invDeps = deps.invert(); + +let row = -1; + +const pkgLink = (id: number, attribs: any, body: any) => + anchor({ href: `https://thi.ng/${ids[id]}`, ...attribs }, body); + +const processPkg = (id: number) => { + row++; + const n = deps.neighbors(id).length; + const y = row * W + LW; + return group({ class: "t", data: { id } }, [ + pkgLink( + id, + {}, + text( + [LW - 5, y + W / 2], + ids[id], + { + "text-anchor": "end", + "dominant-baseline": "middle", + }, + ["title", {}, `used by ${n} package${n !== 1 ? "s" : ""}`] + ) + ), + ...map( + (d) => + rect( + [d * W + LW + 1, y + 1], + W - 2, + W - 2, + { + class: deps.hasEdge(id, d) ? "d" : "r", + data: { + id, + col: d, + row, + }, + }, + [ + "title", + {}, + deps.hasEdge(id, d) + ? `dependency: ${ids[id]} ⟸ ${ids[d]}` + : `related: ${ids[id]} ⟺ ${ids[d]}`, + ] + ), + new Set([...deps.neighbors(id), ...rels.neighbors(id)]) + ), + ]); +}; + +const cells = group({ id: "cells" }, [ + ...iterator( + comp( + filter((id) => deps.degree(id) > 0 || rels.degree(id) > 0), + map(processPkg) + ), + range(num) + ), +]); + +row++; + +const WIDTH = num * W + LW; +const HEIGHT = row * W + LW; + +const doc = svg( + { + viewBox: `-${GAP} -${GAP} ${WIDTH + 2 * GAP} ${HEIGHT + 2 * GAP}`, + fill: "#000", + "font-size": "12px", + "font-family": "'IBM Plex Mono', monospace", + }, + [COMMENT, `generated @ ${new Date().toISOString()}`], + [ + "style", + { type: "text/css" }, + [ + "!CDATA", + "@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300&display=swap');", + `.d { fill: #0cf; }`, + `.r { fill: #f39; }`, + `@keyframes dsel { from { fill: #0cf; } to { fill: #40f; } }`, + `@keyframes rsel { from { fill: #f39; } to { fill: #906; } }`, + `.d:hover { animation: 0.5s ease-in-out infinite alternate dsel; }`, + `.dr:hover { animation: 0.5s ease-in-out infinite alternate drsel; }`, + `.r:hover { animation: 0.5s ease-in-out infinite alternate rsel; }`, + `line.sel { stroke: #000; }`, + `.h { opacity: 0.1; }`, + `.t { transition: opacity 0.1s linear; }`, + `@keyframes fade { from { opacity: 0; } to { opacity: 1 } }`, + `.fade { animation: 0.1s linear fade; }`, + ], + ], + anchor( + { href: `https://thi.ng/` }, + circle([LW / 2, LW / 2], LW / 3, { fill: "#000" }), + image([LW / 4, LW / 4], "./logo-anim-white.svg", { + width: LW / 2, + height: LW / 2, + }) + ), + group({ id: "labels" }, [ + ...map((id) => { + const n = invDeps.degree(id); + return pkgLink( + id, + { class: "t", data: { id } }, + text( + [0, 0], + ids[id], + { + translate: [(id + 0.5) * W + LW, LW - 5], + rotate: -PI / 2, + "dominant-baseline": "middle", + }, + [ + "title", + {}, + `depends on ${n} package${n !== 1 ? "s" : ""}`, + ] + ) + ); + }, range(num)), + ]), + group({ stroke: "#eee", translate: [LW, LW] }, [ + group({ id: "cols" }, [ + ...map( + (x) => line([(x + 0.5) * W, 0], [(x + 0.5) * W, row * W]), + range(num) + ), + ]), + group({ id: "rows" }, [ + ...map( + (y) => line([0, (y + 0.5) * W], [num * W, (y + 0.5) * W]), + range(row) + ), + ]), + ]), + group({ id: "links" }), + cells, + [ + "script", + {}, + [ + CDATA, + `const svg = document.querySelector("svg"); +const links = document.getElementById("links"); +const cells = document.getElementById("cells"); +const labels = document.getElementById("labels"); +const colors = ["hsl(0,100%,50%)","hsl(20,100%,50%)","hsl(40,100%,50%)"] +let vline, hline, cell, label, prevDeps; + +const attr = (el, id) => Number(el.getAttribute(id)); +const setAttribs = (el, attribs) => Object.keys(attribs).forEach((id) => el.setAttribute(id, attribs[id])); +const centroid = (el) => [attr(el, "x") + attr(el, "width") / 2, attr(el, "y") + attr(el, "height") / 2]; +const select = (...els) => els.forEach((e) => e.classList.add("sel")); +const deselect = (...els) => els.forEach((e) => e.classList.remove("sel")); + +const createLinks = (acc, src, colors, maxD, depth = 0) => { + const id = src.dataset.id; + acc.rows.add(id); + if (depth >= maxD) return; + const [sx, sy] = centroid(src); + for(let n of document.querySelectorAll(\`rect[data-col="\${id}"]\`)) { + if (id === n.dataset.id || n.classList[0].indexOf("d") < 0) continue; + acc.cols.add(n.dataset.col); + const [dx, dy] = centroid(n); + const line = document.createElementNS("${XML_SVG}", "line"); + setAttribs(line, { x1: sx, y1: sy, x2: dx, y2: dy }); + line.classList.add("fade"); + line.style.stroke = colors[depth]; + links.appendChild(line); + createLinks(acc, n, colors, maxD, depth + 1); + } +}; + +const toggle = (root, sel, hide) => { + const children = root.childNodes; + for(let i = 0; i < children.length; i++) { + const c = children[i]; + if (!sel.has(c.dataset.id)) { + hide ? c.classList.add("h") : c.classList.remove("h"); + } + } +}; + +const clearSelection = () => { + if (!prevDeps) return; + toggle(cells, prevDeps.rows, false); + toggle(labels, prevDeps.cols, false); + while(links.firstChild) links.removeChild(links.firstChild); + cell && deselect(cell, hline, vline); + prevDeps.rects && prevDeps.rects.forEach((e) => e.classList.remove("h")); + prevDeps = label = cell = hline = vline = null; +}; + +const selectCell = (e) => { + cell = e.target; + const { id, col, row } = e.target.dataset; + vline = document.querySelector(\`#cols>line:nth-child(\${Number(col) + 1})\`); + hline = document.querySelector(\`#rows>line:nth-child(\${Number(row) + 1})\`); + select(cell, hline, vline); + const deps = { rows: new Set(), cols: new Set([col]) }; + createLinks(deps, cell, colors, 3); + toggle(cells, deps.rows, true); + toggle(labels, deps.cols, true); + prevDeps = deps; +}; + +const pkgDeps = (i) => [...document.querySelectorAll(\`#cells>g[data-id="\${i}"]>rect\`)]; + +const crossCutX = (target) => { + const id = target.parentNode.dataset.id; + const deps = { rows: new Set(), cols: new Set([id]), rects: [] }; + for(let i = 0; i < ${num}; i++) { + const rects = pkgDeps(i); + if (rects.some((r) => r.dataset.col === id)) { + for(let r of rects) { + if (r.dataset.col === id) { + deps.rows.add(r.dataset.id); + } else { + r.classList.add("h"); + deps.rects.push(r); + } + } + } + } + return deps; +}; + +const crossCutY = (target) => { + const id = target.parentNode.parentNode.dataset.id; + return { + rows: new Set([id]), + cols: new Set(pkgDeps(id).map((r) => r.dataset.col)) + }; +}; + +const handleInteraction = (e) => { + e.preventDefault(); + const target = e.target; + if (target.tagName === "text") { + if (target !== label) { + clearSelection(); + const deps = target.parentNode.parentNode === labels + ? crossCutX(target) + : crossCutY(target); + toggle(cells, deps.rows, true); + toggle(labels, deps.cols, true); + prevDeps = deps; + label = target; + } + return; + } + if (target.dataset.id != null) { + if (target !== cell) { + clearSelection(); + selectCell(e); + } + } else clearSelection(); +}; + +svg.addEventListener("mousemove", handleInteraction); +svg.addEventListener("touchstart", handleInteraction);`, + ], + ], + [ + "script", + { + data: { domain: "dependencies.thi.ng" }, + "xlink:href": "https://plausible.io/js/plausible.js", + }, + ] +); + +writeFileSync("deps.svg", serialize(doc)); diff --git a/tools/src/build-search-index.ts b/tools/src/build-search-index.ts index 6ae106a75a..778cecd7be 100644 --- a/tools/src/build-search-index.ts +++ b/tools/src/build-search-index.ts @@ -98,7 +98,14 @@ const packed = build( index ); -writeFileSync("search.json", JSON.stringify(packed)); +writeFileSync("assets/search.json", JSON.stringify(packed)); // msgpack'd binary version -writeFileSync("search.bin", serialize(packed)); -execSync("gzip -9 -f search.bin"); +writeFileSync("assets/search.bin", serialize(packed)); +execSync("gzip -9 -f assets/search.bin"); + +console.log("uploading..."); +console.log( + execSync( + `aws s3 cp assets/search.bin.gz s3://docs.thi.ng/umbrella/search-index-latest.bin --content-encoding gzip --acl public-read --profile thing-umbrella` + ).toString() +); diff --git a/tools/src/check-exports.ts b/tools/src/check-exports.ts new file mode 100644 index 0000000000..4eda5ffd58 --- /dev/null +++ b/tools/src/check-exports.ts @@ -0,0 +1,43 @@ +import { readdirSync, statSync, writeFileSync } from "fs"; +import { readJSON } from "./io"; + +const subdirs = (root: string) => { + const dirs: string[] = []; + for (let f of readdirSync(root)) { + const d = `${root}/${f}`; + statSync(d).isDirectory() && dirs.push(f); + } + return dirs; +}; + +const processPackage = (id: string) => { + const pkgPath = `packages/${id}/package.json`; + console.log("checking", pkgPath); + const pkg = readJSON(pkgPath); + const srcDirs = subdirs(`packages/${id}/src`); + const newFiles = ["*.js", "*.d.ts", "lib", ...srcDirs.sort()]; + const oldLength = pkg.files.length; + const newLength = newFiles.length; + if ( + oldLength !== newLength && + !(pkg.files.includes("bin") && newLength === oldLength - 1) + ) { + console.log("fixing pkg", newFiles); + pkg.files = newFiles; + writeFileSync(pkgPath, JSON.stringify(pkg, null, 4)); + } else { + console.log("ok"); + } +}; + +const pkg = process.argv[2]; + +if (pkg) { + processPackage(pkg); +} else { + for (let p of readdirSync("packages")) { + if (statSync(`packages/${p}`).isDirectory()) { + processPackage(p); + } + } +} diff --git a/tools/src/check-imports.ts b/tools/src/check-imports.ts index d56806c5d9..8b8f140fe0 100644 --- a/tools/src/check-imports.ts +++ b/tools/src/check-imports.ts @@ -71,5 +71,5 @@ const project = process.argv[2]; project ? project === "examples" ? updateProjects("examples", true) - : updateImports(project) + : updateImports(project, project.startsWith("examples")) : updateProjects("packages"); diff --git a/tools/src/io.ts b/tools/src/io.ts index 9bf2145cd6..643d383ab1 100644 --- a/tools/src/io.ts +++ b/tools/src/io.ts @@ -8,16 +8,24 @@ export const readText = (path: string) => readFileSync(path).toString(); * Recursively reads given directory and returns file names matching * given extension. * - * @param {*} dir - * @param {*} ext + * @param dir + * @param ext + * @param maxDepth + * @param depth */ -export function* files(dir: string, ext: string): IterableIterator { +export function* files( + dir: string, + ext: string, + maxDepth = Infinity, + depth = 0 +): IterableIterator { + if (depth >= maxDepth) return; for (let f of readdirSync(dir)) { const curr = dir + "/" + f; if (f.endsWith(ext)) { yield curr; } else if (statSync(curr).isDirectory()) { - yield* files(curr, ext); + yield* files(curr, ext, maxDepth, depth + 1); } } } diff --git a/yarn.lock b/yarn.lock index 5653762ea6..70da9e71a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2775,6 +2775,11 @@ argparse@^1.0.7, argparse@~1.0.9: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -3415,7 +3420,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3424,7 +3429,7 @@ chalk@^2.0.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0: +chalk@^4.0.0, chalk@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== @@ -3449,10 +3454,10 @@ cheerio@^1.0.0-rc.3: lodash "^4.15.0" parse5 "^3.0.1" -chokidar@3.4.3, chokidar@^3.4.0: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -3462,7 +3467,7 @@ chokidar@3.4.3, chokidar@^3.4.0: normalize-path "~3.0.0" readdirp "~3.5.0" optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.1" chokidar@^2.1.8: version "2.1.8" @@ -3483,6 +3488,21 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.4.0: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + chokidar@^3.4.1: version "3.4.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" @@ -3585,6 +3605,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -4241,10 +4270,10 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" @@ -4421,7 +4450,12 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diff@4.0.2, diff@^4.0.1: +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== @@ -5184,15 +5218,15 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" graceful-fs "^4.2.0" jsonfile "^6.0.1" - universalify "^1.0.0" + universalify "^2.0.0" fs-minipass@^1.2.5: version "1.2.7" @@ -5236,6 +5270,11 @@ fsevents@~2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5272,7 +5311,7 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -6418,7 +6457,14 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.14.0, js-yaml@^3.13.1: +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1: version "3.14.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== @@ -6518,7 +6564,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.0, json5@^2.1.2: +json5@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== @@ -6689,7 +6735,7 @@ loader-runner@^4.1.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.1.0.tgz#f70bc0c29edbabdf2043e7ee73ccc3fe1c96b42d" integrity sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA== -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -6951,10 +6997,10 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -marked@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.7.tgz#6e14b595581d2319cdcf033a24caaf41455a01fb" - integrity sha512-No11hFYcXr/zkBvL6qFmAp1z6BKY3zqLMHny/JN/ey+al7qwCM2+CMBL9BOgqMxZU36fz4cCWfn2poWIf7QRXA== +marked@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-2.0.0.tgz#9662bbcb77ebbded0662a7be66ff929a8611cee5" + integrity sha512-NqRSh2+LlN2NInpqTQnS614Y/3NkVMFFU6sJlRFEpxJ/LHuK/qJECH7/fXZjk4VZstPW/Pevjil/VtSONsLc7Q== md5.js@^1.3.4: version "1.3.5" @@ -7268,35 +7314,35 @@ mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: dependencies: minimist "^1.2.5" -mocha@^8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.1.tgz#f2fa68817ed0e53343d989df65ccd358bc3a4b39" - integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== +mocha@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.0.tgz#a83a7432d382ae1ca29686062d7fdc2c36f63fe5" + integrity sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" - chokidar "3.4.3" - debug "4.2.0" - diff "4.0.2" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" glob "7.1.6" growl "1.10.5" he "1.2.0" - js-yaml "3.14.0" + js-yaml "4.0.0" log-symbols "4.0.0" minimatch "3.0.4" - ms "2.1.2" - nanoid "3.1.12" + ms "2.1.3" + nanoid "3.1.20" serialize-javascript "5.0.1" strip-json-comments "3.1.1" - supports-color "7.2.0" + supports-color "8.1.1" which "2.0.2" wide-align "1.1.3" - workerpool "6.0.2" - yargs "13.3.2" - yargs-parser "13.1.2" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" yargs-unparser "2.0.0" modify-values@^1.0.0: @@ -7326,6 +7372,11 @@ ms@2.1.2, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multimatch@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" @@ -7360,12 +7411,7 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== -nanoid@3.1.12: - version "3.1.12" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" - integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== - -nanoid@^3.1.20: +nanoid@3.1.20, nanoid@^3.1.20: version "3.1.20" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== @@ -9294,12 +9340,12 @@ rollup@^2.23.0, rollup@^2.34.0: optionalDependencies: fsevents "~2.1.2" -rollup@^2.35.1: - version "2.35.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.35.1.tgz#e6bc8d10893556a638066f89e8c97f422d03968c" - integrity sha512-q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA== +rollup@^2.39.0: + version "2.39.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.39.0.tgz#be4f98c9e421793a8fec82c854fb567c35e22ab6" + integrity sha512-+WR3bttcq7zE+BntH09UxaW3bQo3vItuYeLsyk4dL2tuwbeSKJuvwiawyhEnvRdRgrII0Uzk00FpctHO/zB1kw== optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.1" run-async@^2.2.0: version "2.4.1" @@ -9401,6 +9447,13 @@ semver@^7.3.2, semver@~7.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + serialize-javascript@5.0.1, serialize-javascript@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" @@ -9483,29 +9536,12 @@ shelljs@^0.8.4: interpret "^1.0.0" rechoir "^0.6.2" -shiki-languages@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/shiki-languages/-/shiki-languages-0.2.7.tgz#7230b675b96d37a36ac1bf995525375ce69f3924" - integrity sha512-REmakh7pn2jCn9GDMRSK36oDgqhh+rSvJPo77sdWTOmk44C5b0XlYPwJZcFOMJWUZJE0c7FCbKclw4FLwUKLRw== - dependencies: - vscode-textmate "^5.2.0" - -shiki-themes@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/shiki-themes/-/shiki-themes-0.2.7.tgz#6e04451d832152e0fc969876a7bd926b3963c1f2" - integrity sha512-ZMmboDYw5+SEpugM8KGUq3tkZ0vXg+k60XX6NngDK7gc1Sv6YLUlanpvG3evm57uKJvfXsky/S5MzSOTtYKLjA== - dependencies: - json5 "^2.1.0" - vscode-textmate "^5.2.0" - -shiki@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.2.7.tgz#d2547548ed8742673730e1e4bbe792a77c445540" - integrity sha512-bwVc7cdtYYHEO9O+XJ8aNOskKRfaQd5Y4ovLRfbQkmiLSUaR+bdlssbZUUhbQ0JAFMYcTcJ5tjG5KtnufttDHQ== +shiki@^0.9.2: + version "0.9.2" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.9.2.tgz#b9e660b750d38923275765c4dc4c92b23877b115" + integrity sha512-BjUCxVbxMnvjs8jC4b+BQ808vwjJ9Q8NtLqPwXShZ307HdXiDFYP968ORSVfaTNNSWYDBYdMnVKJ0fYNsoZUBA== dependencies: onigasm "^2.2.5" - shiki-languages "^0.2.7" - shiki-themes "^0.2.7" vscode-textmate "^5.2.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: @@ -10033,10 +10069,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -supports-color@7.2.0, supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" @@ -10054,6 +10090,13 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + svgo@^1.0.0: version "1.3.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" @@ -10191,7 +10234,7 @@ terser@^4.1.2, terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.3.4, terser@^5.3.8, terser@^5.5.1: +terser@^5.3.4, terser@^5.3.8: version "5.5.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== @@ -10200,6 +10243,15 @@ terser@^5.3.4, terser@^5.3.8, terser@^5.5.1: source-map "~0.7.2" source-map-support "~0.5.19" +terser@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" + integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10361,16 +10413,16 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -ts-loader@^8.0.12: - version "8.0.12" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.12.tgz#1de9f1de65176318c1e6d187bfc496182f8dc2a0" - integrity sha512-UIivVfGVJDdwwjgSrbtcL9Nf10c1BWnL1mxAQUVcnhNIn/P9W3nP5v60Z0aBMtc7ZrE11lMmU6+5jSgAXmGaYw== +ts-loader@^8.0.17: + version "8.0.17" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.17.tgz#98f2ccff9130074f4079fd89b946b4c637b1f2fc" + integrity sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w== dependencies: - chalk "^2.3.0" + chalk "^4.1.0" enhanced-resolve "^4.0.0" - loader-utils "^1.0.2" + loader-utils "^2.0.0" micromatch "^4.0.0" - semver "^6.0.0" + semver "^7.3.4" ts-node@^9.1.1: version "9.1.1" @@ -10450,32 +10502,32 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typedoc-default-themes@0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.12.0.tgz#42451948e55a148c1350eb2aa68829be5c2b06b3" - integrity sha512-0hHBxwmfxE0rkIslOiO39fJyYwaScQEhUIxcpqx3uS1BL3zhFW5oQfUaPx2cv2XLL/GXhYFxhdFLoVmNptbxEQ== +typedoc-default-themes@^0.12.7: + version "0.12.7" + resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.12.7.tgz#d44f68d40a3e90a19b5ea7be4cc6ed949afe768d" + integrity sha512-0XAuGEqID+gon1+fhi4LycOEFM+5Mvm2PjwaiVZNAzU7pn3G2DEpsoXnFOPlLDnHY6ZW0BY0nO7ur9fHOFkBLQ== -typedoc@^0.20.4: - version "0.20.4" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.20.4.tgz#e91dd3a802a845a7119d9162c8fefdd72e7a9b2a" - integrity sha512-C5ogtMwNKTAg7GctTPzd4ndSVz24WhBYfxf4UMYnnQImgIARllmeHE/+NuYLNmXVJjOnnWpRcErga9sN4ynZdg== +typedoc@^0.20.26: + version "0.20.26" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.20.26.tgz#38eaae627b4b829965eccbbdeb6445c38e6bbdc3" + integrity sha512-w532YfkrTnic5Vz71k67HNwF2KoCGS9leycA5pbRX4SUD6qGBbv6aD/xtYPF3ot2xE5FSjrxSOxfIvjA6MkMCA== dependencies: colors "^1.4.0" - fs-extra "^9.0.1" + fs-extra "^9.1.0" handlebars "^4.7.6" lodash "^4.17.20" lunr "^2.3.9" - marked "^1.2.5" + marked "^2.0.0" minimatch "^3.0.0" progress "^2.0.3" shelljs "^0.8.4" - shiki "^0.2.7" - typedoc-default-themes "0.12.0" + shiki "^0.9.2" + typedoc-default-themes "^0.12.7" -typescript@^4.1.3, typescript@~4.0.5: - version "4.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" - integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== +typescript@^4.1.5, typescript@~4.0.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" + integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== typical@^5.0.0, typical@^5.2.0: version "5.2.0" @@ -10581,6 +10633,11 @@ universalify@^1.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unquote@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" @@ -10985,10 +11042,10 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -workerpool@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" - integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== +workerpool@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== wrap-ansi@^5.1.0: version "5.1.0" @@ -11008,6 +11065,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -11089,6 +11155,11 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -11104,13 +11175,10 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@20.2.4, yargs-parser@^20.0.0: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs-parser@^15.0.1: version "15.0.1" @@ -11128,10 +11196,10 @@ yargs-parser@^18.1.2, yargs-parser@^18.1.3: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.0.0: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== +yargs-parser@^20.2.2: + version "20.2.5" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.5.tgz#5d37729146d3f894f39fc94b6796f5b239513186" + integrity sha512-jYRGS3zWy20NtDtK2kBgo/TlAoy5YUuhD9/LZ7z7W4j1Fdw2cqD0xEEclf8fxc8xjD6X5Qr+qQQwCEsP8iRiYg== yargs-unparser@2.0.0: version "2.0.0" @@ -11143,21 +11211,18 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" yargs@^14.2.2: version "14.2.3"