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

View file

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