0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-04-16 00:41:25 -05:00

Improve code organization for better integration with storybook

This commit is contained in:
Andrey Antukh 2023-12-21 11:37:42 +01:00 committed by Alonso Torres
parent 5621c2c394
commit 9c969f8b26
8 changed files with 885 additions and 3595 deletions

View file

@ -8,6 +8,7 @@
"browserslist": [
"defaults"
],
"type": "module",
"repository": {
"type": "git",
"url": "https://github.com/penpot/penpot"
@ -22,7 +23,7 @@
"lint:scss": "yarn run prettier -c resources/styles -c src/**/*.scss",
"lint:scss:fix": "yarn run prettier -c resources/styles -c src/**/*.scss -w",
"lint:clj": "clj-kondo --parallel --lint src/",
"test:run": "node target/tests.js",
"test:run": "node target/tests.cjs",
"test:watch": "clojure -M:dev:shadow-cljs watch test",
"test": "yarn run test:compile && yarn run test:run",
"gulp:watch": "gulp watch",
@ -38,17 +39,17 @@
"storybook:build": "npm run storybook:compile && storybook build"
},
"devDependencies": {
"@storybook/addon-essentials": "^7.5.3",
"@storybook/addon-interactions": "^7.5.3",
"@storybook/addon-links": "^7.5.3",
"@storybook/addon-onboarding": "^1.0.8",
"@storybook/blocks": "^7.5.3",
"@storybook/react": "^7.5.3",
"@storybook/react-vite": "^7.5.3",
"@storybook/addon-essentials": "^7.6.6",
"@storybook/addon-interactions": "^7.6.6",
"@storybook/addon-links": "^7.6.6",
"@storybook/addon-onboarding": "^1.0.10",
"@storybook/blocks": "^7.6.6",
"@storybook/react": "^7.6.6",
"@storybook/react-vite": "^7.6.6",
"@storybook/testing-library": "^0.2.2",
"@types/node": "^20.10.5",
"animate.css": "^4.1.1",
"autoprefixer": "^10.4.15",
"autoprefixer": "^10.4.16",
"concurrently": "^8.2.2",
"gettext-parser": "^7.0.1",
"gulp": "4.0.2",
@ -56,7 +57,7 @@
"gulp-concat": "^2.6.1",
"gulp-gzip": "^1.4.2",
"gulp-mustache": "^5.0.0",
"gulp-postcss": "^9.0.0",
"gulp-postcss": "^9.0.1",
"gulp-rename": "^2.0.0",
"gulp-sass": "^5.1.0",
"gulp-sourcemaps": "^3.0.0",
@ -64,39 +65,38 @@
"map-stream": "0.0.7",
"marked": "^7.0.5",
"mkdirp": "^3.0.1",
"nodemon": "^3.0.1",
"nodemon": "^3.0.2",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.29",
"postcss": "^8.4.32",
"postcss-clean": "^1.2.2",
"prettier": "^3.0.3",
"prettier": "^3.1.1",
"prop-types": "^15.8.1",
"rimraf": "^5.0.1",
"sass": "^1.66.1",
"rimraf": "^5.0.5",
"sass": "^1.69.5",
"shadow-cljs": "2.26.2",
"storybook": "^7.5.3",
"typescript": "^5.3.3",
"vite": "^5.0.2"
"vite": "^5.0.10"
},
"dependencies": {
"date-fns": "^2.30.0",
"draft-js": "^0.11.7",
"eventsource-parser": "^1.1.1",
"highlight.js": "^11.8.0",
"js-beautify": "^1.14.9",
"highlight.js": "^11.9.0",
"js-beautify": "^1.14.11",
"jszip": "^3.10.1",
"luxon": "^3.4.2",
"luxon": "^3.4.4",
"mousetrap": "^1.6.5",
"opentype.js": "^1.3.4",
"postcss-modules": "^6.0.0",
"randomcolor": "^0.6.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-virtualized": "^9.22.3",
"react-virtualized": "^9.22.5",
"rxjs": "8.0.0-alpha.13",
"sax": "^1.2.4",
"sax": "^1.3.0",
"source-map-support": "^0.5.21",
"tdigest": "^0.1.2",
"ua-parser-js": "^1.0.32",
"ua-parser-js": "^1.0.37",
"xregexp": "^5.1.1"
}
}

View file

