mirror of
https://github.com/penpot/penpot.git
synced 2026-05-03 15:18:59 +00:00
23 lines
799 B
Clojure
23 lines
799 B
Clojure
;; 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.util.code-gen.common
|
|
(:require
|
|
[app.common.data.macros :as dm]
|
|
[cuerdas.core :as str]))
|
|
|
|
(defn shape->selector
|
|
[shape]
|
|
(let [name (-> (:name shape)
|
|
(subs 0 (min 10 (count (:name shape)))))
|
|
;; selectors cannot start with numbers
|
|
name (if (re-matches #"^\d.*" name) (dm/str "c-" name) name)
|
|
id (-> (dm/str (:id shape))
|
|
#_(subs 24 36))
|
|
selector (str/css-selector (dm/str name " " id))
|
|
selector (if (str/starts-with? selector "-") (subs selector 1) selector)]
|
|
selector))
|