forms_pro
Web Forms on steroids!
File Explorer
- SKILL.md
- SKILL.md
- _sections.md
- _template.md
- a11y-reduced-motion-check.md
- a11y-toggle-setting.md
- a11y-visual-equivalent.md
- a11y-volume-control.md
- appropriate-confirmations-only.md
- appropriate-errors-warnings.md
- appropriate-no-decorative.md
- appropriate-no-high-frequency.md
- appropriate-no-punishing.md
- container-callback-ref.md
- container-guard-initial-zero.md
- container-no-excessive-use.md
- container-overflow-hidden.md
- container-transition-delay.md
- container-two-div-pattern.md
- container-use-resize-observer.md
- context-cleanup-nodes.md
- context-resume-suspended.md
- context-reuse-single.md
- design-filter-for-character.md
- design-noise-for-percussion.md
- design-oscillator-for-tonal.md
- duration-max-300ms.md
- duration-press-hover.md
- duration-shorten-before-curve.md
- duration-small-state.md
- easing-entrance-ease-out.md
- easing-exit-ease-in.md
- easing-for-state-change.md
- easing-linear-only-progress.md
- easing-natural-decay.md
- easing-no-linear-motion.md
- easing-transition-ease-in-out.md
- envelope-exponential-decay.md
- envelope-no-zero-target.md
- envelope-set-initial-value.md
- exit-key-required.md
- exit-matches-initial.md
- exit-prop-required.md
- exit-requires-wrapper.md
- impl-default-subtle.md
- impl-preload-audio.md
- impl-reset-current-time.md
- mode-pop-layout-for-lists.md
- mode-sync-layout-conflict.md
- mode-wait-doubles-duration.md
- morphing-aria-hidden.md
- morphing-consistent-viewbox.md
- morphing-group-variants.md
- morphing-jump-non-grouped.md
- morphing-reduced-motion.md
- morphing-spring-rotation.md
- morphing-strokelinecap-round.md
- morphing-three-lines.md
- morphing-use-collapsed.md
- native-backdrop-styling.md
- native-placeholder-styling.md
- native-selection-styling.md
- nested-consistent-timing.md
- nested-propagate-required.md
- none-context-menu-entrance.md
- none-high-frequency.md
- none-keyboard-navigation.md
- param-click-duration.md
- param-filter-frequency-range.md
- param-q-value-range.md
- param-reasonable-gain.md
- physics-active-state.md
- physics-no-excessive-stagger.md
- physics-spring-for-overshoot.md
- physics-subtle-deformation.md
- prefetch-hit-slop.md
- prefetch-keyboard-tab.md
- prefetch-not-everything.md
- prefetch-touch-fallback.md
- prefetch-trajectory-over-hover.md
- prefetch-use-selectively.md
- presence-disable-interactions.md
- presence-hook-in-child.md
- presence-safe-to-remove.md
- pseudo-content-required.md
- pseudo-first-line-styling.md
- pseudo-hit-target-expansion.md
- pseudo-marker-styling.md
- pseudo-over-dom-node.md
- pseudo-position-relative-parent.md
- pseudo-z-index-layering.md
- spring-for-gestures.md
- spring-for-interruptible.md
- spring-params-balanced.md
- spring-preserves-velocity.md
- staging-dim-background.md
- staging-one-focal-point.md
- staging-z-index-hierarchy.md
- timing-consistent.md
- timing-no-entrance-context-menu.md
- timing-under-300ms.md
- transition-name-cleanup.md
- transition-name-required.md
- transition-name-unique.md
- transition-over-js-library.md
- transition-style-pseudo-elements.md
- type-antialiased-on-retina.md
- type-disambiguation-stylistic-set.md
- type-font-display-swap.md
- type-justify-with-hyphens.md
- type-letter-spacing-uppercase.md
- type-no-font-synthesis.md
- type-oldstyle-nums-for-prose.md
- type-opentype-contextual-alternates.md
- type-optical-sizing-auto.md
- type-proper-fractions.md
- type-slashed-zero.md
- type-tabular-nums-for-data.md
- type-text-wrap-balance-headings.md
- type-text-wrap-pretty.md
- type-underline-offset.md
- type-variable-weight-continuous.md
- ux-aesthetic-usability.md
- ux-cognitive-load-reduce.md
- ux-common-region-boundaries.md
- ux-doherty-perceived-speed.md
- ux-doherty-under-400ms.md
- ux-fitts-hit-area.md
- ux-fitts-target-size.md
- ux-goal-gradient-progress.md
- ux-hicks-minimize-choices.md
- ux-jakobs-familiar-patterns.md
- ux-millers-chunking.md
- ux-pareto-prioritize-features.md
- ux-peak-end-finish-strong.md
- ux-postels-accept-messy-input.md
- ux-pragnanz-simplify.md
- ux-progressive-disclosure.md
- ux-proximity-grouping.md
- ux-serial-position.md
- ux-similarity-consistency.md
- ux-teslers-complexity.md
- ux-uniform-connectedness.md
- ux-von-restorff-emphasis.md
- ux-zeigarnik-show-incomplete.md
- visual-animate-shadow-pseudo.md
- visual-border-alpha-colors.md
- visual-button-shadow-anatomy.md
- visual-concentric-radius.md
- visual-consistent-spacing-scale.md
- visual-layered-shadows.md
- visual-no-pure-black-shadow.md
- visual-shadow-direction.md
- visual-shadow-matches-elevation.md
- weight-duration-matches-action.md
- weight-match-action.md
- AGENTS.md
- SKILL.md
- SKILL.md
- bug_report.yml
- feature_request.yml
- favicon.ico
- logo_300.png
- Preview1.jpeg
- Preview2.jpeg
- Preview3.jpeg
- backport.yml
- ci.yml
- linter.yml
- pr-title-check.yml
- typecheck.yml
- ui-tests.yml
- vulnerable-dep-check.yml
- CODEOWNERS
- dependabot.yml
- pull_request_template.md
- __init__.py
- endpoints.py
- test_export.py
- __init__.py
- endpoints.py
- schema.py
- test_form.py
- __init__.py
- endpoints.py
- __init__.py
- endpoints.py
- schema.py
- test_submission.py
- test_submission_validation.py
- __init__.py
- endpoints.py
- test_invitations.py
- test_team.py
- __init__.py
- endpoints.py
- schema.py
- test_user.py
- __init__.py
- role.json
- __init__.py
- form.js
- form.json
- form.py
- test_form.py
- __init__.py
- form_field.json
- form_field.py
- test_form_field.py
- __init__.py
- fp_team.js
- fp_team.json
- fp_team.py
- test_fp_team.py
- __init__.py
- fp_team_member.js
- fp_team_member.json
- fp_team_member.py
- test_fp_team_member.py
- __init__.py
- .frappe
- __init__.py
- invitations.py
- roles.py
- create_user_forms_module_def.py
- __init__.py
- backfill_field_layout.py
- avatar-1.jpg
- avatar-10.jpg
- avatar-11.jpg
- avatar-12.jpg
- avatar-13.jpg
- avatar-14.jpg
- avatar-15.jpg
- avatar-16.jpg
- avatar-17.jpg
- avatar-18.jpg
- avatar-19.jpg
- avatar-2.jpg
- avatar-20.jpg
- avatar-21.jpg
- avatar-22.jpg
- avatar-23.jpg
- avatar-24.jpg
- avatar-25.jpg
- avatar-26.jpg
- avatar-27.jpg
- avatar-28.jpg
- avatar-29.jpg
- avatar-3.jpg
- avatar-30.jpg
- avatar-31.jpg
- avatar-32.jpg
- avatar-33.jpg
- avatar-34.jpg
- avatar-35.jpg
- avatar-36.jpg
- avatar-37.jpg
- avatar-38.jpg
- avatar-39.jpg
- avatar-4.jpg
- avatar-40.jpg
- avatar-41.jpg
- avatar-42.jpg
- avatar-43.jpg
- avatar-44.jpg
- avatar-45.jpg
- avatar-46.jpg
- avatar-47.jpg
- avatar-48.jpg
- avatar-49.jpg
- avatar-5.jpg
- avatar-50.jpg
- avatar-6.jpg
- avatar-7.jpg
- avatar-8.jpg
- avatar-9.jpg
- avatar_attribution.md
- favicon.ico
- logo_300.png
- logo_300.svg
- forms_pro_desk.js
- .gitkeep
- __init__.py
- __init__.py
- __init__.py
- form_factory.py
- fp_team_factory.py
- linked_form_doctype_factory.py
- user_factory.py
- user_invitation_factory.py
- __init__.py
- test_page_break.py
- test_roles.py
- __init__.py
- constants.py
- form_generator.py
- permissions.py
- teams.py
- test_form_generator.py
- test_permissions.py
- forms.py
- __init__.py
- hooks.py
- install.py
- modules.txt
- patches.txt
- roles.py
- test-data.fixture.ts
- dashboard.ts
- form-builder.ts
- form-fields.ts
- submission.ts
- team.ts
- add-fields-palette.spec.ts
- builder-steps.spec.ts
- form-creation.spec.ts
- form-layout.spec.ts
- form-submission.spec.ts
- heading-field.spec.ts
- multiselect-field.spec.ts
- rating-field.spec.ts
- route-perms.spec.ts
- smoke.spec.ts
- submission-steps.spec.ts
- submission-view.spec.ts
- team-invite.spec.ts
- global-setup.ts
- tsconfig.json
- logo.svg
- favicon.png
- Inter-Black.woff
- Inter-Black.woff2
- Inter-BlackItalic.woff
- Inter-BlackItalic.woff2
- Inter-Bold.woff
- Inter-Bold.woff2
- Inter-BoldItalic.woff
- Inter-BoldItalic.woff2
- Inter-ExtraBold.woff
- Inter-ExtraBold.woff2
- Inter-ExtraBoldItalic.woff
- Inter-ExtraBoldItalic.woff2
- Inter-ExtraLight.woff
- Inter-ExtraLight.woff2
- Inter-ExtraLightItalic.woff
- Inter-ExtraLightItalic.woff2
- Inter-italic.var.woff2
- Inter-Italic.woff
- Inter-Italic.woff2
- Inter-Light.woff
- Inter-Light.woff2
- Inter-LightItalic.woff
- Inter-LightItalic.woff2
- Inter-Medium.woff
- Inter-Medium.woff2
- Inter-MediumItalic.woff
- Inter-MediumItalic.woff2
- Inter-Regular.woff
- Inter-Regular.woff2
- Inter-roman.var.woff2
- Inter-SemiBold.woff
- Inter-SemiBold.woff2
- Inter-SemiBoldItalic.woff
- Inter-SemiBoldItalic.woff2
- Inter-Thin.woff
- Inter-Thin.woff2
- Inter-ThinItalic.woff
- Inter-ThinItalic.woff2
- inter.css
- Inter.var.woff2
- Logo.vue
- ConditionalLogicSection.vue
- FieldPropertiesForm.vue
- AddFieldsSection.vue
- DoctypeFieldsSection.vue
- SettingsSection.vue
- ColumnDropZone.vue
- FieldActions.vue
- FieldCard.vue
- FieldLabel.vue
- FieldRenderer.vue
- RowDropZone.vue
- SectionNavBar.vue
- FormPreviewCard.vue
- Multiselect.vue
- MultiselectBuilderExtras.vue
- Attachment.vue
- Heading.vue
- PageBreak.vue
- Phone.vue
- Rating.vue
- Section.vue
- Table.vue
- AccessSection.vue
- DescriptionSection.vue
- RemoveAccessModal.vue
- ShareAccessModal.vue
- SubmissionDetails.vue
- SubmissionFieldValue.vue
- SubmissionList.vue
- ImageUploader.vue
- FormHeader.vue
- FormRenderer.vue
- FormUnpublishedState.vue
- PageHeader.vue
- PreviousSubmissionSection.vue
- StepIndicator.vue
- SuccessSection.vue
- CreateTeamDialog.vue
- InviteMemberDialog.vue
- ManageTeamHeader.vue
- RemoveMemberDialog.vue
- TeamLogo.vue
- TeamMemberList.vue
- TeamSwitcher.vue
- TeamSwitcherItem.vue
- Avatar.vue
- Drawer.vue
- GlobalDialog.vue
- FieldEditorSidebar.vue
- FormBuilderContent.vue
- FormBuilderHeader.vue
- FormBuilderSidebar.vue
- RenderField.vue
- RouteError.vue
- RouteProgress.vue
- useFormSteps.ts
- useGroupedRows.ts
- useQueryParam.ts
- useRouteData.ts
- fieldTypes.ts
- session.ts
- user.ts
- BaseLayout.vue
- FormBuilderLayout.vue
- Dashboard.vue
- Home.vue
- sidebarItems.ts
- Overview.vue
- Submissions.vue
- ManageForm.vue
- sidebarItems.ts
- PublicEdit.vue
- ManageTeam.vue
- EditForm.vue
- SubmissionPage.vue
- manageForm.ts
- editForm.ts
- editSubmission.ts
- routeData.ts
- submissionForm.ts
- team.ts
- user.ts
- form.types.ts
- form_field.types.ts
- fpteam.types.ts
- fpteam_member.types.ts
- conditional-render.types.ts
- form.ts
- formfield.ts
- router.d.ts
- conditionals.ts
- date.ts
- dialog.ts
- form.ts
- form_fields.ts
- form_generator.ts
- form_layout.ts
- form_steps.test.ts
- form_steps.ts
- selectOptions.ts
- theme.ts
- user.ts
- App.vue
- index.css
- main.ts
- router.ts
- socket.ts
- vue-shims.d.ts
- .gitignore
- auto-imports.d.ts
- index.html
- oxlint.json
- package.json
- playwright.config.ts
- postcss.config.js
- README.md
- tailwind.config.ts
- tsconfig.json
- tsconfig.node.json
- typecheck.sh
- types.d.ts
- vite.config.js
- vitest.config.ts
- yarn.lock
- .editorconfig
- .eslintrc
- .gitignore
- .pre-commit-config.yaml
- CLAUDE.md
- CONTRIBUTING.md
- LICENSE
- package.json
- pyproject.toml
- README.md
- SECURITY.md
- yarn.lock
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
git checkout
View Details ▼
git checkout
Checkout a branch or paths to the working tree.
git checkout -b {{branch_name}}
Create and switch to a new branch:
git checkout -b {{branch_name}} {{reference}}
Create and switch to a new branch based on a specific reference (branch, remote/branch, tag are examples of valid references):
git checkout {{branch_name}}
Switch to an existing local branch:
pre-commit
View Details ▼
pre-commit
Create Git hooks that run before commits.
pre-commit install
Install pre-commit into your Git hooks:
pre-commit run
Run pre-commit hooks on all staged files:
pre-commit run --all-files
Run pre-commit hooks on all files, staged or unstaged:
yarn
View Details ▼
yarn
JavaScript and Node.js package manager alternative.
yarn global add {{module_name}}
Install a module globally:
yarn install
Install all dependencies referenced in the `package.json` file (the `install` is optional):
yarn add {{module_name}}@{{version}}
Install a module and save it as a dependency to the `package.json` file (add `--dev` to save as a dev dependency):