@ -52,14 +52,25 @@
:anon-fn-naming-policy :off
:source-map-detail-level :all}}}
;; FIXME: maybe rename to :components ? (there are nothing storybook
;; related, is just an ESM export of components that will be used
;; initially on storybook but not limited to storybook)
:storybook
{:target :esm
:output-dir "target/storybook/"
:modules
{:design-system {:exports {default app.main.ui.components.design-system/default} }}
:js-options {:js-provider :import}
:js-options
{:js-provider :import}
:modules
{:base
{:entries []}
:icons
{:exports {default app.main.ui.icons/default}
:depends-on #{:base}}
:components
{:exports {:default app.main.ui.components/default}
:depends-on #{:base}}}
:compiler-options
{:output-feature-set :es2020
@ -106,7 +117,7 @@
:test
{:target :node-test
:output-to "target/tests.js"
:output-to "target/tests.cjs"
:output-dir "target/test/"
:ns-regexp "^frontend-tests.*-test$"
:autorun true

View file

@ -0,0 +1,20 @@
;; This Source Code Form is subject to the terms of the Mozilla Public
;; License, v. 2.0. If a copy of the MPL was not distributed with this
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
;;
;; Copyright (c) KALEIDOS INC
(ns app.main.ui.components
(:require
[app.main.ui.components.buttons.simple-button :as sb]
[rumext.v2 :as mf]))
(mf/defc story-wrapper
{::mf/wrap-props false}
[{:keys [children]}]
[:.default children])
(def default
"A export used for storybook"
#js {:SimpleButton sb/simple-button
:StoryWrapper story-wrapper})

View file

@ -1,31 +1,30 @@
import * as React from "react";
import ds from "@target/design-system";
const { SimpleButton, StoryWrapper, icons } = ds;
import Components from "@target/components";
import Icons from "@target/icons";
export default {
title: 'Buttons/Simple Button',
component: SimpleButton,
component: Components.SimpleButton,
};
export const Default = {
render: () => (
<StoryWrapper>
<SimpleButton>
<Components.StoryWrapper>
<Components.SimpleButton>
Simple Button
</SimpleButton>
</StoryWrapper>
</Components.SimpleButton>
</Components.StoryWrapper>
),
};
export const WithIcon = {
render: () => (
<StoryWrapper>
<SimpleButton>
{icons.IconAddRefactor}
<Components.StoryWrapper>
<Components.SimpleButton>
{Icons.AddRefactor}
Simple Button
</SimpleButton>
</StoryWrapper>
</Components.SimpleButton>
</Components.StoryWrapper>
),
}

View file

@ -1,16 +0,0 @@
(ns app.main.ui.components.design-system
(:require
[app.main.ui.components.buttons.simple-button :as sb]
[app.main.ui.icons :as icons]
[rumext.v2 :as mf]))
(mf/defc story-wrapper
{::mf/wrap-props false}
[{:keys [children]}]
[:.default children])
(def ^export default #js
{:icons #js
{:IconAddRefactor icons/add-refactor}
:StoryWrapper story-wrapper
:SimpleButton sb/simple-button})

View file

@ -5,7 +5,10 @@
;; Copyright (c) KALEIDOS INC
(ns app.main.ui.icons
(:require [rumext.v2]))
(:require
[clojure.core :as c]
[cuerdas.core :as str]
[rumext.v2]))
(defmacro icon-xref
[id]
@ -15,3 +18,12 @@
[:svg {:width 500 :height 500 :class ~class}
[:use {:href ~href}]])))
(defmacro collect-icons
[]
(let [ns-info (:ns &env)]
`(cljs.core/js-obj
~@(->> (:defs ns-info)
(map val)
(filter (fn [entry] (-> entry :meta :icon)))
(mapcat (fn [{:keys [name] :as entry}]
[(-> name c/name str/camel str/capital) name]))))))

View file

@ -6,470 +6,468 @@
(ns app.main.ui.icons
(:refer-clojure :exclude [import mask])
(:require-macros [app.main.ui.icons :refer [icon-xref]])
(:require-macros [app.main.ui.icons :refer [icon-xref collect-icons]])
(:require
[app.common.data :as d]
[cuerdas.core :as str]
[rumext.v2 :as mf]))
;; Keep the list of icons sorted
(def action (icon-xref :action))
(def actions (icon-xref :actions))
(def align-bottom (icon-xref :align-bottom))
(def align-content-column-around (icon-xref :align-content-column-around))
(def align-content-column-evenly (icon-xref :align-content-column-evenly))
(def align-content-column-between (icon-xref :align-content-column-between))
(def align-content-column-center (icon-xref :align-content-column-center))
(def align-content-column-end (icon-xref :align-content-column-end))
(def align-content-column-start (icon-xref :align-content-column-start))
(def align-content-row-around (icon-xref :align-content-row-around))
(def align-content-row-evenly (icon-xref :align-content-row-evenly))
(def align-content-row-between (icon-xref :align-content-row-between))
(def align-content-row-center (icon-xref :align-content-row-center))
(def align-content-row-end (icon-xref :align-content-row-end))
(def align-content-row-start (icon-xref :align-content-row-start))
(def align-items-column-baseline (icon-xref :align-items-column-baseline))
(def align-items-column-center (icon-xref :align-items-column-center))
(def align-items-column-end (icon-xref :align-items-column-end))
(def align-items-column-start (icon-xref :align-items-column-start))
(def align-items-column-strech (icon-xref :align-items-column-strech))
(def align-items-row-baseline (icon-xref :align-items-row-baseline))
(def align-items-row-center (icon-xref :align-items-row-center))
(def align-items-row-end (icon-xref :align-items-row-end))
(def align-items-row-start (icon-xref :align-items-row-start))
(def align-items-row-strech (icon-xref :align-items-row-strech))
(def align-self-column-baseline (icon-xref :align-self-column-baseline))
(def align-self-column-center (icon-xref :align-self-column-center))
(def align-self-column-top (icon-xref :align-self-column-top))
(def align-self-column-bottom (icon-xref :align-self-column-bottom))
(def align-self-column-strech (icon-xref :align-self-column-strech))
(def align-self-row-baseline (icon-xref :align-self-row-baseline))
(def align-self-row-center (icon-xref :align-self-row-center))
(def align-self-row-left (icon-xref :align-self-row-left))
(def align-self-row-right (icon-xref :align-self-row-right))
(def align-self-row-strech (icon-xref :align-self-row-strech))
(def align-middle (icon-xref :align-middle))
(def align-top (icon-xref :align-top))
(def alignment (icon-xref :alignment))
(def animate-down (icon-xref :animate-down))
(def animate-left (icon-xref :animate-left))
(def animate-right (icon-xref :animate-right))
(def animate-up (icon-xref :animate-up))
(def arrow-down (icon-xref :arrow-down))
(def arrow-end (icon-xref :arrow-end))
(def arrow-slide (icon-xref :arrow-slide))
(def arrow-up (icon-xref :arrow-up))
(def artboard (icon-xref :artboard))
(def at (icon-xref :at))
(def auto-direction (icon-xref :auto-direction))
(def auto-fill (icon-xref :auto-fill))
(def auto-fix (icon-xref :auto-fix))
(def auto-fix-layout (icon-xref :auto-fix-layout))
(def auto-gap (icon-xref :auto-gap))
(def auto-height (icon-xref :auto-height))
(def auto-hug (icon-xref :auto-hug))
(def auto-margin-side (icon-xref :auto-margin-side))
(def auto-margin-both-sides (icon-xref :auto-margin-both-sides))
(def auto-margin (icon-xref :auto-margin))
(def auto-padding (icon-xref :auto-padding))
(def auto-padding-side (icon-xref :auto-padding-side))
(def auto-padding-both-sides (icon-xref :auto-padding-both-sides))
(def auto-width (icon-xref :auto-width))
(def auto-wrap (icon-xref :auto-wrap))
(def bool-difference (icon-xref :boolean-difference))
(def bool-exclude (icon-xref :boolean-exclude))
(def bool-flatten (icon-xref :boolean-flatten))
(def bool-intersection (icon-xref :boolean-intersection))
(def bool-union (icon-xref :boolean-union))
(def box (icon-xref :box))
(def bug (icon-xref :bug))
(def chain (icon-xref :chain))
(def chat (icon-xref :chat))
(def checkbox-checked (icon-xref :checkbox-checked))
(def checkbox-unchecked (icon-xref :checkbox-unchecked))
(def checkbox-intermediate (icon-xref :checkbox-intermediate))
(def circle (icon-xref :circle))
(def close (icon-xref :close))
(def code (icon-xref :code))
(def component (icon-xref :component))
(def component-copy (icon-xref :component-copy))
(def copy (icon-xref :copy))
(def curve (icon-xref :curve))
(def cross (icon-xref :cross))
(def download (icon-xref :download))
(def easing-linear (icon-xref :easing-linear))
(def easing-ease (icon-xref :easing-ease))
(def easing-ease-in (icon-xref :easing-ease-in))
(def easing-ease-out (icon-xref :easing-ease-out))
(def easing-ease-in-out (icon-xref :easing-ease-in-out))
(def exclude (icon-xref :exclude))
(def exit (icon-xref :exit))
(def export (icon-xref :export))
(def eye (icon-xref :eye))
(def eye-closed (icon-xref :eye-closed))
(def file-html (icon-xref :file-html))
(def file-svg (icon-xref :file-svg))
(def fill (icon-xref :fill))
(def folder (icon-xref :folder))
(def folder-zip (icon-xref :folder-zip))
(def full-screen (icon-xref :full-screen))
(def full-screen-off (icon-xref :full-screen-off))
(def grid (icon-xref :grid))
(def grid-justify-content-column-around (icon-xref :grid-justify-content-column-around))
(def grid-justify-content-column-between (icon-xref :grid-justify-content-column-between))
(def grid-justify-content-column-center (icon-xref :grid-justify-content-column-center))
(def grid-justify-content-column-end (icon-xref :grid-justify-content-column-end))
(def grid-justify-content-column-start (icon-xref :grid-justify-content-column-start))
(def grid-justify-content-row-around (icon-xref :grid-justify-content-row-around))
(def grid-justify-content-row-between (icon-xref :grid-justify-content-row-between))
(def grid-justify-content-row-center (icon-xref :grid-justify-content-row-center))
(def grid-justify-content-row-end (icon-xref :grid-justify-content-row-end))
(def grid-justify-content-row-start (icon-xref :grid-justify-content-row-start))
(def grid-layout-mode (icon-xref :grid-layout-mode))
(def grid-snap (icon-xref :grid-snap))
(def go-next (icon-xref :go-next))
(def go-prev (icon-xref :go-prev))
(def help (icon-xref :help))
(def icon-empty (icon-xref :icon-empty))
(def icon-filter (icon-xref :filter))
(def icon-list (icon-xref :icon-list))
(def icon-lock (icon-xref :icon-lock))
(def icon-set (icon-xref :icon-set))
(def icon-verify (icon-xref :icon-verify))
(def image (icon-xref :image))
(def import (icon-xref :import))
(def infocard (icon-xref :infocard))
(def interaction (icon-xref :interaction))
(def justify-content-column-around (icon-xref :justify-content-column-around))
(def justify-content-column-evenly (icon-xref :justify-content-column-evenly))
(def justify-content-column-between (icon-xref :justify-content-column-between))
(def justify-content-column-center (icon-xref :justify-content-column-center))
(def justify-content-column-end (icon-xref :justify-content-column-end))
(def justify-content-column-start (icon-xref :justify-content-column-start))
(def justify-content-row-around (icon-xref :justify-content-row-around))
(def justify-content-row-evenly (icon-xref :justify-content-row-evenly))
(def justify-content-row-between (icon-xref :justify-content-row-between))
(def justify-content-row-center (icon-xref :justify-content-row-center))
(def justify-content-row-end (icon-xref :justify-content-row-end))
(def justify-content-row-start (icon-xref :justify-content-row-start))
(def icon-key (icon-xref :icon-key))
(def layers (icon-xref :layers))
(def layout-columns (icon-xref :layout-columns))
(def layout-rows (icon-xref :layout-rows))
(def letter-spacing (icon-xref :letter-spacing))
(def libraries (icon-xref :libraries))
(def library (icon-xref :library))
(def line (icon-xref :line))
(def line-height (icon-xref :line-height))
(def listing-enum (icon-xref :listing-enum))
(def listing-thumbs (icon-xref :listing-thumbs))
(def loader (icon-xref :loader))
(def lock (icon-xref :lock))
(def logo (icon-xref :penpot-logo))
(def logo-icon (icon-xref :penpot-logo-icon))
(def logo-error-screen (icon-xref :logo-error-screen))
(def logout (icon-xref :logout))
(def login-illustration (icon-xref :login-illustration))
(def lowercase (icon-xref :lowercase))
(def mail (icon-xref :mail))
(def mask (icon-xref :mask))
(def minus (icon-xref :minus))
(def move (icon-xref :move))
(def msg-error (icon-xref :msg-error))
(def msg-info (icon-xref :msg-info))
(def msg-success (icon-xref :msg-success))
(def msg-warning (icon-xref :msg-warning))
(def navigate (icon-xref :navigate))
(def nodes-add (icon-xref :nodes-add))
(def nodes-corner (icon-xref :nodes-corner))
(def nodes-curve (icon-xref :nodes-curve))
(def nodes-join (icon-xref :nodes-join))
(def nodes-merge (icon-xref :nodes-merge))
(def nodes-remove (icon-xref :nodes-remove))
(def nodes-separate (icon-xref :nodes-separate))
(def nodes-snap (icon-xref :nodes-snap))
(def organize (icon-xref :organize))
(def palette (icon-xref :palette))
(def pen (icon-xref :pen))
(def pencil (icon-xref :pencil))
(def picker (icon-xref :picker))
(def picker-harmony (icon-xref :picker-harmony))
(def picker-hsv (icon-xref :picker-hsv))
(def picker-ramp (icon-xref :picker-ramp))
(def pin (icon-xref :pin))
(def pin-fill (icon-xref :pin-fill))
(def play (icon-xref :play))
(def plus (icon-xref :plus))
(def pointer-inner (icon-xref :pointer-inner))
(def position-absolute (icon-xref :position-absolute))
(def position-bottom-center (icon-xref :position-bottom-center))
(def position-bottom-left (icon-xref :position-bottom-left))
(def position-bottom-right (icon-xref :position-bottom-right))
(def position-center (icon-xref :position-center))
(def position-top-center (icon-xref :position-top-center))
(def position-top-left (icon-xref :position-top-left))
(def position-top-right (icon-xref :position-top-right))
(def radius (icon-xref :radius))
(def radius-1 (icon-xref :radius-1))
(def radius-4 (icon-xref :radius-4))
(def recent (icon-xref :recent))
(def redo (icon-xref :redo))
(def reset (icon-xref :reset))
(def rotate (icon-xref :rotate))
(def ruler (icon-xref :ruler))
(def ruler-tool (icon-xref :ruler-tool))
(def search (icon-xref :search))
(def set-thumbnail (icon-xref :set-thumbnail))
(def shape-halign-center (icon-xref :shape-halign-center))
(def shape-halign-left (icon-xref :shape-halign-left))
(def shape-halign-right (icon-xref :shape-halign-right))
(def shape-hdistribute (icon-xref :shape-hdistribute))
(def shape-valign-bottom (icon-xref :shape-valign-bottom))
(def shape-valign-center (icon-xref :shape-valign-center))
(def shape-valign-top (icon-xref :shape-valign-top))
(def shape-vdistribute (icon-xref :shape-vdistribute))
(def shortcut (icon-xref :shortcut))
(def size-horiz (icon-xref :size-horiz))
(def size-vert (icon-xref :size-vert))
(def sort-ascending (icon-xref :sort-ascending))
(def sort-descending (icon-xref :sort-descending))
(def space-around (icon-xref :space-around))
(def space-between (icon-xref :space-between))
(def strikethrough (icon-xref :strikethrough))
(def stroke (icon-xref :stroke))
(def switch (icon-xref :switch))
(def text (icon-xref :text))
(def text-align-center (icon-xref :text-align-center))
(def text-align-justify (icon-xref :text-align-justify))
(def text-align-left (icon-xref :text-align-left))
(def text-align-right (icon-xref :text-align-right))
(def text-direction-ltr (icon-xref :text-direction-ltr))
(def text-direction-rtl (icon-xref :text-direction-rtl))
(def tick (icon-xref :tick))
(def titlecase (icon-xref :titlecase))
(def toggle (icon-xref :toggle))
(def trash (icon-xref :trash))
(def tree (icon-xref :tree))
(def unchain (icon-xref :unchain))
(def underline (icon-xref :underline))
(def undo (icon-xref :undo))
(def ungroup (icon-xref :ungroup))
(def unlock (icon-xref :unlock))
(def uppercase (icon-xref :uppercase))
(def user (icon-xref :user))
(def ^:icon action (icon-xref :action))
(def ^:icon actions (icon-xref :actions))
(def ^:icon align-bottom (icon-xref :align-bottom))
(def ^:icon align-content-column-around (icon-xref :align-content-column-around))
(def ^:icon align-content-column-evenly (icon-xref :align-content-column-evenly))
(def ^:icon align-content-column-between (icon-xref :align-content-column-between))
(def ^:icon align-content-column-center (icon-xref :align-content-column-center))
(def ^:icon align-content-column-end (icon-xref :align-content-column-end))
(def ^:icon align-content-column-start (icon-xref :align-content-column-start))
(def ^:icon align-content-row-around (icon-xref :align-content-row-around))
(def ^:icon align-content-row-evenly (icon-xref :align-content-row-evenly))
(def ^:icon align-content-row-between (icon-xref :align-content-row-between))
(def ^:icon align-content-row-center (icon-xref :align-content-row-center))
(def ^:icon align-content-row-end (icon-xref :align-content-row-end))
(def ^:icon align-content-row-start (icon-xref :align-content-row-start))
(def ^:icon align-items-column-baseline (icon-xref :align-items-column-baseline))
(def ^:icon align-items-column-center (icon-xref :align-items-column-center))
(def ^:icon align-items-column-end (icon-xref :align-items-column-end))
(def ^:icon align-items-column-start (icon-xref :align-items-column-start))
(def ^:icon align-items-column-strech (icon-xref :align-items-column-strech))
(def ^:icon align-items-row-baseline (icon-xref :align-items-row-baseline))
(def ^:icon align-items-row-center (icon-xref :align-items-row-center))
(def ^:icon align-items-row-end (icon-xref :align-items-row-end))
(def ^:icon align-items-row-start (icon-xref :align-items-row-start))
(def ^:icon align-items-row-strech (icon-xref :align-items-row-strech))
(def ^:icon align-self-column-baseline (icon-xref :align-self-column-baseline))
(def ^:icon align-self-column-center (icon-xref :align-self-column-center))
(def ^:icon align-self-column-top (icon-xref :align-self-column-top))
(def ^:icon align-self-column-bottom (icon-xref :align-self-column-bottom))
(def ^:icon align-self-column-strech (icon-xref :align-self-column-strech))
(def ^:icon align-self-row-baseline (icon-xref :align-self-row-baseline))
(def ^:icon align-self-row-center (icon-xref :align-self-row-center))
(def ^:icon align-self-row-left (icon-xref :align-self-row-left))
(def ^:icon align-self-row-right (icon-xref :align-self-row-right))
(def ^:icon align-self-row-strech (icon-xref :align-self-row-strech))
(def ^:icon align-middle (icon-xref :align-middle))
(def ^:icon align-top (icon-xref :align-top))
(def ^:icon alignment (icon-xref :alignment))
(def ^:icon animate-down (icon-xref :animate-down))
(def ^:icon animate-left (icon-xref :animate-left))
(def ^:icon animate-right (icon-xref :animate-right))
(def ^:icon animate-up (icon-xref :animate-up))
(def ^:icon arrow-down (icon-xref :arrow-down))
(def ^:icon arrow-end (icon-xref :arrow-end))
(def ^:icon arrow-slide (icon-xref :arrow-slide))
(def ^:icon arrow-up (icon-xref :arrow-up))
(def ^:icon artboard (icon-xref :artboard))
(def ^:icon at (icon-xref :at))
(def ^:icon auto-direction (icon-xref :auto-direction))
(def ^:icon auto-fill (icon-xref :auto-fill))
(def ^:icon auto-fix (icon-xref :auto-fix))
(def ^:icon auto-fix-layout (icon-xref :auto-fix-layout))
(def ^:icon auto-gap (icon-xref :auto-gap))
(def ^:icon auto-height (icon-xref :auto-height))
(def ^:icon auto-hug (icon-xref :auto-hug))
(def ^:icon auto-margin-side (icon-xref :auto-margin-side))
(def ^:icon auto-margin-both-sides (icon-xref :auto-margin-both-sides))
(def ^:icon auto-margin (icon-xref :auto-margin))
(def ^:icon auto-padding (icon-xref :auto-padding))
(def ^:icon auto-padding-side (icon-xref :auto-padding-side))
(def ^:icon auto-padding-both-sides (icon-xref :auto-padding-both-sides))
(def ^:icon auto-width (icon-xref :auto-width))
(def ^:icon auto-wrap (icon-xref :auto-wrap))
(def ^:icon bool-difference (icon-xref :boolean-difference))
(def ^:icon bool-exclude (icon-xref :boolean-exclude))
(def ^:icon bool-flatten (icon-xref :boolean-flatten))
(def ^:icon bool-intersection (icon-xref :boolean-intersection))
(def ^:icon bool-union (icon-xref :boolean-union))
(def ^:icon box (icon-xref :box))
(def ^:icon bug (icon-xref :bug))
(def ^:icon chain (icon-xref :chain))
(def ^:icon chat (icon-xref :chat))
(def ^:icon checkbox-checked (icon-xref :checkbox-checked))
(def ^:icon checkbox-unchecked (icon-xref :checkbox-unchecked))
(def ^:icon checkbox-intermediate (icon-xref :checkbox-intermediate))
(def ^:icon circle (icon-xref :circle))
(def ^:icon close (icon-xref :close))
(def ^:icon code (icon-xref :code))
(def ^:icon component (icon-xref :component))
(def ^:icon component-copy (icon-xref :component-copy))
(def ^:icon copy (icon-xref :copy))
(def ^:icon curve (icon-xref :curve))
(def ^:icon cross (icon-xref :cross))
(def ^:icon download (icon-xref :download))
(def ^:icon easing-linear (icon-xref :easing-linear))
(def ^:icon easing-ease (icon-xref :easing-ease))
(def ^:icon easing-ease-in (icon-xref :easing-ease-in))
(def ^:icon easing-ease-out (icon-xref :easing-ease-out))
(def ^:icon easing-ease-in-out (icon-xref :easing-ease-in-out))
(def ^:icon exclude (icon-xref :exclude))
(def ^:icon exit (icon-xref :exit))
(def ^:icon export (icon-xref :export))
(def ^:icon eye (icon-xref :eye))
(def ^:icon eye-closed (icon-xref :eye-closed))
(def ^:icon file-html (icon-xref :file-html))
(def ^:icon file-svg (icon-xref :file-svg))
(def ^:icon fill (icon-xref :fill))
(def ^:icon folder (icon-xref :folder))
(def ^:icon folder-zip (icon-xref :folder-zip))
(def ^:icon full-screen (icon-xref :full-screen))
(def ^:icon full-screen-off (icon-xref :full-screen-off))
(def ^:icon grid (icon-xref :grid))
(def ^:icon grid-justify-content-column-around (icon-xref :grid-justify-content-column-around))
(def ^:icon grid-justify-content-column-between (icon-xref :grid-justify-content-column-between))
(def ^:icon grid-justify-content-column-center (icon-xref :grid-justify-content-column-center))
(def ^:icon grid-justify-content-column-end (icon-xref :grid-justify-content-column-end))
(def ^:icon grid-justify-content-column-start (icon-xref :grid-justify-content-column-start))
(def ^:icon grid-justify-content-row-around (icon-xref :grid-justify-content-row-around))
(def ^:icon grid-justify-content-row-between (icon-xref :grid-justify-content-row-between))
(def ^:icon grid-justify-content-row-center (icon-xref :grid-justify-content-row-center))
(def ^:icon grid-justify-content-row-end (icon-xref :grid-justify-content-row-end))
(def ^:icon grid-justify-content-row-start (icon-xref :grid-justify-content-row-start))
(def ^:icon grid-layout-mode (icon-xref :grid-layout-mode))
(def ^:icon grid-snap (icon-xref :grid-snap))
(def ^:icon go-next (icon-xref :go-next))
(def ^:icon go-prev (icon-xref :go-prev))
(def ^:icon help (icon-xref :help))
(def ^:icon icon-empty (icon-xref :icon-empty))
(def ^:icon icon-filter (icon-xref :filter))
(def ^:icon icon-list (icon-xref :icon-list))
(def ^:icon icon-lock (icon-xref :icon-lock))
(def ^:icon icon-set (icon-xref :icon-set))
(def ^:icon icon-verify (icon-xref :icon-verify))
(def ^:icon image (icon-xref :image))
(def ^:icon import (icon-xref :import))
(def ^:icon infocard (icon-xref :infocard))
(def ^:icon interaction (icon-xref :interaction))
(def ^:icon justify-content-column-around (icon-xref :justify-content-column-around))
(def ^:icon justify-content-column-evenly (icon-xref :justify-content-column-evenly))
(def ^:icon justify-content-column-between (icon-xref :justify-content-column-between))
(def ^:icon justify-content-column-center (icon-xref :justify-content-column-center))
(def ^:icon justify-content-column-end (icon-xref :justify-content-column-end))
(def ^:icon justify-content-column-start (icon-xref :justify-content-column-start))
(def ^:icon justify-content-row-around (icon-xref :justify-content-row-around))
(def ^:icon justify-content-row-evenly (icon-xref :justify-content-row-evenly))
(def ^:icon justify-content-row-between (icon-xref :justify-content-row-between))
(def ^:icon justify-content-row-center (icon-xref :justify-content-row-center))
(def ^:icon justify-content-row-end (icon-xref :justify-content-row-end))
(def ^:icon justify-content-row-start (icon-xref :justify-content-row-start))
(def ^:icon icon-key (icon-xref :icon-key))
(def ^:icon layers (icon-xref :layers))
(def ^:icon layout-columns (icon-xref :layout-columns))
(def ^:icon layout-rows (icon-xref :layout-rows))
(def ^:icon letter-spacing (icon-xref :letter-spacing))
(def ^:icon libraries (icon-xref :libraries))
(def ^:icon library (icon-xref :library))
(def ^:icon line (icon-xref :line))
(def ^:icon line-height (icon-xref :line-height))
(def ^:icon listing-enum (icon-xref :listing-enum))
(def ^:icon listing-thumbs (icon-xref :listing-thumbs))
(def ^:icon loader (icon-xref :loader))
(def ^:icon lock (icon-xref :lock))
(def ^:icon logo (icon-xref :penpot-logo))
(def ^:icon logo-icon (icon-xref :penpot-logo-icon))
(def ^:icon logo-error-screen (icon-xref :logo-error-screen))
(def ^:icon logout (icon-xref :logout))
(def ^:icon login-illustration (icon-xref :login-illustration))
(def ^:icon lowercase (icon-xref :lowercase))
(def ^:icon mail (icon-xref :mail))
(def ^:icon mask (icon-xref :mask))
(def ^:icon minus (icon-xref :minus))
(def ^:icon move (icon-xref :move))
(def ^:icon msg-error (icon-xref :msg-error))
(def ^:icon msg-info (icon-xref :msg-info))
(def ^:icon msg-success (icon-xref :msg-success))
(def ^:icon msg-warning (icon-xref :msg-warning))
(def ^:icon navigate (icon-xref :navigate))
(def ^:icon nodes-add (icon-xref :nodes-add))
(def ^:icon nodes-corner (icon-xref :nodes-corner))
(def ^:icon nodes-curve (icon-xref :nodes-curve))
(def ^:icon nodes-join (icon-xref :nodes-join))
(def ^:icon nodes-merge (icon-xref :nodes-merge))
(def ^:icon nodes-remove (icon-xref :nodes-remove))
(def ^:icon nodes-separate (icon-xref :nodes-separate))
(def ^:icon nodes-snap (icon-xref :nodes-snap))
(def ^:icon organize (icon-xref :organize))
(def ^:icon palette (icon-xref :palette))
(def ^:icon pen (icon-xref :pen))
(def ^:icon pencil (icon-xref :pencil))
(def ^:icon picker (icon-xref :picker))
(def ^:icon picker-harmony (icon-xref :picker-harmony))
(def ^:icon picker-hsv (icon-xref :picker-hsv))
(def ^:icon picker-ramp (icon-xref :picker-ramp))
(def ^:icon pin (icon-xref :pin))
(def ^:icon pin-fill (icon-xref :pin-fill))
(def ^:icon play (icon-xref :play))
(def ^:icon plus (icon-xref :plus))
(def ^:icon pointer-inner (icon-xref :pointer-inner))
(def ^:icon position-absolute (icon-xref :position-absolute))
(def ^:icon position-bottom-center (icon-xref :position-bottom-center))
(def ^:icon position-bottom-left (icon-xref :position-bottom-left))
(def ^:icon position-bottom-right (icon-xref :position-bottom-right))
(def ^:icon position-center (icon-xref :position-center))
(def ^:icon position-top-center (icon-xref :position-top-center))
(def ^:icon position-top-left (icon-xref :position-top-left))
(def ^:icon position-top-right (icon-xref :position-top-right))
(def ^:icon radius (icon-xref :radius))
(def ^:icon radius-1 (icon-xref :radius-1))
(def ^:icon radius-4 (icon-xref :radius-4))
(def ^:icon recent (icon-xref :recent))
(def ^:icon redo (icon-xref :redo))
(def ^:icon reset (icon-xref :reset))
(def ^:icon rotate (icon-xref :rotate))
(def ^:icon ruler (icon-xref :ruler))
(def ^:icon ruler-tool (icon-xref :ruler-tool))
(def ^:icon search (icon-xref :search))
(def ^:icon set-thumbnail (icon-xref :set-thumbnail))
(def ^:icon shape-halign-center (icon-xref :shape-halign-center))
(def ^:icon shape-halign-left (icon-xref :shape-halign-left))
(def ^:icon shape-halign-right (icon-xref :shape-halign-right))
(def ^:icon shape-hdistribute (icon-xref :shape-hdistribute))
(def ^:icon shape-valign-bottom (icon-xref :shape-valign-bottom))
(def ^:icon shape-valign-center (icon-xref :shape-valign-center))
(def ^:icon shape-valign-top (icon-xref :shape-valign-top))
(def ^:icon shape-vdistribute (icon-xref :shape-vdistribute))
(def ^:icon shortcut (icon-xref :shortcut))
(def ^:icon size-horiz (icon-xref :size-horiz))
(def ^:icon size-vert (icon-xref :size-vert))
(def ^:icon sort-ascending (icon-xref :sort-ascending))
(def ^:icon sort-descending (icon-xref :sort-descending))
(def ^:icon space-around (icon-xref :space-around))
(def ^:icon space-between (icon-xref :space-between))
(def ^:icon strikethrough (icon-xref :strikethrough))
(def ^:icon stroke (icon-xref :stroke))
(def ^:icon switch (icon-xref :switch))
(def ^:icon text (icon-xref :text))
(def ^:icon text-align-center (icon-xref :text-align-center))
(def ^:icon text-align-justify (icon-xref :text-align-justify))
(def ^:icon text-align-left (icon-xref :text-align-left))
(def ^:icon text-align-right (icon-xref :text-align-right))
(def ^:icon text-direction-ltr (icon-xref :text-direction-ltr))
(def ^:icon text-direction-rtl (icon-xref :text-direction-rtl))
(def ^:icon tick (icon-xref :tick))
(def ^:icon titlecase (icon-xref :titlecase))
(def ^:icon toggle (icon-xref :toggle))
(def ^:icon trash (icon-xref :trash))
(def ^:icon tree (icon-xref :tree))
(def ^:icon unchain (icon-xref :unchain))
(def ^:icon underline (icon-xref :underline))
(def ^:icon undo (icon-xref :undo))
(def ^:icon ungroup (icon-xref :ungroup))
(def ^:icon unlock (icon-xref :unlock))
(def ^:icon uppercase (icon-xref :uppercase))
(def ^:icon user (icon-xref :user))
(def brand-openid (icon-xref :brand-openid))
(def brand-github (icon-xref :brand-github))
(def brand-gitlab (icon-xref :brand-gitlab))
(def brand-google (icon-xref :brand-google))
(def ^:icon brand-openid (icon-xref :brand-openid))
(def ^:icon brand-github (icon-xref :brand-github))
(def ^:icon brand-gitlab (icon-xref :brand-gitlab))
(def ^:icon brand-google (icon-xref :brand-google))
(def add-refactor (icon-xref :add-refactor))
(def arrow-refactor (icon-xref :arrow-refactor))
(def asc-sort-refactor (icon-xref :asc-sort-refactor))
(def absolute-refactor (icon-xref :absolute-refactor))
(def align-bottom-refactor (icon-xref :align-bottom-refactor))
(def align-content-row-center-refactor (icon-xref :align-content-row-center-refactor))
(def align-content-column-around-refactor (icon-xref :align-content-column-around-refactor))
(def align-content-column-between-refactor (icon-xref :align-content-column-between-refactor))
(def align-content-column-center-refactor (icon-xref :align-content-column-center-refactor))
(def align-content-column-evenly-refactor (icon-xref :align-content-column-evenly-refactor))
(def align-content-column-start-refactor (icon-xref :align-content-column-start-refactor))
(def align-content-column-end-refactor (icon-xref :align-content-column-end-refactor))
(def align-content-column-stretch-refactor (icon-xref :align-content-column-stretch-refactor))
(def align-content-row-end-refactor (icon-xref :align-content-row-end-refactor))
(def align-content-row-around-refactor (icon-xref :align-content-row-around-refactor))
(def align-content-row-between-refactor (icon-xref :align-content-row-between-refactor))
(def align-content-row-evenly-refactor (icon-xref :align-content-row-evenly-refactor))
(def align-content-row-start-refactor (icon-xref :align-content-row-start-refactor))
(def align-content-row-stretch-refactor (icon-xref :align-content-row-stretch-refactor))
(def align-horizontal-center-refactor (icon-xref :align-horizontal-center-refactor))
(def align-vertical-center-refactor (icon-xref :align-vertical-center-refactor))
(def align-items-row-center-refactor (icon-xref :align-items-row-center-refactor))
(def align-items-row-end-refactor (icon-xref :align-items-row-end-refactor))
(def align-items-row-start-refactor (icon-xref :align-items-row-start-refactor))
(def align-items-column-start-refactor (icon-xref :align-items-column-start-refactor))
(def align-items-column-end-refactor (icon-xref :align-items-column-end-refactor))
(def align-items-column-center-refactor (icon-xref :align-items-column-center-refactor))
(def align-left-refactor (icon-xref :align-left-refactor))
(def align-right-refactor (icon-xref :align-right-refactor))
(def align-top-refactor (icon-xref :align-top-refactor))
(def align-self-column-bottom-refactor (icon-xref :align-self-column-bottom-refactor))
(def align-self-column-center-refactor (icon-xref :align-self-column-center-refactor))
(def align-self-column-top-refactor (icon-xref :align-self-column-top-refactor))
(def align-self-row-center-refactor (icon-xref :align-self-row-center-refactor))
(def align-self-row-left-refactor (icon-xref :align-self-row-left-refactor))
(def align-self-row-right-refactor (icon-xref :align-self-row-right-refactor))
(def board-refactor (icon-xref :board-refactor))
(def boards-thumbnail-refactor (icon-xref :boards-thumbnail-refactor))
(def boolean-difference-refactor (icon-xref :boolean-difference-refactor))
(def boolean-exclude-refactor (icon-xref :boolean-exclude-refactor))
(def boolean-flatten-refactor (icon-xref :boolean-flatten-refactor))
(def boolean-intersection-refactor (icon-xref :boolean-intersection-refactor))
(def boolean-union-refactor (icon-xref :boolean-union-refactor))
(def bug-refactor (icon-xref :bug-refactor))
(def clip-content-refactor (icon-xref :clip-content-refactor))
(def clipboard-refactor (icon-xref :clipboard-refactor))
(def close-refactor (icon-xref :close-refactor))
(def close-small-refactor (icon-xref :close-small-refactor))
(def code-refactor (icon-xref :code-refactor))
(def component-refactor (icon-xref :component-refactor))
(def comments-refactor (icon-xref :comments-refactor))
(def copy-refactor (icon-xref :copy-refactor))
(def column-refactor (icon-xref :column-refactor))
(def column-reverse-refactor (icon-xref :column-reverse-refactor))
(def constraint-horizontal-refactor (icon-xref :constraint-horizontal-refactor))
(def constraint-vertical-refactor (icon-xref :constraint-vertical-refactor))
(def corner-radius-refactor (icon-xref :corner-radius-refactor))
(def curve-refactor (icon-xref :curve-refactor))
(def distribute-vertical-spacing-refactor (icon-xref :distribute-vertical-spacing-refactor))
(def distribute-horizontally-refactor (icon-xref :distribute-horizontally-refactor))
(def delete-refactor (icon-xref :delete-refactor))
(def delete-text-refactor (icon-xref :delete-text-refactor))
(def desc-sort-refactor (icon-xref :desc-sort-refactor))
(def detach-refactor (icon-xref :detach-refactor))
(def document-refactor (icon-xref :document-refactor))
(def drop-refactor (icon-xref :drop-refactor))
(def easing-linear-refactor (icon-xref :easing-linear-refactor))
(def easing-ease-refactor (icon-xref :easing-ease-refactor))
(def easing-ease-in-refactor (icon-xref :easing-ease-in-refactor))
(def easing-ease-out-refactor (icon-xref :easing-ease-out-refactor))
(def easing-ease-in-out-refactor (icon-xref :easing-ease-in-out-refactor))
(def effects-refactor (icon-xref :effects-refactor))
(def elipse-refactor (icon-xref :elipse-refactor))
(def expand-refactor (icon-xref :expand-refactor))
(def fill-content-refactor (icon-xref :fill-content-refactor))
(def filter-refactor (icon-xref :filter-refactor))
(def fixed-width-refactor (icon-xref :fixed-width-refactor))
(def flex-refactor (icon-xref :flex-refactor))
(def flex-horizontal-refactor (icon-xref :flex-horizontal-refactor))
(def flex-grid-refactor (icon-xref :flex-grid-refactor))
(def flex-vertical-refactor (icon-xref :flex-vertical-refactor))
(def flip-horizontal-refactor (icon-xref :flip-horizontal-refactor))
(def grid-column-refactor (icon-xref :grid-column-refactor))
(def grid-columns-refactor (icon-xref :grid-columns-refactor))
(def grid-gutter-refactor (icon-xref :grid-gutter-refactor))
(def grid-margin-refactor (icon-xref :grid-margin-refactor))
(def grid-row-refactor (icon-xref :grid-row-refactor))
(def grid-rows-refactor (icon-xref :grid-rows-refactor))
(def grid-square-refactor (icon-xref :grid-square-refactor))
(def grid-refactor (icon-xref :grid-refactor))
(def group-refactor (icon-xref :group-refactor))
(def graphics-refactor (icon-xref :graphics-refactor))
(def gap-horizontal-refactor (icon-xref :gap-horizontal-refactor))
(def gap-vertical-refactor (icon-xref :gap-vertical-refactor))
(def help-refactor (icon-xref :help-refactor))
(def hide-refactor (icon-xref :hide-refactor))
(def history-refactor (icon-xref :history-refactor))
(def hsva-refactor (icon-xref :hsva-refactor))
(def hug-content-refactor (icon-xref :hug-content-refactor))
(def img-refactor (icon-xref :img-refactor))
(def icon-refactor (icon-xref :icon-refactor))
(def interaction-refactor (icon-xref :interaction-refactor))
(def join-nodes-refactor (icon-xref :join-nodes-refactor))
(def justify-content-column-around-refactor (icon-xref :justify-content-column-around-refactor))
(def justify-content-column-between-refactor (icon-xref :justify-content-column-between-refactor))
(def justify-content-column-center-refactor (icon-xref :justify-content-column-center-refactor))
(def justify-content-column-end-refactor (icon-xref :justify-content-column-end-refactor))
(def justify-content-column-evenly-refactor (icon-xref :justify-content-column-evenly-refactor))
(def justify-content-column-start-refactor (icon-xref :justify-content-column-start-refactor))
(def justify-content-row-center-refactor (icon-xref :justify-content-row-center-refactor))
(def justify-content-row-end-refactor (icon-xref :justify-content-row-end-refactor))
(def justify-content-row-start-refactor (icon-xref :justify-content-row-start-refactor))
(def justify-content-row-between-refactor (icon-xref :justify-content-row-between-refactor))
(def justify-content-row-around-refactor (icon-xref :justify-content-row-around-refactor))
(def justify-content-row-evenly-refactor (icon-xref :justify-content-row-evenly-refactor))
(def layers-refactor (icon-xref :layers-refactor))
(def locate-refactor (icon-xref :locate-refactor))
(def lock-refactor (icon-xref :lock-refactor))
(def library-refactor (icon-xref :library-refactor))
(def margin-bottom-refactor (icon-xref :margin-bottom-refactor))
(def margin-left-refactor (icon-xref :margin-left-refactor))
(def margin-left-right-refactor (icon-xref :margin-left-right-refactor))
(def margin-refactor (icon-xref :margin-refactor))
(def margin-right-refactor (icon-xref :margin-right-refactor))
(def margin-top-refactor (icon-xref :margin-top-refactor))
(def margin-top-bottom-refactor (icon-xref :margin-top-bottom-refactor))
(def mask-refactor (icon-xref :mask-refactor))
(def masked-refactor (icon-xref :masked-refactor))
(def menu-refactor (icon-xref :menu-refactor))
(def merge-nodes-refactor (icon-xref :merge-nodes-refactor))
(def msg-error-refactor (icon-xref :msg-error-refactor))
(def msg-neutral-refactor (icon-xref :msg-neutral-refactor))
(def msg-success-refactor (icon-xref :msg-success-refactor))
(def msg-warning-refactor (icon-xref :msg-warning-refactor))
(def move-refactor (icon-xref :move-refactor))
(def open-link-refactor (icon-xref :open-link-refactor))
(def open-refactor (icon-xref :open-refactor))
(def padding-bottom-refactor (icon-xref :padding-bottom-refactor))
(def padding-top-refactor (icon-xref :padding-top-refactor))
(def padding-top-bottom-refactor (icon-xref :padding-top-bottom-refactor))
(def padding-left-refactor (icon-xref :padding-left-refactor))
(def padding-left-right-refactor (icon-xref :padding-left-right-refactor))
(def padding-right-refactor (icon-xref :padding-right-refactor))
(def padding-extended-refactor (icon-xref :padding-extended-refactor))
(def path-refactor (icon-xref :path-refactor))
(def pentool-refactor (icon-xref :pentool-refactor))
(def picker-refactor (icon-xref :picker-refactor))
(def play-refactor (icon-xref :play-refactor))
(def rectangle-refactor (icon-xref :rectangle-refactor))
(def reload-refactor (icon-xref :reload-refactor))
(def remove-refactor (icon-xref :remove-refactor))
(def rgba-refactor (icon-xref :rgba-refactor))
(def rgba-complementary-refactor (icon-xref :rgba-complementary-refactor))
(def rotation-refactor (icon-xref :rotation-refactor))
(def row-reverse-refactor (icon-xref :row-reverse-refactor))
(def search-refactor (icon-xref :search-refactor))
(def separate-nodes-refactor (icon-xref :separate-nodes-refactor))
(def size-horizontal-refactor (icon-xref :size-horizontal-refactor))
(def size-vertical-refactor (icon-xref :size-vertical-refactor))
(def shown-refactor (icon-xref :shown-refactor))
(def snap-nodes-refactor (icon-xref :snap-nodes-refactor))
(def status-alert-refactor (icon-xref :status-alert-refactor))
(def status-update-refactor (icon-xref :status-update-refactor))
(def status-tick-refactor (icon-xref :status-tick-refactor))
(def status-wrong-refactor (icon-xref :status-wrong-refactor))
(def stroke-size-refactor (icon-xref :stroke-size-refactor))
(def svg-refactor (icon-xref :svg-refactor))
(def swatches-refactor (icon-xref :swatches-refactor))
(def switch-refactor (icon-xref :switch-refactor))
(def text-align-center-refactor (icon-xref :text-align-center-refactor))
(def text-align-left-refactor (icon-xref :text-align-left-refactor))
(def text-align-right-refactor (icon-xref :text-align-right-refactor))
(def text-auto-height-refactor (icon-xref :text-auto-height-refactor))
(def text-auto-width-refactor (icon-xref :text-auto-width-refactor))
(def text-fixed-refactor (icon-xref :text-fixed-refactor))
(def text-justify-refactor (icon-xref :text-justify-refactor))
(def text-letterspacing-refactor (icon-xref :text-letterspacing-refactor))
(def text-lineheight-refactor (icon-xref :text-lineheight-refactor))
(def text-lowercase-refactor (icon-xref :text-lowercase-refactor))
(def text-palette-refactor (icon-xref :text-palette-refactor))
(def text-paragraph-refactor (icon-xref :text-paragraph-refactor))
(def text-refactor (icon-xref :text-refactor))
(def text-bottom-refactor (icon-xref :text-bottom-refactor))
(def text-ltr-refactor (icon-xref :text-ltr-refactor))
(def text-rtl-refactor (icon-xref :text-rtl-refactor))
(def text-middle-refactor (icon-xref :text-middle-refactor))
(def text-mixed-refactor (icon-xref :text-mixed-refactor))
(def text-stroked-refactor (icon-xref :text-stroked-refactor))
(def text-top-refactor (icon-xref :text-top-refactor))
(def text-underlined-refactor (icon-xref :text-underlined-refactor))
(def text-uppercase-refactor (icon-xref :text-uppercase-refactor))
(def tick-refactor (icon-xref :tick-refactor))
(def tree-refactor (icon-xref :tree-refactor))
(def to-corner-refactor (icon-xref :to-corner-refactor))
(def to-curve-refactor (icon-xref :to-curve-refactor))
(def unlock-refactor (icon-xref :unlock-refactor))
(def user-refactor (icon-xref :user-refactor))
(def vertical-align-items-center-refactor (icon-xref :vertical-align-items-center-refactor))
(def vertical-align-items-end-refactor (icon-xref :vertical-align-items-end-refactor))
(def vertical-align-items-start-refactor (icon-xref :vertical-align-items-start-refactor))
(def view-as-icons-refactor (icon-xref :view-as-icons-refactor))
(def wrap-refactor (icon-xref :wrap-refactor))
(def view-as-list-refactor (icon-xref :view-as-list-refactor))
(def loader-pencil
(def ^:icon add-refactor (icon-xref :add-refactor))
(def ^:icon arrow-refactor (icon-xref :arrow-refactor))
(def ^:icon asc-sort-refactor (icon-xref :asc-sort-refactor))
(def ^:icon absolute-refactor (icon-xref :absolute-refactor))
(def ^:icon align-bottom-refactor (icon-xref :align-bottom-refactor))
(def ^:icon align-content-row-center-refactor (icon-xref :align-content-row-center-refactor))
(def ^:icon align-content-column-around-refactor (icon-xref :align-content-column-around-refactor))
(def ^:icon align-content-column-between-refactor (icon-xref :align-content-column-between-refactor))
(def ^:icon align-content-column-center-refactor (icon-xref :align-content-column-center-refactor))
(def ^:icon align-content-column-evenly-refactor (icon-xref :align-content-column-evenly-refactor))
(def ^:icon align-content-column-start-refactor (icon-xref :align-content-column-start-refactor))
(def ^:icon align-content-column-end-refactor (icon-xref :align-content-column-end-refactor))
(def ^:icon align-content-column-stretch-refactor (icon-xref :align-content-column-stretch-refactor))
(def ^:icon align-content-row-end-refactor (icon-xref :align-content-row-end-refactor))
(def ^:icon align-content-row-around-refactor (icon-xref :align-content-row-around-refactor))
(def ^:icon align-content-row-between-refactor (icon-xref :align-content-row-between-refactor))
(def ^:icon align-content-row-evenly-refactor (icon-xref :align-content-row-evenly-refactor))
(def ^:icon align-content-row-start-refactor (icon-xref :align-content-row-start-refactor))
(def ^:icon align-content-row-stretch-refactor (icon-xref :align-content-row-stretch-refactor))
(def ^:icon align-horizontal-center-refactor (icon-xref :align-horizontal-center-refactor))
(def ^:icon align-vertical-center-refactor (icon-xref :align-vertical-center-refactor))
(def ^:icon align-items-row-center-refactor (icon-xref :align-items-row-center-refactor))
(def ^:icon align-items-row-end-refactor (icon-xref :align-items-row-end-refactor))
(def ^:icon align-items-row-start-refactor (icon-xref :align-items-row-start-refactor))
(def ^:icon align-items-column-start-refactor (icon-xref :align-items-column-start-refactor))
(def ^:icon align-items-column-end-refactor (icon-xref :align-items-column-end-refactor))
(def ^:icon align-items-column-center-refactor (icon-xref :align-items-column-center-refactor))
(def ^:icon align-left-refactor (icon-xref :align-left-refactor))
(def ^:icon align-right-refactor (icon-xref :align-right-refactor))
(def ^:icon align-top-refactor (icon-xref :align-top-refactor))
(def ^:icon align-self-column-bottom-refactor (icon-xref :align-self-column-bottom-refactor))
(def ^:icon align-self-column-center-refactor (icon-xref :align-self-column-center-refactor))
(def ^:icon align-self-column-top-refactor (icon-xref :align-self-column-top-refactor))
(def ^:icon align-self-row-center-refactor (icon-xref :align-self-row-center-refactor))
(def ^:icon align-self-row-left-refactor (icon-xref :align-self-row-left-refactor))
(def ^:icon align-self-row-right-refactor (icon-xref :align-self-row-right-refactor))
(def ^:icon board-refactor (icon-xref :board-refactor))
(def ^:icon boards-thumbnail-refactor (icon-xref :boards-thumbnail-refactor))
(def ^:icon boolean-difference-refactor (icon-xref :boolean-difference-refactor))
(def ^:icon boolean-exclude-refactor (icon-xref :boolean-exclude-refactor))
(def ^:icon boolean-flatten-refactor (icon-xref :boolean-flatten-refactor))
(def ^:icon boolean-intersection-refactor (icon-xref :boolean-intersection-refactor))
(def ^:icon boolean-union-refactor (icon-xref :boolean-union-refactor))
(def ^:icon bug-refactor (icon-xref :bug-refactor))
(def ^:icon clip-content-refactor (icon-xref :clip-content-refactor))
(def ^:icon clipboard-refactor (icon-xref :clipboard-refactor))
(def ^:icon close-refactor (icon-xref :close-refactor))
(def ^:icon close-small-refactor (icon-xref :close-small-refactor))
(def ^:icon code-refactor (icon-xref :code-refactor))
(def ^:icon component-refactor (icon-xref :component-refactor))
(def ^:icon comments-refactor (icon-xref :comments-refactor))
(def ^:icon copy-refactor (icon-xref :copy-refactor))
(def ^:icon column-refactor (icon-xref :column-refactor))
(def ^:icon column-reverse-refactor (icon-xref :column-reverse-refactor))
(def ^:icon constraint-horizontal-refactor (icon-xref :constraint-horizontal-refactor))
(def ^:icon constraint-vertical-refactor (icon-xref :constraint-vertical-refactor))
(def ^:icon corner-radius-refactor (icon-xref :corner-radius-refactor))
(def ^:icon curve-refactor (icon-xref :curve-refactor))
(def ^:icon distribute-vertical-spacing-refactor (icon-xref :distribute-vertical-spacing-refactor))
(def ^:icon distribute-horizontally-refactor (icon-xref :distribute-horizontally-refactor))
(def ^:icon delete-refactor (icon-xref :delete-refactor))
(def ^:icon delete-text-refactor (icon-xref :delete-text-refactor))
(def ^:icon desc-sort-refactor (icon-xref :desc-sort-refactor))
(def ^:icon detach-refactor (icon-xref :detach-refactor))
(def ^:icon document-refactor (icon-xref :document-refactor))
(def ^:icon drop-refactor (icon-xref :drop-refactor))
(def ^:icon easing-linear-refactor (icon-xref :easing-linear-refactor))
(def ^:icon easing-ease-refactor (icon-xref :easing-ease-refactor))
(def ^:icon easing-ease-in-refactor (icon-xref :easing-ease-in-refactor))
(def ^:icon easing-ease-out-refactor (icon-xref :easing-ease-out-refactor))
(def ^:icon easing-ease-in-out-refactor (icon-xref :easing-ease-in-out-refactor))
(def ^:icon effects-refactor (icon-xref :effects-refactor))
(def ^:icon elipse-refactor (icon-xref :elipse-refactor))
(def ^:icon expand-refactor (icon-xref :expand-refactor))
(def ^:icon fill-content-refactor (icon-xref :fill-content-refactor))
(def ^:icon filter-refactor (icon-xref :filter-refactor))
(def ^:icon fixed-width-refactor (icon-xref :fixed-width-refactor))
(def ^:icon flex-refactor (icon-xref :flex-refactor))
(def ^:icon flex-horizontal-refactor (icon-xref :flex-horizontal-refactor))
(def ^:icon flex-grid-refactor (icon-xref :flex-grid-refactor))
(def ^:icon flex-vertical-refactor (icon-xref :flex-vertical-refactor))
(def ^:icon flip-horizontal-refactor (icon-xref :flip-horizontal-refactor))
(def ^:icon grid-column-refactor (icon-xref :grid-column-refactor))
(def ^:icon grid-columns-refactor (icon-xref :grid-columns-refactor))
(def ^:icon grid-gutter-refactor (icon-xref :grid-gutter-refactor))
(def ^:icon grid-margin-refactor (icon-xref :grid-margin-refactor))
(def ^:icon grid-row-refactor (icon-xref :grid-row-refactor))
(def ^:icon grid-rows-refactor (icon-xref :grid-rows-refactor))
(def ^:icon grid-square-refactor (icon-xref :grid-square-refactor))
(def ^:icon grid-refactor (icon-xref :grid-refactor))
(def ^:icon group-refactor (icon-xref :group-refactor))
(def ^:icon graphics-refactor (icon-xref :graphics-refactor))
(def ^:icon gap-horizontal-refactor (icon-xref :gap-horizontal-refactor))
(def ^:icon gap-vertical-refactor (icon-xref :gap-vertical-refactor))
(def ^:icon help-refactor (icon-xref :help-refactor))
(def ^:icon hide-refactor (icon-xref :hide-refactor))
(def ^:icon history-refactor (icon-xref :history-refactor))
(def ^:icon hsva-refactor (icon-xref :hsva-refactor))
(def ^:icon hug-content-refactor (icon-xref :hug-content-refactor))
(def ^:icon img-refactor (icon-xref :img-refactor))
(def ^:icon icon-refactor (icon-xref :icon-refactor))
(def ^:icon interaction-refactor (icon-xref :interaction-refactor))
(def ^:icon join-nodes-refactor (icon-xref :join-nodes-refactor))
(def ^:icon justify-content-column-around-refactor (icon-xref :justify-content-column-around-refactor))
(def ^:icon justify-content-column-between-refactor (icon-xref :justify-content-column-between-refactor))
(def ^:icon justify-content-column-center-refactor (icon-xref :justify-content-column-center-refactor))
(def ^:icon justify-content-column-end-refactor (icon-xref :justify-content-column-end-refactor))
(def ^:icon justify-content-column-evenly-refactor (icon-xref :justify-content-column-evenly-refactor))
(def ^:icon justify-content-column-start-refactor (icon-xref :justify-content-column-start-refactor))
(def ^:icon justify-content-row-center-refactor (icon-xref :justify-content-row-center-refactor))
(def ^:icon justify-content-row-end-refactor (icon-xref :justify-content-row-end-refactor))
(def ^:icon justify-content-row-start-refactor (icon-xref :justify-content-row-start-refactor))
(def ^:icon justify-content-row-between-refactor (icon-xref :justify-content-row-between-refactor))
(def ^:icon justify-content-row-around-refactor (icon-xref :justify-content-row-around-refactor))
(def ^:icon justify-content-row-evenly-refactor (icon-xref :justify-content-row-evenly-refactor))
(def ^:icon layers-refactor (icon-xref :layers-refactor))
(def ^:icon locate-refactor (icon-xref :locate-refactor))
(def ^:icon lock-refactor (icon-xref :lock-refactor))
(def ^:icon library-refactor (icon-xref :library-refactor))
(def ^:icon margin-bottom-refactor (icon-xref :margin-bottom-refactor))
(def ^:icon margin-left-refactor (icon-xref :margin-left-refactor))
(def ^:icon margin-left-right-refactor (icon-xref :margin-left-right-refactor))
(def ^:icon margin-refactor (icon-xref :margin-refactor))
(def ^:icon margin-right-refactor (icon-xref :margin-right-refactor))
(def ^:icon margin-top-refactor (icon-xref :margin-top-refactor))
(def ^:icon margin-top-bottom-refactor (icon-xref :margin-top-bottom-refactor))
(def ^:icon mask-refactor (icon-xref :mask-refactor))
(def ^:icon masked-refactor (icon-xref :masked-refactor))
(def ^:icon menu-refactor (icon-xref :menu-refactor))
(def ^:icon merge-nodes-refactor (icon-xref :merge-nodes-refactor))
(def ^:icon msg-error-refactor (icon-xref :msg-error-refactor))
(def ^:icon msg-neutral-refactor (icon-xref :msg-neutral-refactor))
(def ^:icon msg-success-refactor (icon-xref :msg-success-refactor))
(def ^:icon msg-warning-refactor (icon-xref :msg-warning-refactor))
(def ^:icon move-refactor (icon-xref :move-refactor))
(def ^:icon open-link-refactor (icon-xref :open-link-refactor))
(def ^:icon open-refactor (icon-xref :open-refactor))
(def ^:icon padding-bottom-refactor (icon-xref :padding-bottom-refactor))
(def ^:icon padding-top-refactor (icon-xref :padding-top-refactor))
(def ^:icon padding-top-bottom-refactor (icon-xref :padding-top-bottom-refactor))
(def ^:icon padding-left-refactor (icon-xref :padding-left-refactor))
(def ^:icon padding-left-right-refactor (icon-xref :padding-left-right-refactor))
(def ^:icon padding-right-refactor (icon-xref :padding-right-refactor))
(def ^:icon padding-extended-refactor (icon-xref :padding-extended-refactor))
(def ^:icon path-refactor (icon-xref :path-refactor))
(def ^:icon pentool-refactor (icon-xref :pentool-refactor))
(def ^:icon picker-refactor (icon-xref :picker-refactor))
(def ^:icon play-refactor (icon-xref :play-refactor))
(def ^:icon rectangle-refactor (icon-xref :rectangle-refactor))
(def ^:icon reload-refactor (icon-xref :reload-refactor))
(def ^:icon remove-refactor (icon-xref :remove-refactor))
(def ^:icon rgba-refactor (icon-xref :rgba-refactor))
(def ^:icon rgba-complementary-refactor (icon-xref :rgba-complementary-refactor))
(def ^:icon rotation-refactor (icon-xref :rotation-refactor))
(def ^:icon row-reverse-refactor (icon-xref :row-reverse-refactor))
(def ^:icon search-refactor (icon-xref :search-refactor))
(def ^:icon separate-nodes-refactor (icon-xref :separate-nodes-refactor))
(def ^:icon size-horizontal-refactor (icon-xref :size-horizontal-refactor))
(def ^:icon size-vertical-refactor (icon-xref :size-vertical-refactor))
(def ^:icon shown-refactor (icon-xref :shown-refactor))
(def ^:icon snap-nodes-refactor (icon-xref :snap-nodes-refactor))
(def ^:icon status-alert-refactor (icon-xref :status-alert-refactor))
(def ^:icon status-update-refactor (icon-xref :status-update-refactor))
(def ^:icon status-tick-refactor (icon-xref :status-tick-refactor))
(def ^:icon status-wrong-refactor (icon-xref :status-wrong-refactor))
(def ^:icon stroke-size-refactor (icon-xref :stroke-size-refactor))
(def ^:icon svg-refactor (icon-xref :svg-refactor))
(def ^:icon swatches-refactor (icon-xref :swatches-refactor))
(def ^:icon switch-refactor (icon-xref :switch-refactor))
(def ^:icon text-align-center-refactor (icon-xref :text-align-center-refactor))
(def ^:icon text-align-left-refactor (icon-xref :text-align-left-refactor))
(def ^:icon text-align-right-refactor (icon-xref :text-align-right-refactor))
(def ^:icon text-auto-height-refactor (icon-xref :text-auto-height-refactor))
(def ^:icon text-auto-width-refactor (icon-xref :text-auto-width-refactor))
(def ^:icon text-fixed-refactor (icon-xref :text-fixed-refactor))
(def ^:icon text-justify-refactor (icon-xref :text-justify-refactor))
(def ^:icon text-letterspacing-refactor (icon-xref :text-letterspacing-refactor))
(def ^:icon text-lineheight-refactor (icon-xref :text-lineheight-refactor))
(def ^:icon text-lowercase-refactor (icon-xref :text-lowercase-refactor))
(def ^:icon text-palette-refactor (icon-xref :text-palette-refactor))
(def ^:icon text-paragraph-refactor (icon-xref :text-paragraph-refactor))
(def ^:icon text-refactor (icon-xref :text-refactor))
(def ^:icon text-bottom-refactor (icon-xref :text-bottom-refactor))
(def ^:icon text-ltr-refactor (icon-xref :text-ltr-refactor))
(def ^:icon text-rtl-refactor (icon-xref :text-rtl-refactor))
(def ^:icon text-middle-refactor (icon-xref :text-middle-refactor))
(def ^:icon text-mixed-refactor (icon-xref :text-mixed-refactor))
(def ^:icon text-stroked-refactor (icon-xref :text-stroked-refactor))
(def ^:icon text-top-refactor (icon-xref :text-top-refactor))
(def ^:icon text-underlined-refactor (icon-xref :text-underlined-refactor))
(def ^:icon text-uppercase-refactor (icon-xref :text-uppercase-refactor))
(def ^:icon tick-refactor (icon-xref :tick-refactor))
(def ^:icon tree-refactor (icon-xref :tree-refactor))
(def ^:icon to-corner-refactor (icon-xref :to-corner-refactor))
(def ^:icon to-curve-refactor (icon-xref :to-curve-refactor))
(def ^:icon unlock-refactor (icon-xref :unlock-refactor))
(def ^:icon user-refactor (icon-xref :user-refactor))
(def ^:icon vertical-align-items-center-refactor (icon-xref :vertical-align-items-center-refactor))
(def ^:icon vertical-align-items-end-refactor (icon-xref :vertical-align-items-end-refactor))
(def ^:icon vertical-align-items-start-refactor (icon-xref :vertical-align-items-start-refactor))
(def ^:icon view-as-icons-refactor (icon-xref :view-as-icons-refactor))
(def ^:icon wrap-refactor (icon-xref :wrap-refactor))
(def ^:icon view-as-list-refactor (icon-xref :view-as-list-refactor))
(def ^:icon loader-pencil
(mf/html
[:svg
{:viewBox "0 0 677.34762 182.15429"
@ -486,34 +484,32 @@
:d
"M134.482 157.147v25l518.57.008.002-25-518.572-.008z"}]]]))
(def default
"A collection of all icons"
(collect-icons))
(mf/defc debug-icons-preview
{::mf/wrap-props false}
[]
[:*
[:section.debug-icons-preview
[:h2 "Classic"]
(let [entries (->> (seq (js/Object.entries default))
(sort-by first))
refactor? (fn [[key]] (str/ends-with? key "Refactor"))]
[:*
(for [[key val] (->> (ns-publics 'app.main.ui.icons)
(sort-by first)
(remove (fn [[key _]]
(str/ends-with? (str key) "-refactor"))))]
(when (not= key 'debug-icons-preview)
[:div.icon-item {:key key}
(deref val)
[:span (pr-str key)]]))]]
[:section.debug-icons-preview
[:h2 "Classic"]
(for [[key val] (remove refactor? entries)]
[:div.icon-item {:key key}
val
[:span key]])]
[:section.debug-icons-preview
[:h2 "Refactor"]
[:*
(for [[key val] (->> (ns-publics 'app.main.ui.icons)
(sort-by first)
(filter (fn [[key _]] (str/ends-with? (str key) "-refactor"))))]
(when (not= key 'debug-icons-preview)
[:div.icon-item {:key key}
(deref val)
[:span (pr-str key)]]))]]])
[:section.debug-icons-preview
[:h2 "Refactor"]
(for [[key val] (filter refactor? entries)]
[:div.icon-item {:key key}
(deref val)
[:span key]])]]))
(defn key->icon
[icon-key]
(when icon-key
(get (ns-publics 'app.main.ui.icons) (symbol (d/name icon-key)))))
(unchecked-get default (-> icon-key d/name str/camel str/capital))))

File diff suppressed because it is too large Load diff