├── .gitignore
├── CHANGELOG.md
├── README.adoc
├── all-shadow-versions
├── deps.edn
├── package.json
├── pom.xml
├── resources
└── public
│ ├── css
│ ├── semantic.min.css
│ └── themes
│ │ └── default
│ │ └── assets
│ │ ├── fonts
│ │ ├── icons.eot
│ │ ├── icons.otf
│ │ ├── icons.svg
│ │ ├── icons.ttf
│ │ ├── icons.woff
│ │ └── icons.woff2
│ │ └── images
│ │ └── flags.png
│ └── index.html
├── shadow-cljs.edn
├── src
├── dev
│ └── user.clj
├── main
│ └── com
│ │ └── fulcrologic
│ │ └── semantic_ui
│ │ ├── addons
│ │ ├── confirm
│ │ │ └── ui_confirm.cljc
│ │ ├── pagination
│ │ │ ├── ui_pagination.cljc
│ │ │ └── ui_pagination_item.cljc
│ │ ├── portal
│ │ │ ├── ui_portal.cljc
│ │ │ └── ui_portal_inner.cljc
│ │ ├── radio
│ │ │ └── ui_radio.cljc
│ │ ├── select
│ │ │ └── ui_select.cljc
│ │ ├── textarea
│ │ │ └── ui_text_area.cljc
│ │ └── transitionableportal
│ │ │ └── ui_transitionable_portal.cljc
│ │ ├── behaviors
│ │ └── visibility
│ │ │ └── ui_visibility.cljc
│ │ ├── collections
│ │ ├── breadcrumb
│ │ │ ├── ui_breadcrumb.cljc
│ │ │ ├── ui_breadcrumb_divider.cljc
│ │ │ └── ui_breadcrumb_section.cljc
│ │ ├── form
│ │ │ ├── ui_form.cljc
│ │ │ ├── ui_form_button.cljc
│ │ │ ├── ui_form_checkbox.cljc
│ │ │ ├── ui_form_dropdown.cljc
│ │ │ ├── ui_form_field.cljc
│ │ │ ├── ui_form_group.cljc
│ │ │ ├── ui_form_input.cljc
│ │ │ ├── ui_form_radio.cljc
│ │ │ ├── ui_form_select.cljc
│ │ │ └── ui_form_text_area.cljc
│ │ ├── grid
│ │ │ ├── ui_grid.cljc
│ │ │ ├── ui_grid_column.cljc
│ │ │ └── ui_grid_row.cljc
│ │ ├── menu
│ │ │ ├── ui_menu.cljc
│ │ │ ├── ui_menu_header.cljc
│ │ │ ├── ui_menu_item.cljc
│ │ │ └── ui_menu_menu.cljc
│ │ ├── message
│ │ │ ├── ui_message.cljc
│ │ │ ├── ui_message_content.cljc
│ │ │ ├── ui_message_header.cljc
│ │ │ ├── ui_message_item.cljc
│ │ │ └── ui_message_list.cljc
│ │ └── table
│ │ │ ├── ui_table.cljc
│ │ │ ├── ui_table_body.cljc
│ │ │ ├── ui_table_cell.cljc
│ │ │ ├── ui_table_footer.cljc
│ │ │ ├── ui_table_header.cljc
│ │ │ ├── ui_table_header_cell.cljc
│ │ │ └── ui_table_row.cljc
│ │ ├── elements
│ │ ├── button
│ │ │ ├── ui_button.cljc
│ │ │ ├── ui_button_content.cljc
│ │ │ ├── ui_button_group.cljc
│ │ │ └── ui_button_or.cljc
│ │ ├── container
│ │ │ └── ui_container.cljc
│ │ ├── divider
│ │ │ └── ui_divider.cljc
│ │ ├── flag
│ │ │ └── ui_flag.cljc
│ │ ├── header
│ │ │ ├── ui_header.cljc
│ │ │ ├── ui_header_content.cljc
│ │ │ └── ui_header_subheader.cljc
│ │ ├── icon
│ │ │ ├── ui_icon.cljc
│ │ │ └── ui_icon_group.cljc
│ │ ├── image
│ │ │ ├── ui_image.cljc
│ │ │ └── ui_image_group.cljc
│ │ ├── input
│ │ │ └── ui_input.cljc
│ │ ├── label
│ │ │ ├── ui_label.cljc
│ │ │ ├── ui_label_detail.cljc
│ │ │ └── ui_label_group.cljc
│ │ ├── list
│ │ │ ├── ui_list.cljc
│ │ │ ├── ui_list_content.cljc
│ │ │ ├── ui_list_description.cljc
│ │ │ ├── ui_list_header.cljc
│ │ │ ├── ui_list_icon.cljc
│ │ │ ├── ui_list_item.cljc
│ │ │ └── ui_list_list.cljc
│ │ ├── loader
│ │ │ └── ui_loader.cljc
│ │ ├── placeholder
│ │ │ ├── ui_placeholder.cljc
│ │ │ ├── ui_placeholder_header.cljc
│ │ │ ├── ui_placeholder_image.cljc
│ │ │ ├── ui_placeholder_line.cljc
│ │ │ └── ui_placeholder_paragraph.cljc
│ │ ├── rail
│ │ │ └── ui_rail.cljc
│ │ ├── reveal
│ │ │ ├── ui_reveal.cljc
│ │ │ └── ui_reveal_content.cljc
│ │ ├── segment
│ │ │ ├── ui_segment.cljc
│ │ │ ├── ui_segment_group.cljc
│ │ │ └── ui_segment_inline.cljc
│ │ └── step
│ │ │ ├── ui_step.cljc
│ │ │ ├── ui_step_content.cljc
│ │ │ ├── ui_step_description.cljc
│ │ │ ├── ui_step_group.cljc
│ │ │ └── ui_step_title.cljc
│ │ ├── factories.cljc
│ │ ├── factory_helpers.cljc
│ │ ├── icons.cljc
│ │ ├── modules
│ │ ├── accordion
│ │ │ ├── ui_accordion.cljc
│ │ │ ├── ui_accordion_accordion.cljc
│ │ │ ├── ui_accordion_content.cljc
│ │ │ ├── ui_accordion_panel.cljc
│ │ │ └── ui_accordion_title.cljc
│ │ ├── checkbox
│ │ │ └── ui_checkbox.cljc
│ │ ├── dimmer
│ │ │ ├── ui_dimmer.cljc
│ │ │ ├── ui_dimmer_dimmable.cljc
│ │ │ └── ui_dimmer_inner.cljc
│ │ ├── dropdown
│ │ │ ├── ui_dropdown.cljc
│ │ │ ├── ui_dropdown_divider.cljc
│ │ │ ├── ui_dropdown_header.cljc
│ │ │ ├── ui_dropdown_item.cljc
│ │ │ ├── ui_dropdown_menu.cljc
│ │ │ ├── ui_dropdown_search_input.cljc
│ │ │ └── ui_dropdown_text.cljc
│ │ ├── embed
│ │ │ └── ui_embed.cljc
│ │ ├── modal
│ │ │ ├── ui_modal.cljc
│ │ │ ├── ui_modal_actions.cljc
│ │ │ ├── ui_modal_content.cljc
│ │ │ ├── ui_modal_description.cljc
│ │ │ ├── ui_modal_dimmer.cljc
│ │ │ └── ui_modal_header.cljc
│ │ ├── popup
│ │ │ ├── ui_popup.cljc
│ │ │ ├── ui_popup_content.cljc
│ │ │ └── ui_popup_header.cljc
│ │ ├── progress
│ │ │ └── ui_progress.cljc
│ │ ├── rating
│ │ │ ├── ui_rating.cljc
│ │ │ └── ui_rating_icon.cljc
│ │ ├── search
│ │ │ ├── ui_search.cljc
│ │ │ ├── ui_search_category.cljc
│ │ │ ├── ui_search_category_layout.cljc
│ │ │ ├── ui_search_result.cljc
│ │ │ └── ui_search_results.cljc
│ │ ├── sidebar
│ │ │ ├── ui_sidebar.cljc
│ │ │ ├── ui_sidebar_pushable.cljc
│ │ │ └── ui_sidebar_pusher.cljc
│ │ ├── sticky
│ │ │ └── ui_sticky.cljc
│ │ ├── tab
│ │ │ ├── ui_tab.cljc
│ │ │ └── ui_tab_pane.cljc
│ │ └── transition
│ │ │ ├── ui_transition.cljc
│ │ │ └── ui_transition_group.cljc
│ │ └── views
│ │ ├── advertisement
│ │ └── ui_advertisement.cljc
│ │ ├── card
│ │ ├── ui_card.cljc
│ │ ├── ui_card_content.cljc
│ │ ├── ui_card_description.cljc
│ │ ├── ui_card_group.cljc
│ │ ├── ui_card_header.cljc
│ │ └── ui_card_meta.cljc
│ │ ├── comment
│ │ ├── ui_comment.cljc
│ │ ├── ui_comment_action.cljc
│ │ ├── ui_comment_actions.cljc
│ │ ├── ui_comment_author.cljc
│ │ ├── ui_comment_avatar.cljc
│ │ ├── ui_comment_content.cljc
│ │ ├── ui_comment_group.cljc
│ │ ├── ui_comment_metadata.cljc
│ │ └── ui_comment_text.cljc
│ │ ├── feed
│ │ ├── ui_feed.cljc
│ │ ├── ui_feed_content.cljc
│ │ ├── ui_feed_date.cljc
│ │ ├── ui_feed_event.cljc
│ │ ├── ui_feed_extra.cljc
│ │ ├── ui_feed_label.cljc
│ │ ├── ui_feed_like.cljc
│ │ ├── ui_feed_meta.cljc
│ │ ├── ui_feed_summary.cljc
│ │ └── ui_feed_user.cljc
│ │ ├── item
│ │ ├── ui_item.cljc
│ │ ├── ui_item_content.cljc
│ │ ├── ui_item_description.cljc
│ │ ├── ui_item_extra.cljc
│ │ ├── ui_item_group.cljc
│ │ ├── ui_item_header.cljc
│ │ ├── ui_item_image.cljc
│ │ └── ui_item_meta.cljc
│ │ └── statistic
│ │ ├── ui_statistic.cljc
│ │ ├── ui_statistic_group.cljc
│ │ ├── ui_statistic_label.cljc
│ │ └── ui_statistic_value.cljc
└── workspaces
│ └── fulcrologic
│ └── semantic_ui
│ ├── workspaces
│ ├── button.cljs
│ ├── dropdown.cljs
│ ├── form.cljs
│ ├── icon.cljs
│ └── input.cljs
│ └── workspaces_main.cljs
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | *.iml
3 | .nrepl-port
4 | figwheel_server.log
5 | resources/public/js
6 | target
7 | componentInfo
8 | pom.xml.asc
9 | .cpcache
10 | .shadow-cljs
11 | node_modules/
12 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | 1.0.0
2 | -----
3 | - Release for Fulcro 3
4 |
--------------------------------------------------------------------------------
/README.adoc:
--------------------------------------------------------------------------------
1 | :toc:
2 | :toc-placement: preamble
3 | :toc-levels: 2
4 |
5 | = Fulcro 3 Semantic UI Wrappers
6 |
7 | Fulcro 3 convenience wrappers for using https://react.semantic-ui.com[Semantic UI React] components.
8 |
9 | WARNING: BREAK VERSIONING. This project is just wrappers for a js library which follows break versioning. This means
10 | they do things like remove and rename code artifacts over time in a way that may break your program.
11 |
12 | This library offers improved integration with the semantic-ui-react package with predefined
13 | factories and doc strings generated directly from the Semantic-UI source. It also includes symbols for
14 | all icon names.
15 |
16 | NOTE: This library requires that you use Fulcro 3.
17 |
18 | image::https://img.shields.io/clojars/v/com.fulcrologic/semantic-ui-wrapper.svg[link="https://clojars.org/com.fulcrologic/semantic-ui-wrapper"]
19 |
20 | == Versions/Compatibility
21 |
22 | * 1.0.x - Known compatible with Semantic UI React v0.88.2
23 | * 2.0.1+ - Newer versions _match_ the version of https://react.semantic-ui.com[Semantic UI React] that was
24 | used to generate the wrappers. *That* project follows BREAK versioning, and this library is just simple
25 | wrappers. Expect upgrades to possibly break your code.
26 |
27 | == Usage
28 |
29 | Add this library to your Fulcro project, and add `semantic-ui-react` to your `package.json`:
30 |
31 | [source]
32 | -----
33 | $ npm install --save-dev semantic-ui-react
34 | -----
35 |
36 | NOTE: Semantic UI CSS supplies the layout of everything. Simpler components like buttons can be created with simple
37 | factories like `(dom/button :.ui.button ...)`, so using the react wrappers for those bloats your code for no good reason.
38 |
39 | === Using Components
40 |
41 | If you just want everything (which will bloat your advanced compile build), then use:
42 |
43 | [source]
44 | -----
45 | (:require [com.fulcrologic.semantic-ui.factories :refer [ui-button]]
46 | -----
47 |
48 | But if you'd like to include just what you use in your build then
49 | individual factories can be found in namespaces that mirror the semantic-ui-react module structure:
50 |
51 | e.g. `Collections > Form > FormInput` is available as
52 |
53 | [source]
54 | -----
55 | (:require [com.fulcrologic.semantic-ui.collections.form.ui-form-input :refer [ui-form-input]])
56 | -----
57 |
58 | and `Elements > Button > Button` is available as
59 |
60 | [source]
61 | -----
62 | (:require [com.fulcrologic.semantic-ui.button.ui-button :refer [ui-button]])
63 | -----
64 |
65 | While this is a bit tedious in the requires, it ensures that you don't get components in your
66 | build that you don't use.
67 |
68 | == Porting from Semantic UI React Documentation Examples
69 |
70 | Props are required. The factories will convert them to js for you, but if you want every ounce of
71 | possible speed you can pre-tag your props with `#js`. Note that the "nested" elements with dot
72 | notation become just hyphenated names (e.g. `Button.Group` -> `ui-button-group`,
73 | and `List.List` -> `ui-list-list`):
74 |
75 | React Version:
76 |
77 | [source]
78 | -----
79 |
84 |
85 |
86 |
89 |
92 |
95 |
98 |
99 | -----
100 |
101 | This library:
102 |
103 | [source]
104 | -----
105 | (f/ui-button {:content "Like"
106 | :icon i/heart-icon ; or just "heart"
107 | :label {:as "a" :basic true :content "2,048"}
108 | :labelPosition "right"}))
109 |
110 | (f/ui-button-group nil
111 | (f/ui-button {:icon true}
112 | (f/ui-icon {:name i/align-left-icon}))
113 | (f/ui-button {:icon true}
114 | (f/ui-icon {:name i/align-center-icon}))
115 | (f/ui-button {:icon true}
116 | (f/ui-icon {:name i/align-right-icon}))
117 | (f/ui-button {:icon true}
118 | (f/ui-icon {:name i/align-justify-icon})))
119 | -----
120 |
121 | == Icons
122 |
123 | The `icons` namespace simply has symbol definitions for each legal string icon name. This
124 | allows you to use your IDE's code completion to find icon names as long as
125 | you can remember something about that name. You may, of course, simply use a known icon
126 | name as a string instead.
127 |
128 |
129 | == Examples
130 |
131 | You can see some example usage in the workspaces of this repository. To play with them live
132 | clone this repo, and start the compiler:
133 |
134 | [source]
135 | -----
136 | cd semantic-ui-wrapper
137 | npm install
138 | npx shadow-cljs server
139 | -----
140 |
141 | Navigate to http://localhost:9630 and start the workspaces build
142 |
143 | Then navigate to http://localhost:8023
144 |
145 | == Contributing
146 |
147 | Ping the Fulcro slack channel with your idea, or create a github issue. It is a good
148 | idea to do that before trying to help.
149 |
150 | == Regenerating Factories
151 |
152 | The factories files are generated from a checkout of the (https://github.com/Semantic-Org/Semantic-UI)[Semantic-UI]
153 | source (to automatically get the docstrings). The `user` namespace can be run in a normal Clojure REPL, and
154 | contains the function to generate the files.
155 |
156 | First clone the semantic-ui-react repo:
157 |
158 | [source]
159 | -----
160 | git clone https://github.com/Semantic-Org/Semantic-UI-React
161 | -----
162 |
163 | In the cloned repository, run:
164 |
165 | [source]
166 | -----
167 | yarn install
168 | yarn build:docs
169 | -----
170 |
171 | Then using the path to the generated docs/src/componentInfo folder, start a repl and run
172 |
173 | [source]
174 | -----
175 | (gen-factories "path/to/generated/componentInfo")
176 | -----
177 |
178 | == LICENSE
179 |
180 | Copyright 2017-2020 by Fulcrologic
181 |
182 | MIT Public License
183 |
--------------------------------------------------------------------------------
/all-shadow-versions:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fulcrologic/semantic-ui-wrapper/7bd53f445bc4ca7e052c69596dc089282671df6c/all-shadow-versions
--------------------------------------------------------------------------------
/deps.edn:
--------------------------------------------------------------------------------
1 | {:paths ["src/main"]
2 | :deps {}
3 | :aliases {:dev {:extra-paths ["src/workspaces" "src/dev"]
4 | :extra-deps {org.clojure/clojure {:mvn/version "1.10.3" :scope "provided"}
5 | org.clojure/clojurescript {:mvn/version "1.10.844" :scope "provided"}
6 | com.fulcrologic/fulcro {:mvn/version "3.5.20" :scope "provided"}
7 | thheller/shadow-cljs {:mvn/version "2.12.6"}
8 | com.github.awkay/workspaces {:mvn/version "1.0.3"}}}}}
9 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fulcro3-semantic-ui-wrappers",
3 | "version": "1.0.0",
4 | "description": "Semantic UI Wrapper =================== :toc: :toc-placement: preamble :toc-levels: 2",
5 | "main": "index.js",
6 | "repository": {
7 | "type": "git",
8 | "url": "git+https://github.com/fulcrologic/semantic-ui-wrapper.git"
9 | },
10 | "author": "",
11 | "license": "ISC",
12 | "bugs": {
13 | "url": "https://github.com/fulcrologic/semantic-ui-wrapper/issues"
14 | },
15 | "homepage": "https://github.com/fulcrologic/semantic-ui-wrapper#readme",
16 | "devDependencies": {
17 | "react": "^17.0.1",
18 | "react-dom": "^17.0.1",
19 | "semantic-ui-react": "^2.1.4",
20 | "shadow-cljs": "^2.11.8"
21 | },
22 | "dependencies": {
23 | "highlight.js": "^9.12.0",
24 | "react-grid-layout": "^0.16.6"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 | com.fulcrologic
5 | semantic-ui-wrapper
6 | 2.1.5-SNAPSHOT
7 | semantic-ui-wrapper
8 |
9 | UTF-8
10 |
11 |
12 |
13 | MIT
14 | https://opensource.org/licenses/MIT
15 |
16 |
17 |
18 | https://github.com/fulcrologic/semantic-ui-wrappers
19 | scm:git:git://github.com/fulcrologic/semantic-ui-wrapper.git
20 | scm:git:ssh://git@github.com/fulcrologic/semantic-ui-wrapper.git
21 | HEAD
22 |
23 |
24 |
25 | clojars
26 | Clojars repository
27 | https://clojars.org/repo
28 |
29 |
30 |
31 | src/main
32 |
33 |
34 | src/main
35 |
36 |
37 |
38 |
39 | org.apache.maven.plugins
40 | maven-gpg-plugin
41 | 1.6
42 |
43 |
44 | sign-artifacts
45 | verify
46 |
47 | sign
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | clojars
57 | https://repo.clojars.org/
58 |
59 |
60 |
61 |
62 | org.clojure
63 | clojure
64 | 1.10.1
65 | provided
66 |
67 |
68 | com.fulcrologic
69 | fulcro
70 | 3.5.20
71 | provided
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/resources/public/css/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fulcrologic/semantic-ui-wrapper/7bd53f445bc4ca7e052c69596dc089282671df6c/resources/public/css/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/resources/public/css/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fulcrologic/semantic-ui-wrapper/7bd53f445bc4ca7e052c69596dc089282671df6c/resources/public/css/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/resources/public/css/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fulcrologic/semantic-ui-wrapper/7bd53f445bc4ca7e052c69596dc089282671df6c/resources/public/css/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/resources/public/css/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fulcrologic/semantic-ui-wrapper/7bd53f445bc4ca7e052c69596dc089282671df6c/resources/public/css/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/resources/public/css/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fulcrologic/semantic-ui-wrapper/7bd53f445bc4ca7e052c69596dc089282671df6c/resources/public/css/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/resources/public/css/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fulcrologic/semantic-ui-wrapper/7bd53f445bc4ca7e052c69596dc089282671df6c/resources/public/css/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/resources/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Template Devcards
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/shadow-cljs.edn:
--------------------------------------------------------------------------------
1 | {:deps {:aliases [:dev]}
2 | :nrepl {:port 9000}
3 | :builds {:workspaces {:target :browser
4 | :output-dir "resources/public/js/workspaces"
5 | :asset-path "/js/workspaces"
6 | :devtools {:preloads [com.fulcrologic.fulcro.inspect.preload]
7 | :http-root "resources/public"
8 | :http-port 8023
9 | :http-resource-root "."}
10 | :modules {:main {:entries [fulcrologic.semantic-ui.workspaces-main]}}}}}
11 |
12 |
--------------------------------------------------------------------------------
/src/dev/user.clj:
--------------------------------------------------------------------------------
1 | (ns user
2 | (:require
3 | [clojure.string :as str]
4 | [clojure.data.json :as json]
5 | [clojure.java.io :refer [as-file file make-parents reader]]))
6 |
7 | (def factories-preamble
8 | "(ns com.fulcrologic.semantic-ui.factories
9 | (:require
10 | #?(:cljs [semantic-ui-react :as suir])
11 | [com.fulcrologic.semantic-ui.factory-helpers :as h]))
12 |
13 | ")
14 |
15 | (defn hyphenated [camelCase]
16 | (-> camelCase
17 | (str/replace #"([A-Z])" "-$1")
18 | (str/lower-case)
19 | (str/replace #"^-" "")))
20 |
21 | (defn gen-docstring [doc-data]
22 | (let [description (get-in doc-data [:docblock :description])
23 | description (if (seq description) (str/join "\n " description))
24 | props (sort-by :name (get doc-data :props))
25 | docs-by-name (map (fn [{:keys [type description name value]}]
26 | (let [n (count value)]
27 | (cond-> (str name " (" type "): " (first description))
28 | value (str " (" (str/join ", " (take 100 value)) (when (> n 100) " ...") ")")))) props)]
29 | (str description "\n\n Props:\n - " (str/join "\n - " docs-by-name))))
30 |
31 | (defn quoted [s] (str "\"" s "\""))
32 | (defn escaped [s] (str/replace s "\"" "\\\""))
33 |
34 | (def input-factory-classes
35 | #{"Input"
36 | "Checkbox"
37 | "FormInput"
38 | "DropdownSearchInput"
39 | "Search"
40 | "TextArea"})
41 |
42 | (defn factory-helper [class]
43 | (if (contains? input-factory-classes class)
44 | "wrapped-factory-apply"
45 | "factory-apply"))
46 |
47 | (defn factory-helper-function
48 | ([{:keys [class factory-name docstring]}]
49 | (factory-helper-function class factory-name docstring true))
50 | ([class factory-name docstring]
51 | (factory-helper-function class factory-name docstring false))
52 | ([class factory-name docstring get-as-string]
53 | (let [class-ref (if get-as-string
54 | (str "suir/" class)
55 | class)]
56 | (str "(def " factory-name "\n"
57 | " \""
58 | (escaped docstring)
59 | "\""
60 | "\n "
61 | " #?(:cljs (h/" (factory-helper class) " " class-ref ")))\n"))))
62 |
63 | ; shadow-cljs v2.18.0 fails to build with this form of require:
64 | ;; [semantic-ui-react$Confirm :as Confirm]
65 | ;; "Multiple files failed to compile. aborted par-compile"
66 | ;; It passes with:
67 | ;; ["semantic-ui-react$Confirm" :as Confirm]
68 | (defn factory-ns-cljs [ns class factory-name docstring]
69 | (str "(ns " ns "\n"
70 | " (:require\n"
71 | " [com.fulcrologic.semantic-ui.factory-helpers :as h]\n"
72 | " #?(:cljs [\"semantic-ui-react$" class "\" :as " class "])))\n\n"
73 | " " (factory-helper-function class factory-name docstring)))
74 |
75 | (defn gen-factory-map [out-path]
76 | (fn [doc-data]
77 | (let [{:keys [displayName props type repoPath]} doc-data
78 | class displayName
79 | factory-name (str "ui-" (hyphenated class))
80 | tree (-> repoPath str/lower-case (str/split #"/"))
81 | treeparts (subvec tree 1 (- (count tree) 1))
82 | filename (str out-path "/" (str/join "/" treeparts) "/" (str/replace factory-name #"-" "_") ".cljc")
83 | nns (str "com.fulcrologic.semantic-ui" "." (str/join "." treeparts) "." factory-name)
84 | docstring (gen-docstring doc-data)]
85 | {:class class
86 | :factory-name factory-name
87 | :include-file (-> repoPath (str/replace #"src" "semantic-ui-react/dist/commonjs")
88 | (str/replace #"\.js" ""))
89 | :filename filename
90 | :ns nns
91 | :docstring docstring
92 | :props props})))
93 |
94 | (defn read-info [dir filename]
95 | (with-open [r (reader (as-file (str dir "/" filename)))]
96 | (json/read r :key-fn keyword)))
97 |
98 | (defn icons-ns [icon-names]
99 | (let [icons (str/join "\n"
100 | (mapv (fn [[symbol css-class]]
101 | (str "(def " symbol " \"" css-class "\")"))
102 | (->> icon-names
103 | (map #(let [symbol (-> %
104 | (str/replace #" " "-")
105 | (str/replace #"^(\d+.*)" "_$1")
106 | (str "-icon"))
107 | css-class (-> %
108 | (str/replace #"-" " "))]
109 | [symbol css-class]))
110 | sort
111 | distinct)))]
112 | (str "(ns com.fulcrologic.semantic-ui.icons)\n\n" icons)))
113 |
114 | (defn gen-cljs-factories [modules]
115 | (str factories-preamble (str/join "\n" (map factory-helper-function modules))))
116 |
117 | (defn gen-factories [component-dir]
118 | (let [modules (->> (seq (.list (file component-dir)))
119 | (map #(read-info component-dir %))
120 | (map (gen-factory-map "src/main/com/fulcrologic/semantic_ui/"))
121 | (sort-by :factory-name))]
122 | (spit (as-file "src/main/com/fulcrologic/semantic_ui/factories.cljc") (gen-cljs-factories modules))
123 | (doseq [{:keys [ns class factory-name filename docstring props]} modules]
124 | (make-parents filename)
125 | (spit (as-file filename) (factory-ns-cljs ns class factory-name docstring))
126 | (if (= class "Icon")
127 | (spit (as-file "src/main/com/fulcrologic/semantic_ui/icons.cljc") (icons-ns (->> props (filter #(= (:name %) "name")) first :value)))))))
128 |
129 | (comment
130 | ;; to generate the factories files
131 | ;; clone semantic-ui-react:
132 | ;; git clone https://github.com/Semantic-Org/Semantic-UI-React
133 | ;; in the cloned repo:
134 | ;; yarn install
135 | ;; yarn build:docs
136 | ;; then using the path to the docs/src/componentInfo folder, start a repl and run
137 | ;;
138 | (gen-factories "/Users/tonykay/oss/Semantic-UI-React/docs/src/componentInfo")
139 |
140 | (gen-factories "/Users/danie/matter/source/Semantic-UI-React/docs/src/componentInfo"))
141 |
142 |
143 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/confirm/ui_confirm.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.confirm.ui-confirm
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Confirm" :as Confirm])))
5 |
6 | (def ui-confirm
7 | "A Confirm modal gives the user a choice to confirm or cancel an action.
8 |
9 | Props:
10 | - cancelButton (custom): The cancel button text.
11 | - confirmButton (custom): The OK button text.
12 | - content (custom): The ModalContent text.
13 | - header (custom): The ModalHeader text.
14 | - onCancel (func): Called when the Modal is closed without clicking confirm.
15 | - onConfirm (func): Called when the OK button is clicked.
16 | - open (bool): Whether or not the modal is visible.
17 | - size (enum): A Confirm can vary in size (mini, tiny, small, large, fullscreen)"
18 | #?(:cljs (h/factory-apply Confirm)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/pagination/ui_pagination.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.pagination.ui-pagination
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Pagination" :as Pagination])))
5 |
6 | (def ui-pagination
7 | "A component to render a pagination.
8 |
9 | Props:
10 | - activePage (number|string): Index of the currently active page. ()
11 | - aria-label (string): A pagination item can have an aria label.
12 | - boundaryRange (number|string): Number of always visible pages at the beginning and end. ()
13 | - defaultActivePage (number|string): Initial activePage value. ()
14 | - disabled (bool): A pagination can be disabled.
15 | - ellipsisItem (custom): A shorthand for PaginationItem.
16 | - firstItem (custom): A shorthand for PaginationItem.
17 | - lastItem (custom): A shorthand for PaginationItem.
18 | - nextItem (custom): A shorthand for PaginationItem.
19 | - onPageChange (func): Called on change of an active page.
20 | - pageItem (custom): A shorthand for PaginationItem.
21 | - prevItem (custom): A shorthand for PaginationItem.
22 | - siblingRange (number|string): Number of always visible pages before and after the current one. ()
23 | - totalPages (number|string): Total number of pages. ()"
24 | #?(:cljs (h/factory-apply Pagination)))
25 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/pagination/ui_pagination_item.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.pagination.ui-pagination-item
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PaginationItem" :as PaginationItem])))
5 |
6 | (def ui-pagination-item
7 | "An item of a pagination.
8 |
9 | Props:
10 | - active (bool): A pagination item can be active.
11 | - disabled (bool): A pagination item can be disabled.
12 | - onClick (func): Called on click.
13 | - onKeyDown (func): Called on key down.
14 | - type (enum): A pagination should have a type. (ellipsisItem, firstItem, prevItem, pageItem, nextItem, lastItem)"
15 | #?(:cljs (h/factory-apply PaginationItem)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/portal/ui_portal.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.portal.ui-portal
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Portal" :as Portal])))
5 |
6 | (def ui-portal
7 | "A component that allows you to render children outside their parent.
8 |
9 | Props:
10 | - children (node): Primary content.
11 | - closeOnDocumentClick (bool): Controls whether or not the portal should close when the document is clicked.
12 | - closeOnEscape (bool): Controls whether or not the portal should close when escape is pressed is displayed.
13 | - closeOnPortalMouseLeave (bool): Controls whether or not the portal should close when mousing out of the portal.
14 | - closeOnTriggerBlur (bool): Controls whether or not the portal should close on blur of the trigger.
15 | - closeOnTriggerClick (bool): Controls whether or not the portal should close on click of the trigger.
16 | - closeOnTriggerMouseLeave (bool): Controls whether or not the portal should close when mousing out of the trigger.
17 | - defaultOpen (bool): Initial value of open.
18 | - eventPool (string): Event pool namespace that is used to handle component events
19 | - mountNode (any): The node where the portal should mount.
20 | - mouseEnterDelay (number): Milliseconds to wait before opening on mouse over
21 | - mouseLeaveDelay (number): Milliseconds to wait before closing on mouse leave
22 | - onClose (func): Called when a close event happens
23 | - onMount (func): Called when the portal is mounted on the DOM.
24 | - onOpen (func): Called when an open event happens
25 | - onUnmount (func): Called when the portal is unmounted from the DOM.
26 | - open (bool): Controls whether or not the portal is displayed.
27 | - openOnTriggerClick (bool): Controls whether or not the portal should open when the trigger is clicked.
28 | - openOnTriggerFocus (bool): Controls whether or not the portal should open on focus of the trigger.
29 | - openOnTriggerMouseEnter (bool): Controls whether or not the portal should open when mousing over the trigger.
30 | - trigger (node): Element to be rendered in-place where the portal is defined.
31 | - triggerRef (custom): Called with a ref to the trigger node."
32 | #?(:cljs (h/factory-apply Portal)))
33 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/portal/ui_portal_inner.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.portal.ui-portal-inner
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PortalInner" :as PortalInner])))
5 |
6 | (def ui-portal-inner
7 | "An inner component that allows you to render children outside their parent.
8 |
9 | Props:
10 | - children (node): Primary content.
11 | - innerRef (custom): Called with a ref to the inner node.
12 | - mountNode (any): The node where the portal should mount.
13 | - onMount (func): Called when the portal is mounted on the DOM
14 | - onUnmount (func): Called when the portal is unmounted from the DOM"
15 | #?(:cljs (h/factory-apply PortalInner)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/radio/ui_radio.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.radio.ui-radio
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Radio" :as Radio])))
5 |
6 | (def ui-radio
7 | "A Radio is sugar for .
8 | Useful for exclusive groups of sliders or toggles.
9 |
10 | Props:
11 | - slider (custom): Format to emphasize the current selection state.
12 | - toggle (custom): Format to show an on or off choice.
13 | - type (custom): HTML input type, either checkbox or radio."
14 | #?(:cljs (h/factory-apply Radio)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/select/ui_select.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.select.ui-select
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Select" :as Select])))
5 |
6 | (def ui-select
7 | "A Select is sugar for .
8 |
9 | Props:
10 | - options (arrayOf): Array of Dropdown.Item props e.g. `{ text: '', value: '' }` ([:name \"shape\"], [:value \"Dropdown.Item.propTypes\"], [:computed true])"
11 | #?(:cljs (h/factory-apply Select)))
12 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/textarea/ui_text_area.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.textarea.ui-text-area
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TextArea" :as TextArea])))
5 |
6 | (def ui-text-area
7 | "A TextArea can be used to allow for extended user input.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - onChange (func): Called on change.
12 | - onInput (func): Called on input.
13 | - rows (number|string): Indicates row count for a TextArea. ()
14 | - value (number|string): The value of the textarea. ()"
15 | #?(:cljs (h/wrapped-factory-apply TextArea)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/addons/transitionableportal/ui_transitionable_portal.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.addons.transitionableportal.ui-transitionable-portal
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TransitionablePortal" :as TransitionablePortal])))
5 |
6 | (def ui-transitionable-portal
7 | "A sugar for `Portal` and `Transition`.
8 |
9 | Props:
10 | - children (node): Primary content.
11 | - onClose (func): Called when a close event happens.
12 | - onHide (func): Callback on each transition that changes visibility to hidden.
13 | - onOpen (func): Called when an open event happens.
14 | - onStart (func): Callback on animation start.
15 | - open (bool): Controls whether or not the portal is displayed.
16 | - transition (object): Transition props."
17 | #?(:cljs (h/factory-apply TransitionablePortal)))
18 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/behaviors/visibility/ui_visibility.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.behaviors.visibility.ui-visibility
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Visibility" :as Visibility])))
5 |
6 | (def ui-visibility
7 | "Visibility provides a set of callbacks for when a content appears in the viewport.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - context (object): Context which visibility should attach onscroll events.
13 | - continuous (bool): When set to true a callback will occur anytime an element passes a condition not just immediately after the
14 | - fireOnMount (bool): Fires callbacks immediately after mount.
15 | - offset (number|string|arrayOf): Value that context should be adjusted in pixels. Useful for making content appear below content fixed to the ()
16 | - onBottomPassed (func): Element's bottom edge has passed top of screen.
17 | - onBottomPassedReverse (func): Element's bottom edge has not passed top of screen.
18 | - onBottomVisible (func): Element's bottom edge has passed bottom of screen
19 | - onBottomVisibleReverse (func): Element's bottom edge has not passed bottom of screen.
20 | - onOffScreen (func): Element is not visible on the screen.
21 | - onOnScreen (func): Element is visible on the screen.
22 | - onPassed (object): Element is not visible on the screen.
23 | - onPassing (func): Any part of an element is visible on screen.
24 | - onPassingReverse (func): Element's top has not passed top of screen but bottom has.
25 | - onTopPassed (func): Element's top edge has passed top of the screen.
26 | - onTopPassedReverse (func): Element's top edge has not passed top of the screen.
27 | - onTopVisible (func): Element's top edge has passed bottom of screen.
28 | - onTopVisibleReverse (func): Element's top edge has not passed bottom of screen.
29 | - onUpdate (func): Element's top edge has passed bottom of screen.
30 | - once (bool): When set to false a callback will occur each time an element passes the threshold for a condition.
31 | - updateOn (enum): Allows to choose the mode of the position calculations: (events, repaint)"
32 | #?(:cljs (h/factory-apply Visibility)))
33 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/breadcrumb/ui_breadcrumb.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.breadcrumb.ui-breadcrumb
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Breadcrumb" :as Breadcrumb])))
5 |
6 | (def ui-breadcrumb
7 | "A breadcrumb is used to show hierarchy between content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - divider (custom): Shorthand for primary content of the Breadcrumb.Divider. ()
14 | - icon (custom): For use with the sections prop. Render as an `Icon` component with `divider` class instead of a `div` in ()
15 | - sections (custom): Shorthand array of props for Breadcrumb.Section.
16 | - size (enum): Size of Breadcrumb. (mini, tiny, small, large, big, huge, massive)"
17 | #?(:cljs (h/factory-apply Breadcrumb)))
18 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/breadcrumb/ui_breadcrumb_divider.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.breadcrumb.ui-breadcrumb-divider
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$BreadcrumbDivider" :as BreadcrumbDivider])))
5 |
6 | (def ui-breadcrumb-divider
7 | "A divider sub-component for Breadcrumb component.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - icon (custom): Render as an `Icon` component with `divider` class instead of a `div`."
15 | #?(:cljs (h/factory-apply BreadcrumbDivider)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/breadcrumb/ui_breadcrumb_section.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.breadcrumb.ui-breadcrumb-section
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$BreadcrumbSection" :as BreadcrumbSection])))
5 |
6 | (def ui-breadcrumb-section
7 | "A section sub-component for Breadcrumb component.
8 |
9 | Props:
10 | - active (bool): Style as the currently active section.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - href (string): Render as an `a` tag instead of a `div` and adds the href attribute. ()
16 | - link (bool): Render as an `a` tag instead of a `div`. ()
17 | - onClick (func): Called on click. When passed, the component will render as an `a`"
18 | #?(:cljs (h/factory-apply BreadcrumbSection)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Form" :as Form])))
5 |
6 | (def ui-form
7 | "A Form displays a set of related user input fields in a structured way.
8 |
9 | Props:
10 | - action (string): The HTML form action
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - error (bool): Automatically show any error Message children.
15 | - inverted (bool): A form can have its color inverted for contrast.
16 | - loading (bool): Automatically show a loading indicator.
17 | - onSubmit (func): The HTML form submit handler.
18 | - reply (bool): A comment can contain a form to reply to a comment. This may have arbitrary content.
19 | - size (enum): A form can vary in size. (mini, tiny, small, large, big, huge, massive)
20 | - success (bool): Automatically show any success Message children.
21 | - unstackable (bool): A form can prevent itself from stacking on mobile.
22 | - warning (bool): Automatically show any warning Message children.
23 | - widths (enum): Forms can automatically divide fields to be equal width. (equal)"
24 | #?(:cljs (h/factory-apply Form)))
25 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_button.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-button
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormButton" :as FormButton])))
5 |
6 | (def ui-form-button
7 | "Sugar for .
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - control (custom): A FormField control prop."
12 | #?(:cljs (h/factory-apply FormButton)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_checkbox.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-checkbox
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormCheckbox" :as FormCheckbox])))
5 |
6 | (def ui-form-checkbox
7 | "Sugar for .
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - control (custom): A FormField control prop."
12 | #?(:cljs (h/factory-apply FormCheckbox)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_dropdown.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-dropdown
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormDropdown" :as FormDropdown])))
5 |
6 | (def ui-form-dropdown
7 | "Sugar for .
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - control (custom): A FormField control prop."
12 | #?(:cljs (h/factory-apply FormDropdown)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_field.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-field
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormField" :as FormField])))
5 |
6 | (def ui-form-field
7 | "A field is a form element containing a label and an input.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - control (elementType|enum): A form control component (i.e. Dropdown) or HTML tagName (i.e. 'input'). (button, input, select, textarea)
15 | - disabled (bool): Individual fields may be disabled.
16 | - error (bool|custom): Individual fields may display an error state along with a message. ()
17 | - id (string): The id of the control
18 | - inline (bool): A field can have its label next to instead of above it.
19 | - label (node|object): Mutually exclusive with children. ()
20 | - required (bool): A field can show that input is mandatory.
21 | - type (): Passed to the control component (i.e. ) ()
22 | - width (enum): A field can specify its width in grid columns (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)"
23 | #?(:cljs (h/factory-apply FormField)))
24 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormGroup" :as FormGroup])))
5 |
6 | (def ui-form-group
7 | "A set of fields can appear grouped together.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - grouped (bool): Fields can show related choices. ()
14 | - inline (bool): Multiple fields may be inline in a row. ()
15 | - unstackable (bool): A form group can prevent itself from stacking on mobile.
16 | - widths (enum): Fields Groups can specify their width in grid columns or automatically divide fields to be equal width. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, equal)"
17 | #?(:cljs (h/factory-apply FormGroup)))
18 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_input.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-input
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormInput" :as FormInput])))
5 |
6 | (def ui-form-input
7 | "Sugar for .
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - control (custom): A FormField control prop."
12 | #?(:cljs (h/wrapped-factory-apply FormInput)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_radio.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-radio
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormRadio" :as FormRadio])))
5 |
6 | (def ui-form-radio
7 | "Sugar for .
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - control (custom): A FormField control prop."
12 | #?(:cljs (h/factory-apply FormRadio)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_select.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-select
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormSelect" :as FormSelect])))
5 |
6 | (def ui-form-select
7 | "Sugar for .
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - control (custom): A FormField control prop.
12 | - options (arrayOf): Array of Dropdown.Item props e.g. `{ text: '', value: '' }` ([:name \"shape\"], [:value \"Dropdown.Item.propTypes\"], [:computed true])"
13 | #?(:cljs (h/factory-apply FormSelect)))
14 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/form/ui_form_text_area.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.form.ui-form-text-area
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FormTextArea" :as FormTextArea])))
5 |
6 | (def ui-form-text-area
7 | "Sugar for .
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - control (custom): A FormField control prop."
12 | #?(:cljs (h/factory-apply FormTextArea)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/grid/ui_grid.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.grid.ui-grid
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Grid" :as Grid])))
5 |
6 | (def ui-grid
7 | "A grid is used to harmonize negative space in a layout.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - celled (bool|enum): A grid can have rows divided into cells. (internally)
12 | - centered (bool): A grid can have its columns centered.
13 | - children (node): Primary content.
14 | - className (string): Additional classes.
15 | - columns (enum): Represents column count per row in Grid. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, equal)
16 | - container (bool): A grid can be combined with a container to use the available layout and alignment.
17 | - divided (bool|enum): A grid can have dividers between its columns. (vertically)
18 | - doubling (bool): A grid can double its column width on tablet and mobile sizes.
19 | - inverted (bool): A grid's colors can be inverted.
20 | - padded (bool|enum): A grid can preserve its vertical and horizontal gutters on first and last columns. (horizontally, vertically)
21 | - relaxed (bool|enum): A grid can increase its gutters to allow for more negative space. (very)
22 | - reversed (custom): A grid can specify that its columns should reverse order at different device sizes.
23 | - stackable (bool): A grid can have its columns stack on-top of each other after reaching mobile breakpoints.
24 | - stretched (bool): A grid can stretch its contents to take up the entire grid height.
25 | - textAlign (enum): A grid can specify its text alignment. (left, center, right, justified)
26 | - verticalAlign (enum): A grid can specify its vertical alignment to have all its columns vertically centered. (bottom, middle, top)"
27 | #?(:cljs (h/factory-apply Grid)))
28 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/grid/ui_grid_column.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.grid.ui-grid-column
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$GridColumn" :as GridColumn])))
5 |
6 | (def ui-grid-column
7 | "A column sub-component for Grid.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - color (enum): A grid column can be colored. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
14 | - computer (enum): A column can specify a width for a computer. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)
15 | - floated (enum): A column can sit flush against the left or right edge of a row. (left, right)
16 | - largeScreen (enum): A column can specify a width for a large screen device. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)
17 | - mobile (enum): A column can specify a width for a mobile device. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)
18 | - only (custom): A column can appear only for a specific device, or screen sizes.
19 | - stretched (bool): A column can stretch its contents to take up the entire grid or row height.
20 | - tablet (enum): A column can specify a width for a tablet device. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)
21 | - textAlign (enum): A column can specify its text alignment. (left, center, right, justified)
22 | - verticalAlign (enum): A column can specify its vertical alignment to have all its columns vertically centered. (bottom, middle, top)
23 | - widescreen (enum): A column can specify a width for a wide screen device. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)
24 | - width (enum): Represents width of column. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)"
25 | #?(:cljs (h/factory-apply GridColumn)))
26 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/grid/ui_grid_row.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.grid.ui-grid-row
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$GridRow" :as GridRow])))
5 |
6 | (def ui-grid-row
7 | "A row sub-component for Grid.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - centered (bool): A row can have its columns centered.
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - color (enum): A grid row can be colored. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
15 | - columns (enum): Represents column count per line in Row. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, equal)
16 | - divided (bool): A row can have dividers between its columns.
17 | - only (custom): A row can appear only for a specific device, or screen sizes.
18 | - reversed (custom): A row can specify that its columns should reverse order at different device sizes.
19 | - stretched (bool): A row can stretch its contents to take up the entire column height.
20 | - textAlign (enum): A row can specify its text alignment. (left, center, right, justified)
21 | - verticalAlign (enum): A row can specify its vertical alignment to have all its columns vertically centered. (bottom, middle, top)"
22 | #?(:cljs (h/factory-apply GridRow)))
23 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/menu/ui_menu.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.menu.ui-menu
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Menu" :as Menu])))
5 |
6 | (def ui-menu
7 | "A menu displays grouped navigation actions.
8 |
9 | Props:
10 | - activeIndex (number|string): Index of the currently active item. ()
11 | - as (elementType): An element type to render as (string or function).
12 | - attached (bool|enum): A menu may be attached to other content segments. (top, bottom)
13 | - borderless (bool): A menu item or menu can have no borders.
14 | - children (node): Primary content.
15 | - className (string): Additional classes.
16 | - color (enum): Additional colors can be specified. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
17 | - compact (bool): A menu can take up only the space necessary to fit its content.
18 | - defaultActiveIndex (number|string): Initial activeIndex value. ()
19 | - fixed (enum): A menu can be fixed to a side of its context. (left, right, bottom, top)
20 | - floated (bool|enum): A menu can be floated. (right)
21 | - fluid (bool): A vertical menu may take the size of its container.
22 | - icon (bool|enum): A menu may have just icons (bool) or labeled icons. (labeled)
23 | - inverted (bool): A menu may have its colors inverted to show greater contrast.
24 | - items (custom): Shorthand array of props for Menu.
25 | - onItemClick (func): onClick handler for MenuItem. Mutually exclusive with children. ()
26 | - pagination (bool): A pagination menu is specially formatted to present links to pages of content.
27 | - pointing (bool): A menu can point to show its relationship to nearby content.
28 | - secondary (bool): A menu can adjust its appearance to de-emphasize its contents.
29 | - size (enum): A menu can vary in size. (mini, tiny, small, large, huge, massive)
30 | - stackable (bool): A menu can stack at mobile resolutions.
31 | - tabular (bool|enum): A menu can be formatted to show tabs of information. (right)
32 | - text (bool): A menu can be formatted for text content.
33 | - vertical (bool): A vertical menu displays elements vertically.
34 | - widths (enum): A menu can have its items divided evenly. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)"
35 | #?(:cljs (h/factory-apply Menu)))
36 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/menu/ui_menu_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.menu.ui-menu-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$MenuHeader" :as MenuHeader])))
5 |
6 | (def ui-menu-header
7 | "A menu item may include a header or may itself be a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply MenuHeader)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/menu/ui_menu_item.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.menu.ui-menu-item
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$MenuItem" :as MenuItem])))
5 |
6 | (def ui-menu-item
7 | "A menu can contain an item.
8 |
9 | Props:
10 | - active (bool): A menu item can be active.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - color (enum): Additional colors can be specified. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
15 | - content (custom): Shorthand for primary content.
16 | - disabled (bool): A menu item can be disabled.
17 | - fitted (bool|enum): A menu item or menu can remove element padding, vertically or horizontally. (horizontally, vertically)
18 | - header (bool): A menu item may include a header or may itself be a header.
19 | - icon (bool|custom): MenuItem can be only icon. ()
20 | - index (number): MenuItem index inside Menu.
21 | - link (bool): A menu item can be link.
22 | - name (string): Internal name of the MenuItem.
23 | - onClick (func): Called on click. When passed, the component will render as an `a`
24 | - position (enum): A menu item can take left or right position. (left, right)"
25 | #?(:cljs (h/factory-apply MenuItem)))
26 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/menu/ui_menu_menu.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.menu.ui-menu-menu
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$MenuMenu" :as MenuMenu])))
5 |
6 | (def ui-menu-menu
7 | "A menu can contain a sub menu.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - position (enum): A sub menu can take left or right position. (left, right)"
15 | #?(:cljs (h/factory-apply MenuMenu)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/message/ui_message.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.message.ui-message
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Message" :as Message])))
5 |
6 | (def ui-message
7 | "A message displays information that explains nearby content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - attached (bool|enum): A message can be formatted to attach itself to other content. (bottom, top)
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - color (enum): A message can be formatted to be different colors. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
15 | - compact (bool): A message can only take up the width of its content.
16 | - content (custom): Shorthand for primary content.
17 | - error (bool): A message may be formatted to display a negative message. Same as `negative`.
18 | - floating (bool): A message can float above content that it is related to.
19 | - header (custom): Shorthand for MessageHeader.
20 | - hidden (bool): A message can be hidden.
21 | - icon (custom|bool): A message can contain an icon. ()
22 | - info (bool): A message may be formatted to display information.
23 | - list (custom): Array shorthand items for the MessageList. Mutually exclusive with children.
24 | - negative (bool): A message may be formatted to display a negative message. Same as `error`.
25 | - onDismiss (func): A message that the user can choose to hide.
26 | - positive (bool): A message may be formatted to display a positive message. Same as `success`.
27 | - size (enum): A message can have different sizes. (mini, tiny, small, large, big, huge, massive)
28 | - success (bool): A message may be formatted to display a positive message. Same as `positive`.
29 | - visible (bool): A message can be set to visible to force itself to be shown.
30 | - warning (bool): A message may be formatted to display warning messages."
31 | #?(:cljs (h/factory-apply Message)))
32 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/message/ui_message_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.message.ui-message-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$MessageContent" :as MessageContent])))
5 |
6 | (def ui-message-content
7 | "A message can contain a content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply MessageContent)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/message/ui_message_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.message.ui-message-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$MessageHeader" :as MessageHeader])))
5 |
6 | (def ui-message-header
7 | "A message can contain a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply MessageHeader)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/message/ui_message_item.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.message.ui-message-item
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$MessageItem" :as MessageItem])))
5 |
6 | (def ui-message-item
7 | "A message list can contain an item.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply MessageItem)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/message/ui_message_list.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.message.ui-message-list
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$MessageList" :as MessageList])))
5 |
6 | (def ui-message-list
7 | "A message can contain a list of items.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - items (custom): Shorthand Message.Items."
14 | #?(:cljs (h/factory-apply MessageList)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/table/ui_table.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.table.ui-table
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Table" :as Table])))
5 |
6 | (def ui-table
7 | "A table displays a collections of data grouped into rows.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - attached (bool|enum): Attach table to other content (top, bottom)
12 | - basic (enum|bool): A table can reduce its complexity to increase readability. (very)
13 | - celled (bool): A table may be divided into individual cells.
14 | - children (node): Primary content.
15 | - className (string): Additional classes.
16 | - collapsing (bool): A table can be collapsing, taking up only as much space as its rows.
17 | - color (enum): A table can be given a color to distinguish it from other tables. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
18 | - columns (enum): A table can specify its column count to divide its content evenly. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)
19 | - compact (bool|enum): A table may sometimes need to be more compact to make more rows visible at a time. (very)
20 | - definition (bool): A table may be formatted to emphasize a first column that defines a rows content.
21 | - fixed (bool): A table can use fixed a special faster form of table rendering that does not resize table cells based on content
22 | - footerRow (custom): Shorthand for a TableRow to be placed within Table.Footer.
23 | - headerRow (custom): Shorthand for a TableRow to be placed within Table.Header. ()
24 | - headerRows (custom): Shorthand for multiple TableRows to be placed within Table.Header. ()
25 | - inverted (bool): A table's colors can be inverted.
26 | - padded (bool|enum): A table may sometimes need to be more padded for legibility. (very)
27 | - renderBodyRow (func): Mapped over `tableData` and should return shorthand for each Table.Row to be placed within Table.Body. ()
28 | - selectable (bool): A table can have its rows appear selectable.
29 | - singleLine (bool): A table can specify that its cell contents should remain on a single line and not wrap.
30 | - size (enum): A table can also be small or large. (small, large)
31 | - sortable (bool): A table may allow a user to sort contents by clicking on a table header.
32 | - stackable (bool): A table can specify how it stacks table content responsively.
33 | - striped (bool): A table can stripe alternate rows of content with a darker color to increase contrast.
34 | - structured (bool): A table can be formatted to display complex structured data.
35 | - tableData (array): Data to be passed to the renderBodyRow function. ()
36 | - textAlign (enum): A table can adjust its text alignment. (left, center, right)
37 | - unstackable (bool): A table can specify how it stacks table content responsively.
38 | - verticalAlign (enum): A table can adjust its text alignment. (bottom, middle, top)"
39 | #?(:cljs (h/factory-apply Table)))
40 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/table/ui_table_body.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.table.ui-table-body
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TableBody" :as TableBody])))
5 |
6 | (def ui-table-body
7 | "
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes."
13 | #?(:cljs (h/factory-apply TableBody)))
14 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/table/ui_table_cell.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.table.ui-table-cell
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TableCell" :as TableCell])))
5 |
6 | (def ui-table-cell
7 | "A table row can have cells.
8 |
9 | Props:
10 | - active (bool): A cell can be active or selected by a user.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - collapsing (bool): A cell can be collapsing so that it only uses as much space as required.
15 | - content (custom): Shorthand for primary content.
16 | - disabled (bool): A cell can be disabled.
17 | - error (bool): A cell may call attention to an error or a negative value.
18 | - icon (custom): Add an Icon by name, props object, or pass an
19 | - negative (bool): A cell may let a user know whether a value is bad.
20 | - positive (bool): A cell may let a user know whether a value is good.
21 | - selectable (bool): A cell can be selectable.
22 | - singleLine (bool): A cell can specify that its contents should remain on a single line and not wrap.
23 | - textAlign (enum): A table cell can adjust its text alignment. (left, center, right)
24 | - verticalAlign (enum): A table cell can adjust its text alignment. (bottom, middle, top)
25 | - warning (bool): A cell may warn a user.
26 | - width (enum): A table can specify the width of individual columns independently. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)"
27 | #?(:cljs (h/factory-apply TableCell)))
28 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/table/ui_table_footer.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.table.ui-table-footer
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TableFooter" :as TableFooter])))
5 |
6 | (def ui-table-footer
7 | "A table can have a footer.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function)."
11 | #?(:cljs (h/factory-apply TableFooter)))
12 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/table/ui_table_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.table.ui-table-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TableHeader" :as TableHeader])))
5 |
6 | (def ui-table-header
7 | "A table can have a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - fullWidth (bool): A definition table can have a full width header or footer, filling in the gap left by the first column."
15 | #?(:cljs (h/factory-apply TableHeader)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/table/ui_table_header_cell.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.table.ui-table-header-cell
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TableHeaderCell" :as TableHeaderCell])))
5 |
6 | (def ui-table-header-cell
7 | "A table can have a header cell.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes.
12 | - sorted (enum): A header cell can be sorted in ascending or descending order. (ascending, descending)"
13 | #?(:cljs (h/factory-apply TableHeaderCell)))
14 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/collections/table/ui_table_row.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.collections.table.ui-table-row
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TableRow" :as TableRow])))
5 |
6 | (def ui-table-row
7 | "A table can have rows.
8 |
9 | Props:
10 | - active (bool): A row can be active or selected by a user.
11 | - as (elementType): An element type to render as (string or function).
12 | - cellAs (elementType): An element type to render as (string or function).
13 | - cells (custom): Shorthand array of props for TableCell.
14 | - children (node): Primary content.
15 | - className (string): Additional classes.
16 | - disabled (bool): A row can be disabled.
17 | - error (bool): A row may call attention to an error or a negative value.
18 | - negative (bool): A row may let a user know whether a value is bad.
19 | - positive (bool): A row may let a user know whether a value is good.
20 | - textAlign (enum): A table row can adjust its text alignment. (left, center, right)
21 | - verticalAlign (enum): A table row can adjust its vertical alignment. (bottom, middle, top)
22 | - warning (bool): A row may warn a user."
23 | #?(:cljs (h/factory-apply TableRow)))
24 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/button/ui_button.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.button.ui-button
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Button" :as Button])))
5 |
6 | (def ui-button
7 | "A Button indicates a possible user action.
8 |
9 | Props:
10 | - active (bool): A button can show it is currently the active user selection.
11 | - animated (bool|enum): A button can animate to show hidden content. (fade, vertical)
12 | - as (elementType): An element type to render as (string or function).
13 | - attached (bool|enum): A button can be attached to other content. (left, right, top, bottom)
14 | - basic (bool): A basic button is less pronounced.
15 | - children (node): Primary content. ()
16 | - circular (bool): A button can be circular.
17 | - className (string): Additional classes.
18 | - color (enum): A button can have different colors (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black, facebook, google plus, instagram, linkedin, twitter, vk, youtube)
19 | - compact (bool): A button can reduce its padding to fit into tighter spaces.
20 | - content (custom): Shorthand for primary content.
21 | - disabled (bool): A button can show it is currently unable to be interacted with.
22 | - floated (enum): A button can be aligned to the left or right of its container. (left, right)
23 | - fluid (bool): A button can take the width of its container.
24 | - icon (bool|string|object|element): Add an Icon by name, props object, or pass an . ()
25 | - inverted (bool): A button can be formatted to appear on dark backgrounds.
26 | - label (string|object|element): Add a Label by text, props object, or pass a . ()
27 | - labelPosition (enum): A labeled button can format a Label or Icon to appear on the left or right. (right, left)
28 | - loading (bool): A button can show a loading indicator.
29 | - negative (bool): A button can hint towards a negative consequence.
30 | - onClick (func): Called after user's click.
31 | - positive (bool): A button can hint towards a positive consequence.
32 | - primary (bool): A button can be formatted to show different levels of emphasis.
33 | - role (string): The role of the HTML element.
34 | - secondary (bool): A button can be formatted to show different levels of emphasis.
35 | - size (enum): A button can have different sizes. (mini, tiny, small, medium, large, big, huge, massive)
36 | - tabIndex (number|string): A button can receive focus. ()
37 | - toggle (bool): A button can be formatted to toggle on and off.
38 | - type (enum): The type of the HTML element. (button, submit, reset)"
39 | #?(:cljs (h/factory-apply Button)))
40 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/button/ui_button_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.button.ui-button-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ButtonContent" :as ButtonContent])))
5 |
6 | (def ui-button-content
7 | "Used in some Button types, such as `animated`.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - hidden (bool): Initially hidden, visible on hover.
15 | - visible (bool): Initially visible, hidden on hover."
16 | #?(:cljs (h/factory-apply ButtonContent)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/button/ui_button_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.button.ui-button-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ButtonGroup" :as ButtonGroup])))
5 |
6 | (def ui-button-group
7 | "Buttons can be grouped.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - attached (bool|enum): Groups can be attached to other content. (left, right, top, bottom)
12 | - basic (bool): Groups can be less pronounced.
13 | - buttons (custom): Array of shorthand Button values.
14 | - children (node): Primary content.
15 | - className (string): Additional classes.
16 | - color (enum): Groups can have a shared color. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
17 | - compact (bool): Groups can reduce their padding to fit into tighter spaces.
18 | - content (custom): Shorthand for primary content.
19 | - floated (enum): Groups can be aligned to the left or right of its container. (left, right)
20 | - fluid (bool): Groups can take the width of their container.
21 | - icon (bool): Groups can be formatted as icons.
22 | - inverted (bool): Groups can be formatted to appear on dark backgrounds.
23 | - labeled (bool): Groups can be formatted as labeled icon buttons.
24 | - negative (bool): Groups can hint towards a negative consequence.
25 | - positive (bool): Groups can hint towards a positive consequence.
26 | - primary (bool): Groups can be formatted to show different levels of emphasis.
27 | - secondary (bool): Groups can be formatted to show different levels of emphasis.
28 | - size (enum): Groups can have different sizes. (mini, tiny, small, medium, large, big, huge, massive)
29 | - toggle (bool): Groups can be formatted to toggle on and off.
30 | - vertical (bool): Groups can be formatted to appear vertically.
31 | - widths (enum): Groups can have their widths divided evenly. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)"
32 | #?(:cljs (h/factory-apply ButtonGroup)))
33 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/button/ui_button_or.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.button.ui-button-or
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ButtonOr" :as ButtonOr])))
5 |
6 | (def ui-button-or
7 | "Button groups can contain conditionals.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes.
12 | - text (number|string): Or buttons can have their text localized, or adjusted by using the text prop. ()"
13 | #?(:cljs (h/factory-apply ButtonOr)))
14 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/container/ui_container.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.container.ui-container
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Container" :as Container])))
5 |
6 | (def ui-container
7 | "A container limits content to a maximum width.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - fluid (bool): Container has no maximum width.
15 | - text (bool): Reduce maximum width to more naturally accommodate text.
16 | - textAlign (enum): Align container text. (left, center, right, justified)"
17 | #?(:cljs (h/factory-apply Container)))
18 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/divider/ui_divider.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.divider.ui-divider
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Divider" :as Divider])))
5 |
6 | (def ui-divider
7 | "A divider visually segments content into groups.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - clearing (bool): Divider can clear the content above it.
14 | - content (custom): Shorthand for primary content.
15 | - fitted (bool): Divider can be fitted without any space above or below it.
16 | - hidden (bool): Divider can divide content without creating a dividing line.
17 | - horizontal (bool): Divider can segment content horizontally.
18 | - inverted (bool): Divider can have its colours inverted.
19 | - section (bool): Divider can provide greater margins to divide sections of content.
20 | - vertical (bool): Divider can segment content vertically."
21 | #?(:cljs (h/factory-apply Divider)))
22 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/flag/ui_flag.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.flag.ui-flag
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Flag" :as Flag])))
5 |
6 | (def ui-flag
7 | "A flag is is used to represent a political state.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes.
12 | - name (enum): Flag name, can use the two digit country code, the full name, or a common alias. (ad, andorra, ae, united arab emirates, uae, af, afghanistan, ag, antigua, ai, anguilla, al, albania, am, armenia, an, netherlands antilles, ao, angola, ar, argentina, as, american samoa, at, austria, au, australia, aw, aruba, ax, aland islands, az, azerbaijan, ba, bosnia, bb, barbados, bd, bangladesh, be, belgium, bf, burkina faso, bg, bulgaria, bh, bahrain, bi, burundi, bj, benin, bm, bermuda, bn, brunei, bo, bolivia, br, brazil, bs, bahamas, bt, bhutan, bv, bouvet island, bw, botswana, by, belarus, bz, belize, ca, canada, cc, cocos islands, cd, congo, cf, central african republic, cg, congo brazzaville, ch, switzerland, ci, cote divoire, ck, cook islands, cl, chile, cm, cameroon, cn, china, co, colombia, cr, costa rica, cs, cu, cuba ...)"
13 | #?(:cljs (h/factory-apply Flag)))
14 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/header/ui_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.header.ui-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Header" :as Header])))
5 |
6 | (def ui-header
7 | "A header provides a short summary of content
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - attached (bool|enum): Attach header to other content, like a segment. (top, bottom)
12 | - block (bool): Format header to appear inside a content block.
13 | - children (node): Primary content.
14 | - className (string): Additional classes.
15 | - color (enum): Color of the header. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
16 | - content (custom): Shorthand for primary content.
17 | - disabled (bool): Show that the header is inactive.
18 | - dividing (bool): Divide header from the content below it.
19 | - floated (enum): Header can sit to the left or right of other content. (left, right)
20 | - icon (union): Add an icon by icon name or pass an Icon. ()
21 | - image (union): Add an image by img src or pass an Image. ()
22 | - inverted (bool): Inverts the color of the header for dark backgrounds.
23 | - size (enum): Content headings are sized with em and are based on the font-size of their container. (tiny, small, medium, large, huge)
24 | - sub (bool): Headers may be formatted to label smaller or de-emphasized content.
25 | - subheader (custom): Shorthand for Header.Subheader.
26 | - textAlign (enum): Align header content. (left, center, right, justified)"
27 | #?(:cljs (h/factory-apply Header)))
28 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/header/ui_header_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.header.ui-header-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$HeaderContent" :as HeaderContent])))
5 |
6 | (def ui-header-content
7 | "Header content wraps the main content when there is an adjacent Icon or Image.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply HeaderContent)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/header/ui_header_subheader.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.header.ui-header-subheader
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$HeaderSubheader" :as HeaderSubheader])))
5 |
6 | (def ui-header-subheader
7 | "Headers may contain subheaders.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply HeaderSubheader)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/icon/ui_icon.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.icon.ui-icon
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Icon" :as Icon])))
5 |
6 | (def ui-icon
7 | "An icon is a glyph used to represent something else.
8 |
9 | Props:
10 | - aria-hidden (string): Icon can have an aria label.
11 | - aria-label (string): Icon can have an aria label.
12 | - as (elementType): An element type to render as (string or function).
13 | - bordered (bool): Formatted to appear bordered.
14 | - circular (bool): Icon can formatted to appear circular.
15 | - className (string): Additional classes.
16 | - color (enum): Color of the icon. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
17 | - corner (bool|enum): Icons can display a smaller corner icon. (top left, top right, bottom left, bottom right)
18 | - disabled (bool): Show that the icon is inactive.
19 | - fitted (bool): Fitted, without space to left or right of Icon.
20 | - flipped (enum): Icon can be flipped. (horizontally, vertically)
21 | - inverted (bool): Formatted to have its colors inverted for contrast.
22 | - link (bool): Icon can be formatted as a link.
23 | - loading (bool): Icon can be used as a simple loader.
24 | - name (enum): Name of the icon. (american sign language interpreting, assistive listening systems, audio description, blind, braille, closed captioning, closed captioning outline, deaf, low vision, phone volume, question circle, question circle outline, sign language, tty, universal access, wheelchair, angle double down, angle double left, angle double right, angle double up, angle down, angle left, angle right, angle up, arrow alternate circle down, arrow alternate circle down outline, arrow alternate circle left, arrow alternate circle left outline, arrow alternate circle right, arrow alternate circle right outline, arrow alternate circle up, arrow alternate circle up outline, arrow circle down, arrow circle left, arrow circle right, arrow circle up, arrow down, arrow left, arrow right, arrow up, arrows alternate, arrows alternate horizontal, arrows alternate vertical, caret down, caret left, caret right, caret square down, caret square down outline, caret square left, caret square left outline, caret square right, caret square right outline, caret square up, caret square up outline, caret up, cart arrow down, chart line, chevron circle down, chevron circle left, chevron circle right, chevron circle up, chevron down, chevron left, chevron right, chevron up, cloud download, cloud upload, download, exchange, expand arrows alternate, external alternate, external square alternate, hand point down, hand point down outline, hand point left, hand point left outline, hand point right, hand point right outline, hand point up, hand point up outline, hand pointer, hand pointer outline, history, level down alternate, level up alternate, location arrow, long arrow alternate down, long arrow alternate left, long arrow alternate right, long arrow alternate up, mouse pointer, play, random, recycle, redo, redo alternate, reply, reply all, retweet, share ...)
25 | - rotated (enum): Icon can rotated. (clockwise, counterclockwise)
26 | - size (enum): Size of the icon. (mini, tiny, small, large, big, huge, massive)"
27 | #?(:cljs (h/factory-apply Icon)))
28 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/icon/ui_icon_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.icon.ui-icon-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$IconGroup" :as IconGroup])))
5 |
6 | (def ui-icon-group
7 | "Several icons can be used together as a group.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - size (enum): Size of the icon group. (mini, tiny, small, large, big, huge, massive)"
15 | #?(:cljs (h/factory-apply IconGroup)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/image/ui_image.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.image.ui-image
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Image" :as Image])))
5 |
6 | (def ui-image
7 | "An image is a graphic representation of something.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - avatar (bool): An image may be formatted to appear inline with text as an avatar.
12 | - bordered (bool): An image may include a border to emphasize the edges of white or transparent content.
13 | - centered (bool): An image can appear centered in a content block.
14 | - children (node): Primary content.
15 | - circular (bool): An image may appear circular.
16 | - className (string): Additional classes.
17 | - content (custom): Shorthand for primary content.
18 | - dimmer (custom): Shorthand for Dimmer.
19 | - disabled (bool): An image can show that it is disabled and cannot be selected.
20 | - floated (enum): An image can sit to the left or right of other content. (left, right)
21 | - fluid (bool): An image can take up the width of its container. ()
22 | - hidden (bool): An image can be hidden.
23 | - href (string): Renders the Image as an tag with this href.
24 | - inline (bool): An image may appear inline.
25 | - label (custom): Shorthand for Label.
26 | - rounded (bool): An image may appear rounded.
27 | - size (enum): An image may appear at different sizes. (mini, tiny, small, medium, large, big, huge, massive)
28 | - spaced (bool|enum): An image can specify that it needs an additional spacing to separate it from nearby content. (left, right)
29 | - ui (bool): Whether or not to add the ui className.
30 | - verticalAlign (enum): An image can specify its vertical alignment. (bottom, middle, top)
31 | - wrapped (bool): An image can render wrapped in a `div.ui.image` as alternative HTML markup."
32 | #?(:cljs (h/factory-apply Image)))
33 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/image/ui_image_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.image.ui-image-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ImageGroup" :as ImageGroup])))
5 |
6 | (def ui-image-group
7 | "A group of images.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - size (enum): A group of images can be formatted to have the same size. (mini, tiny, small, medium, large, big, huge, massive)"
15 | #?(:cljs (h/factory-apply ImageGroup)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/input/ui_input.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.input.ui-input
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Input" :as Input])))
5 |
6 | (def ui-input
7 | "An Input is a field used to elicit a response from a user.
8 |
9 | Props:
10 | - action (bool|custom): An Input can be formatted to alert the user to an action they may perform. ()
11 | - actionPosition (enum): An action can appear along side an Input on the left or right. (left)
12 | - as (elementType): An element type to render as (string or function).
13 | - children (node): Primary content.
14 | - className (string): Additional classes.
15 | - disabled (bool): An Input field can show that it is disabled.
16 | - error (bool): An Input field can show the data contains errors.
17 | - fluid (bool): Take on the size of its container.
18 | - focus (bool): An Input field can show a user is currently interacting with it.
19 | - icon (bool|custom): Optional Icon to display inside the Input. ()
20 | - iconPosition (enum): An Icon can appear inside an Input on the left or right. (left)
21 | - input (custom): Shorthand for creating the HTML Input.
22 | - inverted (bool): Format to appear on dark backgrounds.
23 | - label (custom): Optional Label to display along side the Input.
24 | - labelPosition (enum): A Label can appear outside an Input on the left or right. (left, right, left corner, right corner)
25 | - loading (bool): An Icon Input field can show that it is currently loading data.
26 | - onChange (func): Called on change.
27 | - size (enum): An Input can vary in size. (mini, small, large, big, huge, massive)
28 | - tabIndex (number|string): An Input can receive focus. ()
29 | - transparent (bool): Transparent Input has no background.
30 | - type (string): The HTML input type."
31 | #?(:cljs (h/wrapped-factory-apply Input)))
32 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/label/ui_label.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.label.ui-label
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Label" :as Label])))
5 |
6 | (def ui-label
7 | "A label displays content classification.
8 |
9 | Props:
10 | - active (bool): A label can be active.
11 | - as (elementType): An element type to render as (string or function).
12 | - attached (enum): A label can attach to a content segment. (top, bottom, top right, top left, bottom left, bottom right)
13 | - basic (bool): A label can reduce its complexity.
14 | - children (node): Primary content.
15 | - circular (bool): A label can be circular.
16 | - className (string): Additional classes.
17 | - color (enum): Color of the label. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
18 | - content (custom): Shorthand for primary content.
19 | - corner (bool|enum): A label can position itself in the corner of an element. (left, right)
20 | - detail (custom): Shorthand for LabelDetail.
21 | - empty (bool): Formats the label as a dot. ()
22 | - floating (bool): Float above another element in the upper right corner.
23 | - horizontal (bool): A horizontal label is formatted to label content along-side it horizontally.
24 | - icon (custom): Shorthand for Icon.
25 | - image (bool|custom): A label can be formatted to emphasize an image or prop can be used as shorthand for Image. ()
26 | - onClick (func): Called on click.
27 | - onRemove (func): Adds an \"x\" icon, called when \"x\" is clicked.
28 | - pointing (bool|enum): A label can point to content next to it. (above, below, left, right)
29 | - prompt (bool): A label can prompt for an error in your forms.
30 | - removeIcon (custom): Shorthand for Icon to appear as the last child and trigger onRemove.
31 | - ribbon (bool|enum): A label can appear as a ribbon attaching itself to an element. (right)
32 | - size (enum): A label can have different sizes. (mini, tiny, small, medium, large, big, huge, massive)
33 | - tag (bool): A label can appear as a tag."
34 | #?(:cljs (h/factory-apply Label)))
35 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/label/ui_label_detail.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.label.ui-label-detail
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$LabelDetail" :as LabelDetail])))
5 |
6 | (def ui-label-detail
7 | "
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply LabelDetail)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/label/ui_label_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.label.ui-label-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$LabelGroup" :as LabelGroup])))
5 |
6 | (def ui-label-group
7 | "A label can be grouped.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - circular (bool): Labels can share shapes.
13 | - className (string): Additional classes.
14 | - color (enum): Label group can share colors together. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
15 | - content (custom): Shorthand for primary content.
16 | - size (enum): Label group can share sizes together. (mini, tiny, small, medium, large, big, huge, massive)
17 | - tag (bool): Label group can share tag formatting."
18 | #?(:cljs (h/factory-apply LabelGroup)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/list/ui_list.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.list.ui-list
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$List" :as List])))
5 |
6 | (def ui-list
7 | "A list groups related content.
8 |
9 | Props:
10 | - animated (bool): A list can animate to set the current item apart from the list.
11 | - as (elementType): An element type to render as (string or function).
12 | - bulleted (bool): A list can mark items with a bullet.
13 | - celled (bool): A list can divide its items into cells.
14 | - children (node): Primary content.
15 | - className (string): Additional classes.
16 | - content (custom): Shorthand for primary content.
17 | - divided (bool): A list can show divisions between content.
18 | - floated (enum): An list can be floated left or right. (left, right)
19 | - horizontal (bool): A list can be formatted to have items appear horizontally.
20 | - inverted (bool): A list can be inverted to appear on a dark background.
21 | - items (custom): Shorthand array of props for ListItem.
22 | - link (bool): A list can be specially formatted for navigation links.
23 | - onItemClick (func): onClick handler for ListItem. Mutually exclusive with children. ()
24 | - ordered (bool): A list can be ordered numerically.
25 | - relaxed (bool|enum): A list can relax its padding to provide more negative space. (very)
26 | - selection (bool): A selection list formats list items as possible choices.
27 | - size (enum): A list can vary in size. (mini, tiny, small, medium, large, big, huge, massive)
28 | - verticalAlign (enum): An element inside a list can be vertically aligned. (bottom, middle, top)"
29 | #?(:cljs (h/factory-apply List)))
30 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/list/ui_list_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.list.ui-list-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ListContent" :as ListContent])))
5 |
6 | (def ui-list-content
7 | "A list item can contain a content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - description (custom): Shorthand for ListDescription.
15 | - floated (enum): An list content can be floated left or right. (left, right)
16 | - header (custom): Shorthand for ListHeader.
17 | - verticalAlign (enum): An element inside a list can be vertically aligned. (bottom, middle, top)"
18 | #?(:cljs (h/factory-apply ListContent)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/list/ui_list_description.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.list.ui-list-description
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ListDescription" :as ListDescription])))
5 |
6 | (def ui-list-description
7 | "A list item can contain a description.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ListDescription)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/list/ui_list_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.list.ui-list-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ListHeader" :as ListHeader])))
5 |
6 | (def ui-list-header
7 | "A list item can contain a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ListHeader)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/list/ui_list_icon.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.list.ui-list-icon
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ListIcon" :as ListIcon])))
5 |
6 | (def ui-list-icon
7 | "A list item can contain an icon.
8 |
9 | Props:
10 | - className (string): Additional classes.
11 | - verticalAlign (enum): An element inside a list can be vertically aligned. (bottom, middle, top)"
12 | #?(:cljs (h/factory-apply ListIcon)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/list/ui_list_item.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.list.ui-list-item
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ListItem" :as ListItem])))
5 |
6 | (def ui-list-item
7 | "A list item can contain a set of items.
8 |
9 | Props:
10 | - active (bool): A list item can active.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - description (custom): Shorthand for ListDescription.
16 | - disabled (bool): A list item can disabled.
17 | - header (custom): Shorthand for ListHeader.
18 | - icon (custom): Shorthand for ListIcon. ()
19 | - image (custom): Shorthand for Image. ()
20 | - onClick (func): A ListItem can be clicked
21 | - value (string): A value for an ordered list."
22 | #?(:cljs (h/factory-apply ListItem)))
23 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/list/ui_list_list.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.list.ui-list-list
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ListList" :as ListList])))
5 |
6 | (def ui-list-list
7 | "A list can contain a sub list.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ListList)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/loader/ui_loader.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.loader.ui-loader
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Loader" :as Loader])))
5 |
6 | (def ui-loader
7 | "A loader alerts a user to wait for an activity to complete.
8 |
9 | Props:
10 | - active (bool): A loader can be active or visible.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - disabled (bool): A loader can be disabled or hidden.
16 | - indeterminate (bool): A loader can show it's unsure of how long a task will take.
17 | - inline (bool|enum): Loaders can appear inline with content. (centered)
18 | - inverted (bool): Loaders can have their colors inverted.
19 | - size (enum): Loaders can have different sizes. (mini, tiny, small, medium, large, big, huge, massive)"
20 | #?(:cljs (h/factory-apply Loader)))
21 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/placeholder/ui_placeholder.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.placeholder.ui-placeholder
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Placeholder" :as Placeholder])))
5 |
6 | (def ui-placeholder
7 | "A placeholder is used to reserve space for content that soon will appear in a layout.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - fluid (bool): A fluid placeholder takes up the width of its container.
15 | - inverted (bool): A placeholder can have their colors inverted."
16 | #?(:cljs (h/factory-apply Placeholder)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/placeholder/ui_placeholder_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.placeholder.ui-placeholder-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PlaceholderHeader" :as PlaceholderHeader])))
5 |
6 | (def ui-placeholder-header
7 | "A placeholder can contain a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - image (bool): A placeholder can contain an image."
15 | #?(:cljs (h/factory-apply PlaceholderHeader)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/placeholder/ui_placeholder_image.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.placeholder.ui-placeholder-image
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PlaceholderImage" :as PlaceholderImage])))
5 |
6 | (def ui-placeholder-image
7 | "A placeholder can contain an image.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes.
12 | - rectangular (bool): An image can modify size correctly with responsive styles. ()
13 | - square (bool): An image can modify size correctly with responsive styles. ()"
14 | #?(:cljs (h/factory-apply PlaceholderImage)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/placeholder/ui_placeholder_line.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.placeholder.ui-placeholder-line
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PlaceholderLine" :as PlaceholderLine])))
5 |
6 | (def ui-placeholder-line
7 | "A placeholder can contain have lines of text.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes.
12 | - length (enum): A line can specify how long its contents should appear. (full, very long, long, medium, short, very short)"
13 | #?(:cljs (h/factory-apply PlaceholderLine)))
14 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/placeholder/ui_placeholder_paragraph.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.placeholder.ui-placeholder-paragraph
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PlaceholderParagraph" :as PlaceholderParagraph])))
5 |
6 | (def ui-placeholder-paragraph
7 | "A placeholder can contain a paragraph.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply PlaceholderParagraph)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/rail/ui_rail.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.rail.ui-rail
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Rail" :as Rail])))
5 |
6 | (def ui-rail
7 | "A rail is used to show accompanying content outside the boundaries of the main view of a site.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - attached (bool): A rail can appear attached to the main viewport.
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - close (bool|enum): A rail can appear closer to the main viewport. (very)
15 | - content (custom): Shorthand for primary content.
16 | - dividing (bool): A rail can create a division between itself and a container.
17 | - internal (bool): A rail can attach itself to the inside of a container.
18 | - position (enum): A rail can be presented on the left or right side of a container. (left, right)
19 | - size (enum): A rail can have different sizes. (mini, tiny, small, large, big, huge, massive)"
20 | #?(:cljs (h/factory-apply Rail)))
21 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/reveal/ui_reveal.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.reveal.ui-reveal
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Reveal" :as Reveal])))
5 |
6 | (def ui-reveal
7 | "A reveal displays additional content in place of previous content when activated.
8 |
9 | Props:
10 | - active (bool): An active reveal displays its hidden content.
11 | - animated (enum): An animation name that will be applied to Reveal. (fade, small fade, move, move right, move up, move down, rotate, rotate left)
12 | - as (elementType): An element type to render as (string or function).
13 | - children (node): Primary content.
14 | - className (string): Additional classes.
15 | - content (custom): Shorthand for primary content.
16 | - disabled (bool): A disabled reveal will not animate when hovered.
17 | - instant (bool): An element can show its content without delay."
18 | #?(:cljs (h/factory-apply Reveal)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/reveal/ui_reveal_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.reveal.ui-reveal-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$RevealContent" :as RevealContent])))
5 |
6 | (def ui-reveal-content
7 | "A content sub-component for the Reveal.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - hidden (bool): A reveal may contain content that is visible before interaction.
15 | - visible (bool): A reveal may contain content that is hidden before user interaction."
16 | #?(:cljs (h/factory-apply RevealContent)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/segment/ui_segment.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.segment.ui-segment
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Segment" :as Segment])))
5 |
6 | (def ui-segment
7 | "A segment is used to create a grouping of related content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - attached (bool|enum): Attach segment to other content, like a header. (top, bottom)
12 | - basic (bool): A basic segment has no special formatting.
13 | - children (node): Primary content.
14 | - circular (bool): A segment can be circular.
15 | - className (string): Additional classes.
16 | - clearing (bool): A segment can clear floated content.
17 | - color (enum): Segment can be colored. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
18 | - compact (bool): A segment may take up only as much space as is necessary.
19 | - content (custom): Shorthand for primary content.
20 | - disabled (bool): A segment may show its content is disabled.
21 | - floated (enum): Segment content can be floated to the left or right. (left, right)
22 | - inverted (bool): A segment can have its colors inverted for contrast.
23 | - loading (bool): A segment may show its content is being loaded.
24 | - padded (bool|enum): A segment can increase its padding. (very)
25 | - piled (bool): Formatted to look like a pile of pages.
26 | - placeholder (bool): A segment can be used to reserve space for conditionally displayed content.
27 | - raised (bool): A segment may be formatted to raise above the page.
28 | - secondary (bool): A segment can be formatted to appear less noticeable.
29 | - size (enum): A segment can have different sizes. (mini, tiny, small, large, big, huge, massive)
30 | - stacked (bool): Formatted to show it contains multiple pages.
31 | - tertiary (bool): A segment can be formatted to appear even less noticeable.
32 | - textAlign (enum): Formats content to be aligned as part of a vertical group. (left, center, right)
33 | - vertical (bool): Formats content to be aligned vertically."
34 | #?(:cljs (h/factory-apply Segment)))
35 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/segment/ui_segment_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.segment.ui-segment-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SegmentGroup" :as SegmentGroup])))
5 |
6 | (def ui-segment-group
7 | "A group of segments can be formatted to appear together.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - compact (bool): A segment may take up only as much space as is necessary.
14 | - content (custom): Shorthand for primary content.
15 | - horizontal (bool): Formats content to be aligned horizontally.
16 | - piled (bool): Formatted to look like a pile of pages.
17 | - raised (bool): A segment group may be formatted to raise above the page.
18 | - size (enum): A segment group can have different sizes. (mini, tiny, small, large, big, huge, massive)
19 | - stacked (bool): Formatted to show it contains multiple pages."
20 | #?(:cljs (h/factory-apply SegmentGroup)))
21 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/segment/ui_segment_inline.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.segment.ui-segment-inline
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SegmentInline" :as SegmentInline])))
5 |
6 | (def ui-segment-inline
7 | "A placeholder segment can be inline.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply SegmentInline)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/step/ui_step.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.step.ui-step
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Step" :as Step])))
5 |
6 | (def ui-step
7 | "A step shows the completion status of an activity in a series of activities.
8 |
9 | Props:
10 | - active (bool): A step can be highlighted as active.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - completed (bool): A step can show that a user has completed it.
15 | - content (custom): Shorthand for primary content.
16 | - description (custom): Shorthand for StepDescription.
17 | - disabled (bool): Show that the Loader is inactive.
18 | - href (string): Render as an `a` tag instead of a `div` and adds the href attribute.
19 | - icon (custom): Shorthand for Icon.
20 | - link (bool): A step can be link.
21 | - onClick (func): Called on click. When passed, the component will render as an `a`
22 | - ordered (bool): A step can show a ordered sequence of steps. Passed from StepGroup.
23 | - title (custom): Shorthand for StepTitle."
24 | #?(:cljs (h/factory-apply Step)))
25 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/step/ui_step_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.step.ui-step-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$StepContent" :as StepContent])))
5 |
6 | (def ui-step-content
7 | "A step can contain a content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - description (custom): Shorthand for StepDescription.
15 | - title (custom): Shorthand for StepTitle."
16 | #?(:cljs (h/factory-apply StepContent)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/step/ui_step_description.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.step.ui-step-description
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$StepDescription" :as StepDescription])))
5 |
6 | (def ui-step-description
7 | "
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply StepDescription)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/step/ui_step_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.step.ui-step-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$StepGroup" :as StepGroup])))
5 |
6 | (def ui-step-group
7 | "A set of steps.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - attached (bool|enum): Steps can be attached to other elements. (top, bottom)
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - fluid (bool): A fluid step takes up the width of its container.
16 | - items (custom): Shorthand array of props for Step.
17 | - ordered (bool): A step can show a ordered sequence of steps.
18 | - size (enum): Steps can have different sizes. (mini, tiny, small, large, big, huge, massive)
19 | - stackable (enum): A step can stack vertically only on smaller screens. (tablet)
20 | - unstackable (bool): A step can prevent itself from stacking on mobile.
21 | - vertical (bool): A step can be displayed stacked vertically.
22 | - widths (enum): Steps can be divided evenly inside their parent. (..._.keys(numberMap), ..._.keys(numberMap).map(Number), ..._.values(numberMap))"
23 | #?(:cljs (h/factory-apply StepGroup)))
24 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/elements/step/ui_step_title.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.elements.step.ui-step-title
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$StepTitle" :as StepTitle])))
5 |
6 | (def ui-step-title
7 | "A step can contain a title.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply StepTitle)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/factory_helpers.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.factory-helpers
2 | (:require
3 | #?(:cljs react)
4 | #?(:cljs [com.fulcrologic.fulcro.dom :as dom]
5 | :clj [com.fulcrologic.fulcro.dom-server :as dom])))
6 |
7 | (defn factory-apply
8 | "Creates a function that can make elements of the given class."
9 | [class]
10 | (fn [props & children]
11 | #?(:clj (apply dom/create-element class props children)
12 | ;; bug in Fulcro 3.4.4 and below makes above not work in cljs, though it should
13 | :cljs (apply react/createElement class (clj->js props) children))))
14 |
15 | (defn wrapped-factory-apply
16 | "Returns a factory that wraps the given class as an input. Requires that the target item support `:value` as a prop."
17 | [class]
18 | #?(:clj (factory-apply class)
19 | :cljs (let [factory (dom/wrap-form-element class)]
20 | (fn [props & children]
21 | (apply factory (clj->js props) children)))))
22 |
23 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/accordion/ui_accordion.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.accordion.ui-accordion
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Accordion" :as Accordion])))
5 |
6 | (def ui-accordion
7 | "An accordion allows users to toggle the display of sections of content.
8 |
9 | Props:
10 | - className (string): Additional classes.
11 | - fluid (bool): Format to take up the width of its container.
12 | - inverted (bool): Format for dark backgrounds.
13 | - styled (bool): Adds some basic styling to accordion panels."
14 | #?(:cljs (h/factory-apply Accordion)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/accordion/ui_accordion_accordion.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.accordion.ui-accordion-accordion
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$AccordionAccordion" :as AccordionAccordion])))
5 |
6 | (def ui-accordion-accordion
7 | "An Accordion can contain sub-accordions.
8 |
9 | Props:
10 | - activeIndex (union): Index of the currently active panel. ()
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - defaultActiveIndex (union): Initial activeIndex value. ()
15 | - exclusive (bool): Only allow one panel open at a time.
16 | - onTitleClick (func): Called when a panel title is clicked. ()
17 | - panels (arrayOf): Shorthand array of props for Accordion. ()"
18 | #?(:cljs (h/factory-apply AccordionAccordion)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/accordion/ui_accordion_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.accordion.ui-accordion-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$AccordionContent" :as AccordionContent])))
5 |
6 | (def ui-accordion-content
7 | "A content sub-component for Accordion component.
8 |
9 | Props:
10 | - active (bool): Whether or not the content is visible.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content."
15 | #?(:cljs (h/factory-apply AccordionContent)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/accordion/ui_accordion_panel.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.accordion.ui-accordion-panel
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$AccordionPanel" :as AccordionPanel])))
5 |
6 | (def ui-accordion-panel
7 | "A panel sub-component for Accordion component.
8 |
9 | Props:
10 | - active (bool): Whether or not the title is in the open state.
11 | - content (custom): A shorthand for Accordion.Content.
12 | - index (number|string): A panel index. ()
13 | - onTitleClick (func): Called when a panel title is clicked.
14 | - title (custom): A shorthand for Accordion.Title."
15 | #?(:cljs (h/factory-apply AccordionPanel)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/accordion/ui_accordion_title.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.accordion.ui-accordion-title
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$AccordionTitle" :as AccordionTitle])))
5 |
6 | (def ui-accordion-title
7 | "A title sub-component for Accordion component.
8 |
9 | Props:
10 | - active (bool): Whether or not the title is in the open state.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - icon (custom): Shorthand for Icon.
16 | - index (string|number): AccordionTitle index inside Accordion. ()
17 | - onClick (func): Called on click."
18 | #?(:cljs (h/factory-apply AccordionTitle)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/checkbox/ui_checkbox.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.checkbox.ui-checkbox
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Checkbox" :as Checkbox])))
5 |
6 | (def ui-checkbox
7 | "A checkbox allows a user to select a value from a small set of options, often binary.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - checked (bool): Whether or not checkbox is checked.
12 | - className (string): Additional classes.
13 | - defaultChecked (bool): The initial value of checked.
14 | - defaultIndeterminate (bool): Whether or not checkbox is indeterminate.
15 | - disabled (bool): A checkbox can appear disabled and be unable to change states
16 | - fitted (bool): Removes padding for a label. Auto applied when there is no label.
17 | - id (number|string): A unique identifier. ()
18 | - indeterminate (bool): Whether or not checkbox is indeterminate.
19 | - label (custom): The text of the associated label element.
20 | - name (string): The HTML input name.
21 | - onChange (func): Called when the user attempts to change the checked state.
22 | - onClick (func): Called when the checkbox or label is clicked.
23 | - onMouseDown (func): Called when the user presses down on the mouse.
24 | - onMouseUp (func): Called when the user releases the mouse.
25 | - radio (bool): Format as a radio element. This means it is an exclusive option. ()
26 | - readOnly (bool): A checkbox can be read-only and unable to change states.
27 | - slider (bool): Format to emphasize the current selection state. ()
28 | - tabIndex (number|string): A checkbox can receive focus. ()
29 | - toggle (bool): Format to show an on or off choice. ()
30 | - type (enum): HTML input type, either checkbox or radio. (checkbox, radio)
31 | - value (string|number): The HTML input value. ()"
32 | #?(:cljs (h/wrapped-factory-apply Checkbox)))
33 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dimmer/ui_dimmer.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dimmer.ui-dimmer
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Dimmer" :as Dimmer])))
5 |
6 | (def ui-dimmer
7 | "A dimmer hides distractions to focus attention on particular content.
8 |
9 | Props:
10 | - active (bool): An active dimmer will dim its parent container.
11 | - page (bool): A dimmer can be formatted to be fixed to the page."
12 | #?(:cljs (h/factory-apply Dimmer)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dimmer/ui_dimmer_dimmable.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dimmer.ui-dimmer-dimmable
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DimmerDimmable" :as DimmerDimmable])))
5 |
6 | (def ui-dimmer-dimmable
7 | "A dimmable sub-component for Dimmer.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - blurring (bool): A dimmable element can blur its contents.
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - dimmed (bool): Controls whether or not the dim is displayed."
16 | #?(:cljs (h/factory-apply DimmerDimmable)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dimmer/ui_dimmer_inner.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dimmer.ui-dimmer-inner
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DimmerInner" :as DimmerInner])))
5 |
6 | (def ui-dimmer-inner
7 | "An inner element for a Dimmer.
8 |
9 | Props:
10 | - active (bool): An active dimmer will dim its parent container.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - disabled (bool): A disabled dimmer cannot be activated
16 | - inverted (bool): A dimmer can be formatted to have its colors inverted.
17 | - onClick (func): Called on click.
18 | - onClickOutside (func): Handles click outside Dimmer's content, but inside Dimmer area.
19 | - page (bool): A dimmer can be formatted to be fixed to the page.
20 | - simple (bool): A dimmer can be controlled with simple prop.
21 | - verticalAlign (enum): A dimmer can have its content top or bottom aligned. (bottom, top)"
22 | #?(:cljs (h/factory-apply DimmerInner)))
23 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dropdown/ui_dropdown.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Dropdown" :as Dropdown])))
5 |
6 | (def ui-dropdown
7 | "A dropdown allows a user to select a value from a series of options.
8 |
9 | Props:
10 | - additionLabel (element|string): Label prefixed to an option added by a user. ()
11 | - additionPosition (enum): Position of the `Add: ...` option in the dropdown list ('top' or 'bottom'). (top, bottom)
12 | - allowAdditions (bool): Allow user additions to the list of options (boolean). ()
13 | - as (elementType): An element type to render as (string or function).
14 | - basic (bool): A Dropdown can reduce its complexity.
15 | - button (bool): Format the Dropdown to appear as a button.
16 | - children (): Primary content. ()
17 | - className (string): Additional classes.
18 | - clearable (bool): Using the clearable setting will let users remove their selection from a dropdown.
19 | - closeOnBlur (bool): Whether or not the menu should close when the dropdown is blurred.
20 | - closeOnChange (bool): Whether or not the menu should close when a value is selected from the dropdown.
21 | - closeOnEscape (bool): Whether or not the dropdown should close when the escape key is pressed.
22 | - compact (bool): A compact dropdown has no minimum width.
23 | - deburr (bool): Whether or not the dropdown should strip diacritics in options and input search
24 | - defaultOpen (bool): Initial value of open.
25 | - defaultSearchQuery (string): Initial value of searchQuery.
26 | - defaultSelectedLabel (union): Currently selected label in multi-select. ()
27 | - defaultUpward (bool): Initial value of upward.
28 | - defaultValue (number|string|bool|arrayOf): Initial value or value array if multiple. ()
29 | - direction (enum): A dropdown menu can open to the left or to the right. (left, right)
30 | - disabled (bool): A disabled dropdown menu or item does not allow user interaction.
31 | - error (bool): An errored dropdown can alert a user to a problem.
32 | - floating (bool): A dropdown menu can contain floated content.
33 | - fluid (bool): A dropdown can take the full width of its parent
34 | - header (node): A dropdown menu can contain a header.
35 | - icon (node|object): Shorthand for Icon. ()
36 | - inline (bool): A dropdown can be formatted to appear inline in other content.
37 | - item (bool): A dropdown can be formatted as a Menu item.
38 | - labeled (bool): A dropdown can be labeled.
39 | - lazyLoad (bool): A dropdown can defer rendering its options until it is open.
40 | - loading (bool): A dropdown can show that it is currently loading data.
41 | - minCharacters (number): The minimum characters for a search to begin showing results.
42 | - multiple (bool): A selection dropdown can allow multiple selections.
43 | - noResultsMessage (node): Message to display when there are no results.
44 | - onAddItem (func): Called when a user adds a new item. Use this to update the options list.
45 | - onBlur (func): Called on blur.
46 | - onChange (func): Called when the user attempts to change the value.
47 | - onClick (func): Called on click.
48 | - onClose (func): Called when a close event happens.
49 | - onFocus (func): Called on focus.
50 | - onLabelClick (func): Called when a multi-select label is clicked.
51 | - onMouseDown (func): Called on mousedown.
52 | - onOpen (func): Called when an open event happens.
53 | - onSearchChange (func): Called on search input change.
54 | - open (bool): Controls whether or not the dropdown menu is displayed.
55 | - openOnFocus (bool): Whether or not the menu should open when the dropdown is focused.
56 | - options (arrayOf): Array of Dropdown.Item props e.g. `{ text: '', value: '' }` ()
57 | - placeholder (string): Placeholder text.
58 | - pointing (bool|enum): A dropdown can be formatted so that its menu is pointing. (left, right, top, top left, top right, bottom, bottom left, bottom right)
59 | - renderLabel (func): Mapped over the active items and returns shorthand for the active item Labels.
60 | - scrolling (bool): A dropdown can have its menu scroll.
61 | - search (bool|func): A selection dropdown can allow a user to search through a large list of choices. ()
62 | - searchInput (array|node|object): A shorthand for a search input. ()
63 | - searchQuery (string): Current value of searchQuery. Creates a controlled component.
64 | - selectOnBlur (bool): Define whether the highlighted item should be selected on blur.
65 | - selectOnNavigation (bool): Whether or not to change the value when navigating the menu using arrow keys.
66 | - selectedLabel (union): Currently selected label in multi-select. ()
67 | - selection (bool): A dropdown can be used to select between choices in a form. ()
68 | - simple (bool): A simple dropdown can open without Javascript.
69 | - tabIndex (number|string): A dropdown can receive focus. ()
70 | - text (string): The text displayed in the dropdown, usually for the active item.
71 | - trigger (node): Custom element to trigger the menu to become visible. Takes place of 'text'. ()
72 | - upward (bool): Controls whether the dropdown will open upward.
73 | - value (bool|string|number|arrayOf): Current value or value array if multiple. Creates a controlled component. ()
74 | - wrapSelection (bool): A dropdown will go to the last element when ArrowUp is pressed on the first,"
75 | #?(:cljs (h/factory-apply Dropdown)))
76 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dropdown/ui_dropdown_divider.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-divider
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DropdownDivider" :as DropdownDivider])))
5 |
6 | (def ui-dropdown-divider
7 | "A dropdown menu can contain dividers to separate related content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes."
12 | #?(:cljs (h/factory-apply DropdownDivider)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dropdown/ui_dropdown_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DropdownHeader" :as DropdownHeader])))
5 |
6 | (def ui-dropdown-header
7 | "A dropdown menu can contain a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function)
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - icon (custom): Shorthand for Icon."
15 | #?(:cljs (h/factory-apply DropdownHeader)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dropdown/ui_dropdown_item.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-item
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DropdownItem" :as DropdownItem])))
5 |
6 | (def ui-dropdown-item
7 | "An item sub-component for Dropdown component.
8 |
9 | Props:
10 | - active (bool): Style as the currently chosen item.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - description (custom): Additional text with less emphasis.
16 | - disabled (bool): A dropdown item can be disabled.
17 | - flag (custom): Shorthand for Flag.
18 | - icon (custom): Shorthand for Icon.
19 | - image (custom): Shorthand for Image.
20 | - label (custom): Shorthand for Label.
21 | - onClick (func): Called on click.
22 | - selected (bool): The item currently selected by keyboard shortcut.
23 | - text (custom): Display text.
24 | - value (bool|number|string): Stored value. ()"
25 | #?(:cljs (h/factory-apply DropdownItem)))
26 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dropdown/ui_dropdown_menu.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-menu
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DropdownMenu" :as DropdownMenu])))
5 |
6 | (def ui-dropdown-menu
7 | "A dropdown menu can contain a menu.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - direction (enum): A dropdown menu can open to the left or to the right. (left, right)
15 | - open (bool): Whether or not the dropdown menu is displayed.
16 | - scrolling (bool): A dropdown menu can scroll."
17 | #?(:cljs (h/factory-apply DropdownMenu)))
18 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dropdown/ui_dropdown_search_input.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-search-input
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DropdownSearchInput" :as DropdownSearchInput])))
5 |
6 | (def ui-dropdown-search-input
7 | "A search item sub-component for Dropdown component.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - autoComplete (string): An input can have the auto complete.
12 | - className (string): Additional classes.
13 | - tabIndex (number|string): An input can receive focus. ()
14 | - type (string): The HTML input type.
15 | - value (number|string): Stored value. ()"
16 | #?(:cljs (h/wrapped-factory-apply DropdownSearchInput)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/dropdown/ui_dropdown_text.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-text
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$DropdownText" :as DropdownText])))
5 |
6 | (def ui-dropdown-text
7 | "A dropdown contains a selected value.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply DropdownText)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/embed/ui_embed.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.embed.ui-embed
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Embed" :as Embed])))
5 |
6 | (def ui-embed
7 | "An embed displays content from other websites like YouTube videos or Google Maps.
8 |
9 | Props:
10 | - active (bool): An embed can be active.
11 | - as (elementType): An element type to render as (string or function).
12 | - aspectRatio (enum): An embed can specify an alternative aspect ratio. (4:3, 16:9, 21:9)
13 | - autoplay (bool): Setting to true or false will force autoplay. ()
14 | - brandedUI (bool): Whether to show networks branded UI like title cards, or after video calls to action. ()
15 | - children (node): Primary content.
16 | - className (string): Additional classes.
17 | - color (string): Specifies a default chrome color with Vimeo or YouTube. ()
18 | - content (custom): Shorthand for primary content.
19 | - defaultActive (bool): Initial value of active.
20 | - hd (bool): Whether to prefer HD content. ()
21 | - icon (custom): Specifies an icon to use with placeholder content.
22 | - id (string): Specifies an id for source. ()
23 | - iframe (custom): Shorthand for HTML iframe. ()
24 | - onClick (func): Called on click.
25 | - placeholder (string): A placeholder image for embed.
26 | - source (enum): Specifies a source to use. (youtube, vimeo)
27 | - url (string): Specifies a url to use for embed. ()"
28 | #?(:cljs (h/factory-apply Embed)))
29 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/modal/ui_modal.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.modal.ui-modal
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Modal" :as Modal])))
5 |
6 | (def ui-modal
7 | "A modal displays content that temporarily blocks interactions with the main view of a site.
8 |
9 | Props:
10 | - actions (custom): Shorthand for Modal.Actions. Typically an array of button shorthand.
11 | - as (elementType): An element type to render as (string or function).
12 | - basic (bool): A modal can reduce its complexity
13 | - centered (bool): A modal can be vertically centered in the viewport
14 | - children (node): Primary content.
15 | - className (string): Additional classes.
16 | - closeIcon (node|object|bool): Shorthand for the close icon. Closes the modal on click. ()
17 | - closeOnDimmerClick (bool): Whether or not the Modal should close when the dimmer is clicked.
18 | - closeOnDocumentClick (bool): Whether or not the Modal should close when the document is clicked.
19 | - content (custom): Simple text content for the Modal.
20 | - defaultOpen (bool): Initial value of open.
21 | - dimmer (bool|func|object|enum): A Modal can appear in a dimmer. (inverted, blurring)
22 | - eventPool (string): Event pool namespace that is used to handle component events
23 | - header (custom): Modal displayed above the content in bold.
24 | - mountNode (any): The node where the modal should mount. Defaults to document.body.
25 | - onActionClick (func): Action onClick handler when using shorthand `actions`.
26 | - onClose (func): Called when a close event happens.
27 | - onMount (func): Called when the modal is mounted on the DOM.
28 | - onOpen (func): Called when an open event happens.
29 | - onUnmount (func): Called when the modal is unmounted from the DOM.
30 | - open (bool): Controls whether or not the Modal is displayed.
31 | - size (enum): A modal can vary in size (mini, tiny, small, large, fullscreen)
32 | - style (object): Custom styles.
33 | - trigger (node): Element to be rendered in-place where the modal is defined."
34 | #?(:cljs (h/factory-apply Modal)))
35 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/modal/ui_modal_actions.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.modal.ui-modal-actions
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ModalActions" :as ModalActions])))
5 |
6 | (def ui-modal-actions
7 | "A modal can contain a row of actions.
8 |
9 | Props:
10 | - actions (custom): Array of shorthand buttons.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - onActionClick (func): Action onClick handler when using shorthand `actions`. ()"
16 | #?(:cljs (h/factory-apply ModalActions)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/modal/ui_modal_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.modal.ui-modal-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ModalContent" :as ModalContent])))
5 |
6 | (def ui-modal-content
7 | "A modal can contain content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - image (bool): A modal can contain image content.
15 | - scrolling (bool): A modal can use the entire size of the screen."
16 | #?(:cljs (h/factory-apply ModalContent)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/modal/ui_modal_description.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.modal.ui-modal-description
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ModalDescription" :as ModalDescription])))
5 |
6 | (def ui-modal-description
7 | "A modal can contain a description with one or more paragraphs.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ModalDescription)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/modal/ui_modal_dimmer.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.modal.ui-modal-dimmer
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ModalDimmer" :as ModalDimmer])))
5 |
6 | (def ui-modal-dimmer
7 | "A modal has a dimmer.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - blurring (bool): A dimmer can be blurred.
12 | - centered (bool): A dimmer can center its contents in the viewport.
13 | - children (node): Primary content.
14 | - className (string): Additional classes.
15 | - content (custom): Shorthand for primary content.
16 | - inverted (bool): A dimmer can be inverted.
17 | - mountNode (any): The node where the modal should mount. Defaults to document.body.
18 | - scrolling (bool): A dimmer can make body scrollable."
19 | #?(:cljs (h/factory-apply ModalDimmer)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/modal/ui_modal_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.modal.ui-modal-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ModalHeader" :as ModalHeader])))
5 |
6 | (def ui-modal-header
7 | "A modal can have a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ModalHeader)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/popup/ui_popup.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.popup.ui-popup
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Popup" :as Popup])))
5 |
6 | (def ui-popup
7 | "A Popup displays additional information on top of a page.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - basic (bool): Display the popup without the pointing arrow.
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Simple text content for the popover.
15 | - context (object|custom): Existing element the pop-up should be bound to. ()
16 | - disabled (bool): A disabled popup only renders its trigger.
17 | - eventsEnabled (bool): Enables the Popper.js event listeners.
18 | - flowing (bool): A flowing Popup has no maximum width and continues to flow to fit its content.
19 | - header (custom): Header displayed above the content in bold.
20 | - hideOnScroll (bool): Hide the Popup when scrolling the window.
21 | - hoverable (bool): Whether the popup should not close on hover.
22 | - inverted (bool): Invert the colors of the Popup.
23 | - offset (func|arrayOf): Offset values in px unit to apply to rendered popup. The basic offset accepts an ()
24 | - on (enum|arrayOf): Events triggering the popup. (hover, click, focus)
25 | - onClose (func): Called when a close event happens.
26 | - onMount (func): Called when the portal is mounted on the DOM.
27 | - onOpen (func): Called when an open event happens.
28 | - onUnmount (func): Called when the portal is unmounted from the DOM.
29 | - pinned (bool): Disables automatic repositioning of the component, it will always be placed according to the position value.
30 | - popper (custom): A wrapping element for an actual content that will be used for positioning.
31 | - popperDependencies (array): A popup can have dependencies which update will schedule a position update.
32 | - popperModifiers (array): An array containing custom settings for the Popper.js modifiers.
33 | - position (enum): Position for the popover. (top center, top left, top right, bottom center, bottom left, bottom right, right center, left center)
34 | - positionFixed (bool): Tells `Popper.js` to use the `position: fixed` strategy to position the popover.
35 | - size (enum): Popup size. (mini, tiny, small, large, huge)
36 | - style (object): Custom Popup style.
37 | - trigger (node): Element to be rendered in-place where the popup is defined.
38 | - wide (bool|enum): Popup width. (very)"
39 | #?(:cljs (h/factory-apply Popup)))
40 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/popup/ui_popup_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.popup.ui-popup-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PopupContent" :as PopupContent])))
5 |
6 | (def ui-popup-content
7 | "A PopupContent displays the content body of a Popover.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): The content of the Popup
12 | - className (string): Classes to add to the Popup content className.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply PopupContent)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/popup/ui_popup_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.popup.ui-popup-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$PopupHeader" :as PopupHeader])))
5 |
6 | (def ui-popup-header
7 | "A PopupHeader displays a header in a Popover.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply PopupHeader)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/progress/ui_progress.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.progress.ui-progress
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Progress" :as Progress])))
5 |
6 | (def ui-progress
7 | "A progress bar shows the progression of a task.
8 |
9 | Props:
10 | - active (bool): A progress bar can show activity.
11 | - as (elementType): An element type to render as (string or function).
12 | - attached (enum): A progress bar can attach to and show the progress of an element (i.e. Card or Segment). (top, bottom)
13 | - autoSuccess (bool): Whether success state should automatically trigger when progress completes.
14 | - children (node): Primary content.
15 | - className (string): Additional classes.
16 | - color (enum): A progress bar can have different colors. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
17 | - content (custom): Shorthand for primary content.
18 | - disabled (bool): A progress bar be disabled.
19 | - error (bool): A progress bar can show a error state.
20 | - indicating (bool): An indicating progress bar visually indicates the current level of progress of a task.
21 | - inverted (bool): A progress bar can have its colors inverted.
22 | - label (custom): Can be set to either to display progress as percent or ratio.
23 | - percent (union): Current percent complete. ()
24 | - precision (number): Decimal point precision for calculated progress.
25 | - progress (bool|enum): A progress bar can contain a text value indicating current progress. (percent, ratio, value)
26 | - size (enum): A progress bar can vary in size. (tiny, small, medium, large, big)
27 | - success (bool): A progress bar can show a success state.
28 | - total (union): For use with value. Together, these will calculate the percent. Mutually excludes percent. ()
29 | - value (union): For use with total. Together, these will calculate the percent. Mutually excludes percent. ()
30 | - warning (bool): A progress bar can show a warning state."
31 | #?(:cljs (h/factory-apply Progress)))
32 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/rating/ui_rating.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.rating.ui-rating
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Rating" :as Rating])))
5 |
6 | (def ui-rating
7 | "A rating indicates user interest in content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes.
12 | - clearable (bool|enum): You can clear the rating by clicking on the current start rating. (auto)
13 | - defaultRating (number|string): The initial rating value. ()
14 | - disabled (bool): You can disable or enable interactive rating. Makes a read-only rating.
15 | - icon (enum): A rating can use a set of star or heart icons. (star, heart)
16 | - maxRating (number|string): The total number of icons. ()
17 | - onRate (func): Called after user selects a new rating.
18 | - rating (number|string): The current number of active icons. ()
19 | - size (enum): A progress bar can vary in size. (mini, tiny, small, large, huge, massive)"
20 | #?(:cljs (h/factory-apply Rating)))
21 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/rating/ui_rating_icon.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.rating.ui-rating-icon
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$RatingIcon" :as RatingIcon])))
5 |
6 | (def ui-rating-icon
7 | "An internal icon sub-component for Rating component
8 |
9 | Props:
10 | - active (bool): Indicates activity of an icon.
11 | - as (elementType): An element type to render as (string or function).
12 | - className (string): Additional classes.
13 | - index (number): An index of icon inside Rating.
14 | - onClick (func): Called on click.
15 | - onKeyUp (func): Called on keyup.
16 | - onMouseEnter (func): Called on mouseenter.
17 | - selected (bool): Indicates selection of an icon."
18 | #?(:cljs (h/factory-apply RatingIcon)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/search/ui_search.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.search.ui-search
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Search" :as Search])))
5 |
6 | (def ui-search
7 | "A search module allows a user to query for results from a selection of data
8 |
9 | Props:
10 | - aligned (string): A search can have its results aligned to its left or right container edge.
11 | - as (elementType): An element type to render as (string or function).
12 | - category (bool): A search can display results from remote content ordered by categories.
13 | - categoryLayoutRenderer (func): Renders the SearchCategory layout.
14 | - categoryRenderer (func): Renders the SearchCategory contents.
15 | - className (string): Additional classes.
16 | - defaultOpen (bool): Initial value of open.
17 | - defaultValue (string): Initial value.
18 | - fluid (bool): A search can have its results take up the width of its container.
19 | - icon (node|object): Shorthand for Icon. ()
20 | - input (custom): Shorthand for input element.
21 | - loading (bool): A search can show a loading indicator.
22 | - minCharacters (number): Minimum characters to query for results
23 | - noResultsDescription (node): Additional text for \"No Results\" message with less emphasis.
24 | - noResultsMessage (node): Message to display when there are no results.
25 | - onBlur (func): Called on blur.
26 | - onFocus (func): Called on focus.
27 | - onMouseDown (func): Called on mousedown.
28 | - onResultSelect (func): Called when a result is selected.
29 | - onSearchChange (func): Called on search input change.
30 | - onSelectionChange (func): Called when the active selection index is changed.
31 | - open (bool): Controls whether or not the results menu is displayed.
32 | - placeholder (string): A search can show placeholder text when empty.
33 | - resultRenderer (func): Renders the SearchResult contents.
34 | - results (arrayOf|shape): One of: ()
35 | - selectFirstResult (bool): Whether the search should automatically select the first result after searching.
36 | - showNoResults (bool): Whether a \"no results\" message should be shown if no results are found.
37 | - size (enum): A search can have different sizes. (mini, tiny, small, large, big, huge, massive)
38 | - value (string): Current value of the search input. Creates a controlled component."
39 | #?(:cljs (h/wrapped-factory-apply Search)))
40 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/search/ui_search_category.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.search.ui-search-category
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SearchCategory" :as SearchCategory])))
5 |
6 | (def ui-search-category
7 | "
8 |
9 | Props:
10 | - active (bool): The item currently selected by keyboard shortcut.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - layoutRenderer (func): Renders the category layout contents.
16 | - name (string): Display name.
17 | - renderer (func): Renders the category contents.
18 | - results (array): Array of Search.Result props."
19 | #?(:cljs (h/factory-apply SearchCategory)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/search/ui_search_category_layout.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.search.ui-search-category-layout
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SearchCategoryLayout" :as SearchCategoryLayout])))
5 |
6 | (def ui-search-category-layout
7 | "
8 |
9 | Props:
10 | - categoryContent (element): The rendered category content
11 | - resultsContent (element): The rendered results content"
12 | #?(:cljs (h/factory-apply SearchCategoryLayout)))
13 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/search/ui_search_result.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.search.ui-search-result
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SearchResult" :as SearchResult])))
5 |
6 | (def ui-search-result
7 | "
8 |
9 | Props:
10 | - active (bool): The item currently selected by keyboard shortcut.
11 | - as (elementType): An element type to render as (string or function).
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - description (string): Additional text with less emphasis.
15 | - id (number|string): A unique identifier. ()
16 | - image (string): Add an image to the item.
17 | - onClick (func): Called on click.
18 | - price (string): Customized text for price.
19 | - renderer (func): Renders the result contents.
20 | - title (string): Display title."
21 | #?(:cljs (h/factory-apply SearchResult)))
22 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/search/ui_search_results.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.search.ui-search-results
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SearchResults" :as SearchResults])))
5 |
6 | (def ui-search-results
7 | "
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply SearchResults)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/sidebar/ui_sidebar.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.sidebar.ui-sidebar
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Sidebar" :as Sidebar])))
5 |
6 | (def ui-sidebar
7 | "A sidebar hides additional content beside a page.
8 |
9 | Props:
10 | - animation (enum): Animation style. (overlay, push, scale down, uncover, slide out, slide along)
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - direction (enum): Direction the sidebar should appear on. (top, right, bottom, left)
16 | - onHidden (func): Called after a sidebar has finished animating out.
17 | - onHide (func): Called before a sidebar begins to animate out.
18 | - onShow (func): Called when a sidebar has finished animating in.
19 | - onVisible (func): Called when a sidebar begins animating in.
20 | - target (custom|custom): A sidebar can handle clicks on the passed element. ()
21 | - visible (bool): Controls whether or not the sidebar is visible on the page.
22 | - width (enum): Sidebar width. (very thin, thin, wide, very wide)"
23 | #?(:cljs (h/factory-apply Sidebar)))
24 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/sidebar/ui_sidebar_pushable.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.sidebar.ui-sidebar-pushable
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SidebarPushable" :as SidebarPushable])))
5 |
6 | (def ui-sidebar-pushable
7 | "A pushable sub-component for Sidebar.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply SidebarPushable)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/sidebar/ui_sidebar_pusher.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.sidebar.ui-sidebar-pusher
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$SidebarPusher" :as SidebarPusher])))
5 |
6 | (def ui-sidebar-pusher
7 | "A pushable sub-component for Sidebar.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - dimmed (bool): Controls whether or not the dim is displayed."
15 | #?(:cljs (h/factory-apply SidebarPusher)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/sticky/ui_sticky.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.sticky.ui-sticky
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Sticky" :as Sticky])))
5 |
6 | (def ui-sticky
7 | "Sticky content stays fixed to the browser viewport while another column of content is visible on the page.
8 |
9 | Props:
10 | - active (bool): A Sticky can be active.
11 | - as (elementType): An element type to render as (string or function).
12 | - bottomOffset (number): Offset in pixels from the bottom of the screen when fixing element to viewport.
13 | - children (node): Primary content.
14 | - className (string): Additional classes.
15 | - context (custom|custom): Context which sticky element should stick to. ()
16 | - offset (number): Offset in pixels from the top of the screen when fixing element to viewport.
17 | - onBottom (func): Callback when element is bound to bottom of parent container.
18 | - onStick (func): Callback when element is fixed to page.
19 | - onTop (func): Callback when element is bound to top of parent container.
20 | - onUnstick (func): Callback when element is unfixed from page.
21 | - pushing (bool): Whether element should be \"pushed\" by the viewport, attaching to the bottom of the screen when scrolling up.
22 | - scrollContext (custom|custom): Context which sticky should attach onscroll events. ()
23 | - styleElement (object): Custom style for sticky element."
24 | #?(:cljs (h/factory-apply Sticky)))
25 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/tab/ui_tab.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.tab.ui-tab
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Tab" :as Tab])))
5 |
6 | (def ui-tab
7 | "A Tab is a hidden section of content activated by a Menu.
8 |
9 | Props:
10 | - activeIndex (number|string): Index of the currently active tab. ()
11 | - as (elementType): An element type to render as (string or function).
12 | - defaultActiveIndex (number|string): The initial activeIndex. ()
13 | - grid (object): Shorthand props for the Grid. Only applicable to vertical menus.
14 | - menu (object): Shorthand props for the Menu.
15 | - menuPosition (enum): Align vertical menu (left, right)
16 | - onTabChange (func): Called on tab change.
17 | - panes (arrayOf): Array of objects describing each Menu.Item and Tab.Pane: ([:name \"shape\"], [:value {:menuItem {:name \"custom\", :raw \"customPropTypes.itemShorthand\", :required false}, :pane {:name \"custom\", :raw \"customPropTypes.itemShorthand\", :required false}, :render {:name \"func\", :required false}}])
18 | - renderActiveOnly (bool): A Tab can render only active pane."
19 | #?(:cljs (h/factory-apply Tab)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/tab/ui_tab_pane.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.tab.ui-tab-pane
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TabPane" :as TabPane])))
5 |
6 | (def ui-tab-pane
7 | "A tab pane holds the content of a tab.
8 |
9 | Props:
10 | - active (bool): A tab pane can be active.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - loading (bool): A Tab.Pane can display a loading indicator."
16 | #?(:cljs (h/factory-apply TabPane)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/transition/ui_transition.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.transition.ui-transition
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Transition" :as Transition])))
5 |
6 | (def ui-transition
7 | "A transition is an animation usually used to move content in or out of view.
8 |
9 | Props:
10 | - animation (enum|string): Named animation event to used. Must be defined in CSS. (browse, browse right, drop, fade, fade up, fade down, fade left, fade right, fly up, fly down, fly left, fly right, horizontal flip, vertical flip, scale, slide up, slide down, slide left, slide right, swing up, swing down, swing left, swing right, zoom, jiggle, flash, shake, pulse, tada, bounce, glow)
11 | - children (element): Primary content.
12 | - directional (bool): Whether it is directional animation event or not. Use it only for custom transitions.
13 | - duration (number|shape|string): Duration of the CSS transition animation in milliseconds. ()
14 | - mountOnShow (bool): Wait until the first \"enter\" transition to mount the component (add it to the DOM).
15 | - onComplete (func): Callback on each transition that changes visibility to shown.
16 | - onHide (func): Callback on each transition that changes visibility to hidden.
17 | - onShow (func): Callback on each transition that changes visibility to shown.
18 | - onStart (func): Callback on animation start.
19 | - reactKey (string): React's key of the element.
20 | - transitionOnMount (bool): Run the enter animation when the component mounts, if it is initially shown.
21 | - unmountOnHide (bool): Unmount the component (remove it from the DOM) when it is not shown.
22 | - visible (bool): Show the component; triggers the enter or exit animation."
23 | #?(:cljs (h/factory-apply Transition)))
24 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/modules/transition/ui_transition_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.modules.transition.ui-transition-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$TransitionGroup" :as TransitionGroup])))
5 |
6 | (def ui-transition-group
7 | "A Transition.Group animates children as they mount and unmount.
8 |
9 | Props:
10 | - animation (enum|string): Named animation event to used. Must be defined in CSS. (browse, browse right, drop, fade, fade up, fade down, fade left, fade right, fly up, fly down, fly left, fly right, horizontal flip, vertical flip, scale, slide up, slide down, slide left, slide right, swing up, swing down, swing left, swing right, zoom, jiggle, flash, shake, pulse, tada, bounce, glow)
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - directional (bool): Whether it is directional animation event or not. Use it only for custom transitions.
14 | - duration (number|shape|string): Duration of the CSS transition animation in milliseconds. ()"
15 | #?(:cljs (h/factory-apply TransitionGroup)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/advertisement/ui_advertisement.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.advertisement.ui-advertisement
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Advertisement" :as Advertisement])))
5 |
6 | (def ui-advertisement
7 | "An ad displays third-party promotional content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - centered (bool): Center the advertisement.
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - test (bool|number|string): Text to be displayed on the advertisement. ()
16 | - unit (enum): Varies the size of the advertisement. (medium rectangle, large rectangle, vertical rectangle, small rectangle, mobile banner, banner, vertical banner, top banner, half banner, button, square button, small button, skyscraper, wide skyscraper, leaderboard, large leaderboard, mobile leaderboard, billboard, panorama, netboard, half page, square, small square)"
17 | #?(:cljs (h/factory-apply Advertisement)))
18 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/card/ui_card.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.card.ui-card
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Card" :as Card])))
5 |
6 | (def ui-card
7 | "A card displays site content in a manner similar to a playing card.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - centered (bool): A Card can center itself inside its container.
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - color (enum): A Card can be formatted to display different colors. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
15 | - content (custom): Shorthand for primary content.
16 | - description (custom): Shorthand for CardDescription.
17 | - extra (custom): Shorthand for primary content of CardContent.
18 | - fluid (bool): A Card can be formatted to take up the width of its container.
19 | - header (custom): Shorthand for CardHeader.
20 | - href (string): Render as an `a` tag instead of a `div` and adds the href attribute.
21 | - image (custom): A card can contain an Image component.
22 | - link (bool): A card can be formatted to link to other content.
23 | - meta (custom): Shorthand for CardMeta.
24 | - onClick (func): Called on click. When passed, the component renders as an `a`
25 | - raised (bool): A Card can be formatted to raise above the page."
26 | #?(:cljs (h/factory-apply Card)))
27 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/card/ui_card_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.card.ui-card-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CardContent" :as CardContent])))
5 |
6 | (def ui-card-content
7 | "A card can contain blocks of content or extra content meant to be formatted separately from the main content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - description (custom): Shorthand for CardDescription.
15 | - extra (bool): A card can contain extra content meant to be formatted separately from the main content.
16 | - header (custom): Shorthand for CardHeader.
17 | - meta (custom): Shorthand for CardMeta.
18 | - textAlign (enum): A card content can adjust its text alignment. (left, center, right)"
19 | #?(:cljs (h/factory-apply CardContent)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/card/ui_card_description.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.card.ui-card-description
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CardDescription" :as CardDescription])))
5 |
6 | (def ui-card-description
7 | "A card can contain a description with one or more paragraphs.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - textAlign (enum): A card content can adjust its text alignment. (left, center, right)"
15 | #?(:cljs (h/factory-apply CardDescription)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/card/ui_card_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.card.ui-card-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CardGroup" :as CardGroup])))
5 |
6 | (def ui-card-group
7 | "A group of cards.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - centered (bool): A group of cards can center itself inside its container.
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content.
15 | - doubling (bool): A group of cards can double its column width for mobile.
16 | - items (custom): Shorthand array of props for Card.
17 | - itemsPerRow (enum): A group of cards can set how many cards should exist in a row. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)
18 | - stackable (bool): A group of cards can automatically stack rows to a single columns on mobile devices.
19 | - textAlign (enum): A card group can adjust its text alignment. (left, center, right)"
20 | #?(:cljs (h/factory-apply CardGroup)))
21 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/card/ui_card_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.card.ui-card-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CardHeader" :as CardHeader])))
5 |
6 | (def ui-card-header
7 | "A card can contain a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - textAlign (enum): A card header can adjust its text alignment. (left, center, right)"
15 | #?(:cljs (h/factory-apply CardHeader)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/card/ui_card_meta.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.card.ui-card-meta
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CardMeta" :as CardMeta])))
5 |
6 | (def ui-card-meta
7 | "A card can contain content metadata.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - textAlign (enum): A card meta can adjust its text alignment. (left, center, right)"
15 | #?(:cljs (h/factory-apply CardMeta)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Comment" :as Comment])))
5 |
6 | (def ui-comment
7 | "A comment displays user feedback to site content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - collapsed (bool): Comment can be collapsed, or hidden from view.
14 | - content (custom): Shorthand for primary content."
15 | #?(:cljs (h/factory-apply Comment)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_action.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-action
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentAction" :as CommentAction])))
5 |
6 | (def ui-comment-action
7 | "A comment can contain an action.
8 |
9 | Props:
10 | - active (bool): Style as the currently active action.
11 | - as (elementType): An element type to render as (string or function).
12 | - children (node): Primary content.
13 | - className (string): Additional classes.
14 | - content (custom): Shorthand for primary content."
15 | #?(:cljs (h/factory-apply CommentAction)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_actions.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-actions
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentActions" :as CommentActions])))
5 |
6 | (def ui-comment-actions
7 | "A comment can contain an list of actions a user may perform related to this comment.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply CommentActions)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_author.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-author
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentAuthor" :as CommentAuthor])))
5 |
6 | (def ui-comment-author
7 | "A comment can contain an author.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply CommentAuthor)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_avatar.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-avatar
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentAvatar" :as CommentAvatar])))
5 |
6 | (def ui-comment-avatar
7 | "A comment can contain an image or avatar.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - className (string): Additional classes.
12 | - src (string): Specifies the URL of the image."
13 | #?(:cljs (h/factory-apply CommentAvatar)))
14 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentContent" :as CommentContent])))
5 |
6 | (def ui-comment-content
7 | "A comment can contain content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply CommentContent)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentGroup" :as CommentGroup])))
5 |
6 | (def ui-comment-group
7 | "Comments can be grouped.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - collapsed (bool): Comments can be collapsed, or hidden from view.
14 | - content (custom): Shorthand for primary content.
15 | - minimal (bool): Comments can hide extra information unless a user shows intent to interact with a comment.
16 | - size (enum): Comments can have different sizes. (mini, tiny, small, large, big, huge, massive)
17 | - threaded (bool): A comment list can be threaded to showing the relationship between conversations."
18 | #?(:cljs (h/factory-apply CommentGroup)))
19 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_metadata.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-metadata
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentMetadata" :as CommentMetadata])))
5 |
6 | (def ui-comment-metadata
7 | "A comment can contain metadata about the comment, an arbitrary amount of metadata may be defined.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply CommentMetadata)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/comment/ui_comment_text.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.comment.ui-comment-text
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$CommentText" :as CommentText])))
5 |
6 | (def ui-comment-text
7 | "A comment can contain text.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply CommentText)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Feed" :as Feed])))
5 |
6 | (def ui-feed
7 | "A feed presents user activity chronologically.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - events (custom): Shorthand array of props for FeedEvent.
14 | - size (enum): A feed can have different sizes. (small, large)"
15 | #?(:cljs (h/factory-apply Feed)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedContent" :as FeedContent])))
5 |
6 | (def ui-feed-content
7 | "
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - date (custom): An event can contain a date.
15 | - extraImages (custom): Shorthand for FeedExtra with images.
16 | - extraText (custom): Shorthand for FeedExtra with text.
17 | - meta (custom): Shorthand for FeedMeta.
18 | - summary (custom): Shorthand for FeedSummary."
19 | #?(:cljs (h/factory-apply FeedContent)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_date.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-date
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedDate" :as FeedDate])))
5 |
6 | (def ui-feed-date
7 | "An event or an event summary can contain a date.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply FeedDate)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_event.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-event
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedEvent" :as FeedEvent])))
5 |
6 | (def ui-feed-event
7 | "A feed contains an event.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for FeedContent.
14 | - date (custom): Shorthand for FeedDate.
15 | - extraImages (custom): Shorthand for FeedExtra with images.
16 | - extraText (custom): Shorthand for FeedExtra with content.
17 | - icon (custom): An event can contain icon label.
18 | - image (custom): An event can contain image label.
19 | - meta (custom): Shorthand for FeedMeta.
20 | - summary (custom): Shorthand for FeedSummary."
21 | #?(:cljs (h/factory-apply FeedEvent)))
22 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_extra.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-extra
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedExtra" :as FeedExtra])))
5 |
6 | (def ui-feed-extra
7 | "A feed can contain an extra content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - images (union): An event can contain additional information like a set of images. ()
15 | - text (bool): An event can contain additional text information."
16 | #?(:cljs (h/factory-apply FeedExtra)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_label.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-label
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedLabel" :as FeedLabel])))
5 |
6 | (def ui-feed-label
7 | "An event can contain an image or icon label.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - icon (custom): An event can contain icon label.
15 | - image (custom): An event can contain image label."
16 | #?(:cljs (h/factory-apply FeedLabel)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_like.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-like
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedLike" :as FeedLike])))
5 |
6 | (def ui-feed-like
7 | "A feed can contain a like element.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - icon (custom): Shorthand for icon. Mutually exclusive with children."
15 | #?(:cljs (h/factory-apply FeedLike)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_meta.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-meta
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedMeta" :as FeedMeta])))
5 |
6 | (def ui-feed-meta
7 | "A feed can contain a meta.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - like (custom): Shorthand for FeedLike."
15 | #?(:cljs (h/factory-apply FeedMeta)))
16 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_summary.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-summary
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedSummary" :as FeedSummary])))
5 |
6 | (def ui-feed-summary
7 | "A feed can contain a summary.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - date (custom): Shorthand for FeedDate.
15 | - user (custom): Shorthand for FeedUser."
16 | #?(:cljs (h/factory-apply FeedSummary)))
17 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/feed/ui_feed_user.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.feed.ui-feed-user
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$FeedUser" :as FeedUser])))
5 |
6 | (def ui-feed-user
7 | "A feed can contain a user element.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply FeedUser)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Item" :as Item])))
5 |
6 | (def ui-item
7 | "An item view presents large collections of site content for display.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for ItemContent component.
14 | - description (custom): Shorthand for ItemDescription component.
15 | - extra (custom): Shorthand for ItemExtra component.
16 | - header (custom): Shorthand for ItemHeader component.
17 | - image (custom): Shorthand for ItemImage component.
18 | - meta (custom): Shorthand for ItemMeta component."
19 | #?(:cljs (h/factory-apply Item)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item_content.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item-content
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ItemContent" :as ItemContent])))
5 |
6 | (def ui-item-content
7 | "An item can contain content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - description (custom): Shorthand for ItemDescription component.
15 | - extra (custom): Shorthand for ItemExtra component.
16 | - header (custom): Shorthand for ItemHeader component.
17 | - meta (custom): Shorthand for ItemMeta component.
18 | - verticalAlign (enum): Content can specify its vertical alignment. (bottom, middle, top)"
19 | #?(:cljs (h/factory-apply ItemContent)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item_description.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item-description
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ItemDescription" :as ItemDescription])))
5 |
6 | (def ui-item-description
7 | "An item can contain a description with a single or multiple paragraphs.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ItemDescription)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item_extra.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item-extra
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ItemExtra" :as ItemExtra])))
5 |
6 | (def ui-item-extra
7 | "An item can contain extra content meant to be formatted separately from the main content.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ItemExtra)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ItemGroup" :as ItemGroup])))
5 |
6 | (def ui-item-group
7 | "A group of items.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - divided (bool): Items can be divided to better distinguish between grouped content.
15 | - items (custom): Shorthand array of props for Item.
16 | - link (bool): An item can be formatted so that the entire contents link to another page.
17 | - relaxed (bool|enum): A group of items can relax its padding to provide more negative space. (very)
18 | - unstackable (bool): Prevent items from stacking on mobile."
19 | #?(:cljs (h/factory-apply ItemGroup)))
20 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item_header.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item-header
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ItemHeader" :as ItemHeader])))
5 |
6 | (def ui-item-header
7 | "An item can contain a header.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ItemHeader)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item_image.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item-image
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ItemImage" :as ItemImage])))
5 |
6 | (def ui-item-image
7 | "An item can contain an image.
8 |
9 | Props:
10 | - size (custom): An image may appear at different sizes."
11 | #?(:cljs (h/factory-apply ItemImage)))
12 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/item/ui_item_meta.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.item.ui-item-meta
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$ItemMeta" :as ItemMeta])))
5 |
6 | (def ui-item-meta
7 | "An item can contain content metadata.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply ItemMeta)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/statistic/ui_statistic.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.statistic.ui-statistic
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$Statistic" :as Statistic])))
5 |
6 | (def ui-statistic
7 | "A statistic emphasizes the current value of an attribute.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - color (enum): A statistic can be formatted to be different colors. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
14 | - content (custom): Shorthand for primary content.
15 | - floated (enum): A statistic can sit to the left or right of other content. (left, right)
16 | - horizontal (bool): A statistic can present its measurement horizontally.
17 | - inverted (bool): A statistic can be formatted to fit on a dark background.
18 | - label (custom): Label content of the Statistic.
19 | - size (enum): A statistic can vary in size. (mini, tiny, small, large, huge)
20 | - text (bool): Format the StatisticValue with smaller font size to fit nicely beside number values.
21 | - value (custom): Value content of the Statistic."
22 | #?(:cljs (h/factory-apply Statistic)))
23 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/statistic/ui_statistic_group.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.statistic.ui-statistic-group
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$StatisticGroup" :as StatisticGroup])))
5 |
6 | (def ui-statistic-group
7 | "A group of statistics.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - color (enum): A statistic group can be formatted to be different colors. (red, orange, yellow, olive, green, teal, blue, violet, purple, pink, brown, grey, black)
14 | - content (custom): Shorthand for primary content.
15 | - horizontal (bool): A statistic group can present its measurement horizontally.
16 | - inverted (bool): A statistic group can be formatted to fit on a dark background.
17 | - items (custom): Array of props for Statistic.
18 | - size (enum): A statistic group can vary in size. (mini, tiny, small, large, huge)
19 | - widths (enum): A statistic group can have its items divided evenly. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen)"
20 | #?(:cljs (h/factory-apply StatisticGroup)))
21 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/statistic/ui_statistic_label.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.statistic.ui-statistic-label
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$StatisticLabel" :as StatisticLabel])))
5 |
6 | (def ui-statistic-label
7 | "A statistic can contain a label to help provide context for the presented value.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content."
14 | #?(:cljs (h/factory-apply StatisticLabel)))
15 |
--------------------------------------------------------------------------------
/src/main/com/fulcrologic/semantic_ui/views/statistic/ui_statistic_value.cljc:
--------------------------------------------------------------------------------
1 | (ns com.fulcrologic.semantic-ui.views.statistic.ui-statistic-value
2 | (:require
3 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
4 | #?(:cljs ["semantic-ui-react$StatisticValue" :as StatisticValue])))
5 |
6 | (def ui-statistic-value
7 | "A statistic can contain a numeric, icon, image, or text value.
8 |
9 | Props:
10 | - as (elementType): An element type to render as (string or function).
11 | - children (node): Primary content.
12 | - className (string): Additional classes.
13 | - content (custom): Shorthand for primary content.
14 | - text (bool): Format the value with smaller font size to fit nicely beside number values."
15 | #?(:cljs (h/factory-apply StatisticValue)))
16 |
--------------------------------------------------------------------------------
/src/workspaces/fulcrologic/semantic_ui/workspaces/button.cljs:
--------------------------------------------------------------------------------
1 | (ns fulcrologic.semantic-ui.workspaces.button
2 | (:require [com.fulcrologic.fulcro.components :as comp]
3 | [com.fulcrologic.fulcro.dom :as dom]
4 | [nubank.workspaces.core :as ws]
5 | [nubank.workspaces.card-types.fulcro3 :as ct.fulcro]
6 | [com.fulcrologic.semantic-ui.factories :refer [ui-button]]
7 | [com.fulcrologic.semantic-ui.elements.button.ui-button-group :refer [ui-button-group]]
8 | [com.fulcrologic.semantic-ui.elements.icon.ui-icon :refer [ui-icon]]
9 | [com.fulcrologic.semantic-ui.icons :as i]))
10 |
11 | (comp/defsc SomeButtons
12 | [this {:keys [x]}]
13 | {:initial-state (fn [_] {:x "x"})
14 | :ident (fn [] [::id "singleton"])
15 | :query [:x]}
16 |
17 | (dom/div {}
18 | (ui-button-group nil
19 | (ui-button nil "A")
20 | (ui-button nil "B")
21 | (ui-button nil "C"))
22 | (dom/br)
23 | (ui-button {} "A")
24 | (dom/br)
25 | (ui-button {:content "Like"
26 | :icon i/heart-icon
27 | :label {:as "a" :basic true :content "2,000"}
28 | :labelPosition "left"})
29 | (dom/br)
30 | (ui-button-group nil
31 | (ui-button {:icon true}
32 | (ui-icon {:name i/align-left-icon}))
33 | (ui-button {:icon true}
34 | (ui-icon {:name i/align-center-icon}))
35 | (ui-button {:icon true}
36 | (ui-icon {:name i/align-right-icon}))
37 | (ui-button {:icon true}
38 | (ui-icon {:name i/align-justify-icon}))
39 | )
40 | (ui-button {} "C")
41 | (dom/br)
42 | (ui-button {} "D")))
43 |
44 | (ws/defcard some-buttons
45 | (ct.fulcro/fulcro-card
46 | {::ct.fulcro/wrap-root? true
47 | ::ct.fulcro/root SomeButtons}))
48 |
49 |
--------------------------------------------------------------------------------
/src/workspaces/fulcrologic/semantic_ui/workspaces/dropdown.cljs:
--------------------------------------------------------------------------------
1 | (ns fulcrologic.semantic-ui.workspaces.dropdown
2 | (:require [com.fulcrologic.fulcro.components :as fp]
3 | [com.fulcrologic.fulcro.dom :as dom]
4 | [nubank.workspaces.core :as ws]
5 | [nubank.workspaces.card-types.fulcro3 :as ct.fulcro]
6 | [com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown :refer [ui-dropdown]]
7 | [com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-menu :refer [ui-dropdown-menu]]
8 | [com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-item :refer [ui-dropdown-item]]
9 | [com.fulcrologic.semantic-ui.modules.dropdown.ui-dropdown-divider :refer [ui-dropdown-divider]]
10 | [com.fulcrologic.semantic-ui.elements.icon.ui-icon :refer [ui-icon]]
11 | [com.fulcrologic.semantic-ui.icons :as i]))
12 |
13 | (fp/defsc Dropdown
14 | [this {:keys [x]}]
15 | {:initial-state {:x "x"}
16 | :ident (fn [] [::id "singleton"])
17 | :query [:x]}
18 |
19 | (dom/div {}
20 | (ui-dropdown {:text "File"}
21 | (ui-dropdown-menu {}
22 | (ui-dropdown-item {:text "New"})
23 | (ui-dropdown-item {:text "Open..." :description "ctrl + o"})
24 | (ui-dropdown-item {:text "Save as..." :description "ctrl + s"})
25 | (ui-dropdown-item {:text "Rename" :description "ctrl + r"})
26 | (ui-dropdown-item {:text "Make a copy"})
27 | (ui-dropdown-item {:icon i/folder-icon :text "Move to folder"})
28 | (ui-dropdown-item {:icon i/trash-icon :text "Move to trash"})
29 | (ui-dropdown-divider {})
30 | (ui-dropdown-item {:text "Download As..."})
31 | (ui-dropdown-item {:text "Publish To Web"})
32 | (ui-dropdown-item {:text "E-mail Collaborators"})))))
33 |
34 | (ws/defcard dropdown
35 | (ct.fulcro/fulcro-card
36 | {::ct.fulcro/wrap-root? true
37 | ::ct.fulcro/root Dropdown}))
38 |
--------------------------------------------------------------------------------
/src/workspaces/fulcrologic/semantic_ui/workspaces/form.cljs:
--------------------------------------------------------------------------------
1 | (ns fulcrologic.semantic-ui.workspaces.form
2 | (:require [com.fulcrologic.fulcro.components :as fp]
3 | [com.fulcrologic.fulcro.dom :as dom]
4 | [nubank.workspaces.core :as ws]
5 | [nubank.workspaces.card-types.fulcro3 :as ct.fulcro]
6 | [com.fulcrologic.fulcro.mutations :as fm]
7 | [com.fulcrologic.semantic-ui.factory-helpers :as h]
8 | [com.fulcrologic.semantic-ui.elements.input.ui-input :refer [ui-input]]
9 | [com.fulcrologic.semantic-ui.collections.form.ui-form :refer [ui-form]]
10 | [com.fulcrologic.semantic-ui.collections.form.ui-form-input :refer [ui-form-input]]))
11 |
12 | (fp/defsc FormInput
13 | [this {:keys [my-x-val my-y-val]}]
14 | {:initial-state (fn [_] {:my-x-val "" :my-y-val ""})
15 | :ident (fn [] [::id "singleton-form-input"])
16 | :query [:my-x-val :my-y-val]}
17 | (let [on-x-change (fn [evt _] (fm/set-string! this :my-x-val :event evt))
18 | on-y-change (fn [evt _] (fm/set-string! this :my-y-val :event evt))]
19 | (dom/div
20 | (dom/p {} (str "x: " my-x-val))
21 | (dom/p {} (str "y: " my-y-val))
22 | (ui-form {:error true}
23 | (ui-form-input {:value my-x-val :onChange on-x-change :label "X" :error true})
24 | (ui-form-input {:value my-y-val :onChange on-y-change :label "Y"})))))
25 |
26 | (ws/defcard form-input-with-input-control
27 | (ct.fulcro/fulcro-card
28 | {::ct.fulcro/wrap-root? true
29 | ::ct.fulcro/root FormInput}))
30 |
31 |
--------------------------------------------------------------------------------
/src/workspaces/fulcrologic/semantic_ui/workspaces/icon.cljs:
--------------------------------------------------------------------------------
1 | (ns fulcrologic.semantic-ui.workspaces.icon
2 | (:require [com.fulcrologic.fulcro.components :as fp]
3 | [com.fulcrologic.fulcro.dom :as dom]
4 | [nubank.workspaces.core :as ws]
5 | [nubank.workspaces.card-types.fulcro3 :as ct.fulcro]
6 | [com.fulcrologic.semantic-ui.elements.icon.ui-icon :refer [ui-icon]]
7 | [clojure.string :as string]
8 | [cljs.tools.reader :refer [read-string]]
9 | [cljs.js :refer [empty-state eval js-eval]]))
10 |
11 | (fp/defsc Icons
12 | [this {:keys [x]}]
13 | {:initial-state (fn [_] {:x "x"})
14 | :ident (fn [] [::id "singleton"])
15 | :query [:x]}
16 | (let [icons (ns-publics 'com.fulcrologic.semantic-ui.icons)]
17 | (dom/div
18 | {}
19 | (mapv #(ui-icon {:name (-> % last meta :name name
20 | (string/replace #"-icon" "")
21 | (string/replace #"-" " ")
22 | (string/replace #"_" "")
23 | (string/replace #"wi fi" "wi-fi"))
24 | :key (-> % last meta :name)})
25 | (sort-by #(-> % first) icons)))))
26 |
27 | (ws/defcard icons
28 | (ct.fulcro/fulcro-card
29 | {::ct.fulcro/wrap-root? true
30 | ::ct.fulcro/root Icons}))
31 |
32 |
--------------------------------------------------------------------------------
/src/workspaces/fulcrologic/semantic_ui/workspaces/input.cljs:
--------------------------------------------------------------------------------
1 | (ns fulcrologic.semantic-ui.workspaces.input
2 | (:require [com.fulcrologic.fulcro.components :as fp]
3 | [com.fulcrologic.fulcro.dom :as dom]
4 | [com.fulcrologic.fulcro.mutations :as fm]
5 | [nubank.workspaces.core :as ws]
6 | [nubank.workspaces.card-types.fulcro3 :as ct.fulcro]
7 | [com.fulcrologic.semantic-ui.elements.input.ui-input :refer [ui-input]]))
8 |
9 | (fp/defsc Input
10 | [this {:keys [my-val]}]
11 | {:initial-state (fn [_] {:my-val ""})
12 | :ident (fn [] [::id "singleton"])
13 | :query [:my-val]}
14 | (dom/div
15 | (ui-input {:value my-val :onChange #(fm/set-string! this :my-val :event %)})))
16 |
17 | (ws/defcard input
18 | (ct.fulcro/fulcro-card
19 | {::ct.fulcro/wrap-root? true
20 | ::ct.fulcro/root Input}))
21 |
22 |
--------------------------------------------------------------------------------
/src/workspaces/fulcrologic/semantic_ui/workspaces_main.cljs:
--------------------------------------------------------------------------------
1 | (ns fulcrologic.semantic-ui.workspaces-main
2 | (:require [nubank.workspaces.core :as ws]
3 | [fulcrologic.semantic-ui.workspaces.button]
4 | [fulcrologic.semantic-ui.workspaces.dropdown]
5 | [fulcrologic.semantic-ui.workspaces.form]
6 | [fulcrologic.semantic-ui.workspaces.icon]
7 | [fulcrologic.semantic-ui.workspaces.input]))
8 |
9 | (defonce init (ws/mount))
10 |
11 |
--------------------------------------------------------------------------------