{"id":32186259,"url":"https://github.com/intception/om-widgets","last_synced_at":"2026-02-21T01:31:22.432Z","repository":{"id":21715504,"uuid":"25037048","full_name":"intception/om-widgets","owner":"intception","description":"Om/React Widgets library","archived":false,"fork":false,"pushed_at":"2024-08-01T20:15:10.000Z","size":1090,"stargazers_count":3,"open_issues_count":3,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-22T00:06:02.564Z","etag":null,"topics":["clojure","clojurescript","om","react-widgets"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/intception.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-10T13:38:42.000Z","updated_at":"2024-08-01T20:15:13.000Z","dependencies_parsed_at":"2022-08-18T21:52:41.552Z","dependency_job_id":null,"html_url":"https://github.com/intception/om-widgets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/intception/om-widgets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intception%2Fom-widgets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intception%2Fom-widgets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intception%2Fom-widgets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intception%2Fom-widgets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/intception","download_url":"https://codeload.github.com/intception/om-widgets/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intception%2Fom-widgets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29670124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T00:11:43.526Z","status":"ssl_error","status_checked_at":"2026-02-20T23:52:33.807Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","clojurescript","om","react-widgets"],"created_at":"2025-10-22T00:01:29.852Z","updated_at":"2026-02-21T01:31:22.387Z","avatar_url":"https://github.com/intception.png","language":"Clojure","readme":"# om-widgets\n\nA Clojure clojurescript library that implement om/react widgets.\n\n[![Clojars Project](http://clojars.org/org.clojars.intception/om-widgets/latest-version.svg)](http://clojars.org/org.clojars.intception/om-widgets)\n\n## Development\n\nWe use [lein-figwheel](https://github.com/bhauman/lein-figwheel),\njust run:\n\n```bash\nlein figwheel basic\n```\ninside the repo and this will start a webserver serving the sample files, point your browser to: `http://localhost:3449/examples/basic/index.html`\nand you are ready to go.\n\n## License\n\nCopyright © 2014 FIXME\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n\n\n## Samples\n\n####Simple control usage\n\n\n```clj\n(ns example\n  (:require [om.core :as om :include-macros true]\n            [om.dom :as dom :include-macros true]\n            [schema.core :as s]\n            [om-widgets.core :as widgets]))\n\n\n(def app-state (atom {:text #inst \"2012-06-01\" :current-item {}}))\n\n(om/root\n  (fn [app owner]\n    (reify om/IRender\n      (render [_]\n        (dom/div nil\n          (widgets/install-modal-box! owner)\n          (dom/h1 nil (str (:text app)))\n          (widgets/textinput app :text :input-format \"date\")\n```\n\n####Form\n\n\n```clj\n(ns om-widgets-tests.screen\n  (:require [om.core :as om :include-macros true]\n            [om.dom :as dom :include-macros true]\n            [schema.core :as s]\n            [om-widgets.core :as widgets]\n            [om-widgets.forms :as f :include-macros true]))\n\n(def Rules\n  {:name (s/pred #(not (empty? %)) 'RequiredName)})\n\n(def Messages\n  {:name \"The name is required\"})\n\n(om/root\n  (fn [app owner]\n    (reify\n      om/IInitState\n      (init-state [_]\n      {:errors {}})\n\n      om/IRenderState\n      (render-state [_ {:keys [errors ] :as state}]\n\n        (f/form app owner {:title \"Test form\"\n                           :subtitle \"People\"\n                           :errors (or errors {})\n\n                           :validation {:messages Messages\n                                        :rules Rules}}\n\n          (f/field :name {:type :text :label \"Name:\" :required true })\n          (f/field :birth-date {:type :text :label \"Birth date:\" :required true :input-format \"date\"})\n          (f/field :nationality {:type :combo\n                                 :label \"Nationality:\"\n                                 :required true\n                                 :options (sorted-map :nationality/legal \"Legal\"\n                                                      :nationality/natural \"Natural\"\n                                                      :nationality/permanent \"Residencia permanente\")})\n          (f/section \"Address\")\n\n          (f/row\n            (f/column 4\n              (f/field :street {:type :text :label \"Street\" }))\n            (f/column 2\n              (f/field :number {:type :text :label \"Number\" }))\n            (f/column 2\n              (f/field :apartment {:type :text :label \"Apartment\"  })))\n\n          (f/button :btn-save { :icon :save\n                                :text \"Save\"\n                                :on-valid (fn [e])})))))\n  app-state\n  {:target (. js/document (getElementById \"app\"))})\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintception%2Fom-widgets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintception%2Fom-widgets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintception%2Fom-widgets/lists"}