{"id":26484680,"url":"https://github.com/gersak/toddler","last_synced_at":"2025-03-20T05:37:09.088Z","repository":{"id":63176152,"uuid":"525167792","full_name":"gersak/toddler","owner":"gersak","description":"UI library based on lilactown/helix and shadow-css libraries","archived":false,"fork":false,"pushed_at":"2025-03-14T10:54:22.000Z","size":14591,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-14T11:33:48.738Z","etag":null,"topics":["calendar","clojurescript","datepicker","dropdown","framework","helix","i18n","icons","multiselect","notifications","popup","routing","shadow-css","table","tabs","themes","ui"],"latest_commit_sha":null,"homepage":"https://gersak.github.io/toddler/","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gersak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"gersak","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2022-08-15T23:24:26.000Z","updated_at":"2025-03-06T07:23:03.000Z","dependencies_parsed_at":"2023-02-10T09:15:33.593Z","dependency_job_id":"6f687f66-3106-4820-a16e-51bd9977785b","html_url":"https://github.com/gersak/toddler","commit_stats":null,"previous_names":["gersak/toddler"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gersak%2Ftoddler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gersak%2Ftoddler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gersak%2Ftoddler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gersak%2Ftoddler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gersak","download_url":"https://codeload.github.com/gersak/toddler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244560367,"owners_count":20472218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["calendar","clojurescript","datepicker","dropdown","framework","helix","i18n","icons","multiselect","notifications","popup","routing","shadow-css","table","tabs","themes","ui"],"created_at":"2025-03-20T05:37:08.491Z","updated_at":"2025-03-20T05:37:09.083Z","avatar_url":"https://github.com/gersak.png","language":"Clojure","funding_links":["https://github.com/sponsors/gersak"],"categories":[],"sub_categories":[],"readme":"\n# About\nToddler is a library containing a collection of [Helix](https://github.com/lilactown/helix.git) hooks,\ncomponents and functions that I found useful throughout my career.\nOn top of this reusable code, I've built UI components that you can test in the **[SHOWCASE](https://gersak.github.io/toddler)**.\n\nThe **[showcase](https://github.com/gersak/toddler-showcase.git)** is a Git submodule within this repository,\nused for testing, development, and documentation of Toddler UI components.\n\nIf you want to see the full API documentation, visit the [API Docs](https://gersak.github.io/toddler/codox/index.html).\n\n---\n\n[![Clojars Project](https://img.shields.io/clojars/v/dev.gersak/toddler.svg)](https://clojars.org/dev.gersak/toddler)  \nCollection of hooks, functions and reusable components. `CORE` of Toddler project\n\n\n[![Clojars Project](https://img.shields.io/clojars/v/dev.gersak/toddler-ui.svg)](https://clojars.org/dev.gersak/toddler-ui)  \nDefault implementation for **field**, **table**, **layout** components.\n\n[![Clojars Project](https://img.shields.io/clojars/v/dev.gersak/toddler-icons.svg)](https://clojars.org/dev.gersak/toddler-icons)  \nIcons available for:\n\n * [Material Icons](https://fonts.google.com/icons)\n * [FontAwesome](https://fontawesome.com/icons)\n * [Ionic](https://ionic.io/ionicons)\n\n[![Clojars Project](https://img.shields.io/clojars/v/dev.gersak/toddler-graphql.svg)](https://clojars.org/dev.gersak/toddler-graphql)  \nGraphQL implementation for generating GraphQL Mutations and Queries with data structures. It is very compatible with\n[Lacinia](https://github.com/walmartlabs/lacinia) project only from client side. Lets say that what Lacinia can parse and output as query data Toddler GraphQL\ncan reverse and generate GraphQL query.\n\nAt least for `selection`. Not documented yet, but ready to use. Docs... TBD\n\n\n---\n\n\n\n## Quickstart\nToddler includes a built-in template to create a new project. In the following commands,\nwe refer to the project as `new.project`. Feel free to replace it with your preferred name.\n\n```sh\nclj -Sdeps '{:deps {dev.gersak/toddler-ui {:mvn/version \"0.9.6\"}}}' -M -m toddler.start new.project\ncd new.project\nnpm run dev\n# Navigate to http://localhost:8000\n```\n\n#### CSS\nToddler components use [shadow-css](https://github.com/thheller/shadow-css.git) to generate CSS files for component styling.\n\nIn the **\"dev/\"** folder, you’ll find the **compile_css.clj** file, which contains functions for indexing and compiling CSS in your codebase.  \nDuring development, the function ```compile_css/go``` is called automatically from the `dev/user.clj` namespace, which is autoloaded.\n\nIf you have created new project with Toddler template command from [quickstart](#quickstart) than\ntheme css file should be available at `src/new/project/main.css` (path depends on how you named your project).\n\nYou can style Toddler default UI components by changing variables in that file.\n\n#### Releasing\nTo compile a production-ready release, run:\n\n```sh\nnpm run release\n```\n\nThis will generate both **JS** and **CSS** files in the **build/** directory, ready for distribution.\n\n## Development\nFirst, initialize the Showcase submodule (only needed once):\n\n```sh\ngit submodule init showcase\ngit submodule update showcase\n```\n\nThen, start the development server:\n\n```sh\nnpm run dev\n```\n\n# Where is this going?\n\n#### [Tauri](https://v2.tauri.app/)\nI've been exploring possibilities for development of mobile and desktop applications.\nMy next goal is to build applications using Tauri,\nfocusing on integration and a proof-of-concept (PoC) project.\n\n#### Drag-and-drop\nDnD is another area I want to cover, leveraging functions, hooks, and signal events.\n\n#### Documentation tool\nShowcase project is written using Toddler. Skelet with navigation menu, action bar where links\nare positioined and content area to display **markdown** docs is **344** lines of Clojurescript code\nthat can be found [here](https://github.com/gersak/toddler/blob/main/ui/src/toddler/dev.cljs).\n\nIt wasn't hard, to implement but **it is missing search and generated static HTML files** to meet minimum\nof industry standard tools like [Docusaurus](https://docusaurus.io/)\n\n#### Complete Documentation\nNot all functions, hooks, and components are currently showcased or documented. Expanding and refining the documentation is a key priority.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgersak%2Ftoddler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgersak%2Ftoddler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgersak%2Ftoddler/lists"}