love-ui 1.2.12 → 1.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +8 -7
- package/dist/mcp-server.js +1 -1
- package/package.json +3 -2
- package/packages/loveui-skills/SKILL.md +99 -0
- package/packages/loveui-skills/agents/openai.yaml +11 -0
- package/packages/loveui-skills/references/design-directions.md +60 -0
- package/packages/loveui-skills/references/mcp-catalog-workflow.md +68 -0
- package/packages/loveui-skills/references/page-blueprints.md +76 -0
- package/packages/loveui-skills/references/quality-gates.md +51 -0
- package/public/r/accordion-controlled.json +1 -1
- package/public/r/accordion-demo.json +1 -1
- package/public/r/accordion-multiple.json +1 -1
- package/public/r/accordion-single.json +1 -1
- package/public/r/alert-demo.json +1 -1
- package/public/r/alert-dialog-demo.json +1 -1
- package/public/r/alert-error.json +1 -1
- package/public/r/alert-info.json +1 -1
- package/public/r/alert-success.json +1 -1
- package/public/r/alert-warning.json +1 -1
- package/public/r/alert-with-icon-action.json +1 -1
- package/public/r/alert-with-icon.json +1 -1
- package/public/r/announcement-tagless.json +1 -1
- package/public/r/announcement-themes.json +1 -1
- package/public/r/announcement.json +1 -1
- package/public/r/autocomplete-async.json +1 -1
- package/public/r/autocomplete-autohighlight.json +1 -1
- package/public/r/autocomplete-demo.json +1 -1
- package/public/r/autocomplete-disabled.json +1 -1
- package/public/r/autocomplete-form.json +1 -1
- package/public/r/autocomplete-grouped.json +1 -1
- package/public/r/autocomplete-inline.json +1 -1
- package/public/r/autocomplete-lg.json +1 -1
- package/public/r/autocomplete-limit.json +1 -1
- package/public/r/autocomplete-sm.json +1 -1
- package/public/r/autocomplete-with-clear.json +1 -1
- package/public/r/autocomplete-with-label.json +1 -1
- package/public/r/autocomplete-with-trigger-clear.json +1 -1
- package/public/r/avatar-demo.json +1 -1
- package/public/r/avatar-fallback.json +1 -1
- package/public/r/avatar-group.json +1 -1
- package/public/r/avatar-radius.json +1 -1
- package/public/r/avatar-size.json +1 -1
- package/public/r/avatar-stack-hover.json +1 -1
- package/public/r/avatar-stack.json +1 -1
- package/public/r/badge-demo.json +1 -1
- package/public/r/badge-destructive.json +1 -1
- package/public/r/badge-error.json +1 -1
- package/public/r/badge-info.json +1 -1
- package/public/r/badge-lg.json +1 -1
- package/public/r/badge-outline.json +1 -1
- package/public/r/badge-secondary.json +1 -1
- package/public/r/badge-sm.json +1 -1
- package/public/r/badge-success.json +1 -1
- package/public/r/badge-warning.json +1 -1
- package/public/r/badge-with-icon.json +1 -1
- package/public/r/badge-with-link.json +1 -1
- package/public/r/banner-inset.json +1 -1
- package/public/r/banner-themes.json +1 -1
- package/public/r/banner.json +1 -1
- package/public/r/bookmarks.json +206 -0
- package/public/r/breadcrumb-custom-separator.json +1 -1
- package/public/r/breadcrumb-demo.json +1 -1
- package/public/r/button-demo.json +1 -1
- package/public/r/button-destructive-outline.json +1 -1
- package/public/r/button-destructive.json +1 -1
- package/public/r/button-disabled.json +1 -1
- package/public/r/button-ghost.json +1 -1
- package/public/r/button-lg.json +1 -1
- package/public/r/button-link.json +1 -1
- package/public/r/button-loading.json +1 -1
- package/public/r/button-outline.json +1 -1
- package/public/r/button-secondary.json +1 -1
- package/public/r/button-sm.json +1 -1
- package/public/r/button-with-icon.json +1 -1
- package/public/r/button-with-link.json +1 -1
- package/public/r/button-xl.json +1 -1
- package/public/r/button-xs.json +1 -1
- package/public/r/calendar-headless.json +1 -1
- package/public/r/calendar-rac.json +16 -0
- package/public/r/calendar.json +1 -1
- package/public/r/card-demo.json +1 -1
- package/public/r/chart.json +15 -0
- package/public/r/checkbox-card.json +1 -1
- package/public/r/checkbox-demo.json +1 -1
- package/public/r/checkbox-disabled.json +1 -1
- package/public/r/checkbox-form.json +1 -1
- package/public/r/checkbox-group-demo.json +1 -1
- package/public/r/checkbox-group-disabled.json +1 -1
- package/public/r/checkbox-group-form.json +1 -1
- package/public/r/checkbox-group-nested-parent.json +1 -1
- package/public/r/checkbox-group-parent.json +1 -1
- package/public/r/checkbox-tree.json +12 -0
- package/public/r/checkbox-with-description.json +1 -1
- package/public/r/choicebox-inline.json +1 -1
- package/public/r/choicebox.json +1 -1
- package/public/r/codebase.json +1 -1
- package/public/r/collaborative-canvas.json +1 -1
- package/public/r/collapsible-demo.json +1 -1
- package/public/r/combobox-autohighlight.json +1 -1
- package/public/r/combobox-controlled.json +1 -1
- package/public/r/combobox-create-new.json +1 -1
- package/public/r/combobox-demo.json +1 -1
- package/public/r/combobox-disabled.json +1 -1
- package/public/r/combobox-fixed-width.json +1 -1
- package/public/r/combobox-form.json +1 -1
- package/public/r/combobox-grouped.json +1 -1
- package/public/r/combobox-lg.json +1 -1
- package/public/r/combobox-multiple-form.json +1 -1
- package/public/r/combobox-multiple.json +1 -1
- package/public/r/combobox-sm.json +1 -1
- package/public/r/combobox-with-clear.json +1 -1
- package/public/r/combobox-with-inner-input.json +1 -1
- package/public/r/combobox-with-label.json +1 -1
- package/public/r/command.json +18 -0
- package/public/r/comp-01.json +22 -0
- package/public/r/comp-02.json +23 -0
- package/public/r/comp-03.json +23 -0
- package/public/r/comp-04.json +23 -0
- package/public/r/comp-05.json +22 -0
- package/public/r/comp-06.json +23 -0
- package/public/r/comp-07.json +22 -0
- package/public/r/comp-08.json +23 -0
- package/public/r/comp-09.json +22 -0
- package/public/r/comp-10.json +22 -0
- package/public/r/comp-100.json +23 -0
- package/public/r/comp-101.json +23 -0
- package/public/r/comp-102.json +23 -0
- package/public/r/comp-103.json +23 -0
- package/public/r/comp-104.json +23 -0
- package/public/r/comp-105.json +23 -0
- package/public/r/comp-106.json +22 -0
- package/public/r/comp-107.json +22 -0
- package/public/r/comp-108.json +23 -0
- package/public/r/comp-109.json +22 -0
- package/public/r/comp-11.json +22 -0
- package/public/r/comp-110.json +22 -0
- package/public/r/comp-111.json +21 -0
- package/public/r/comp-112.json +21 -0
- package/public/r/comp-113.json +22 -0
- package/public/r/comp-114.json +23 -0
- package/public/r/comp-115.json +22 -0
- package/public/r/comp-116.json +22 -0
- package/public/r/comp-117.json +23 -0
- package/public/r/comp-118.json +23 -0
- package/public/r/comp-119.json +27 -0
- package/public/r/comp-12.json +22 -0
- package/public/r/comp-120.json +27 -0
- package/public/r/comp-121.json +27 -0
- package/public/r/comp-122.json +27 -0
- package/public/r/comp-123.json +22 -0
- package/public/r/comp-124.json +22 -0
- package/public/r/comp-125.json +31 -0
- package/public/r/comp-126.json +31 -0
- package/public/r/comp-127.json +21 -0
- package/public/r/comp-128.json +21 -0
- package/public/r/comp-129.json +24 -0
- package/public/r/comp-13.json +22 -0
- package/public/r/comp-130.json +23 -0
- package/public/r/comp-131.json +23 -0
- package/public/r/comp-132.json +23 -0
- package/public/r/comp-133.json +23 -0
- package/public/r/comp-134.json +23 -0
- package/public/r/comp-135.json +24 -0
- package/public/r/comp-136.json +23 -0
- package/public/r/comp-137.json +23 -0
- package/public/r/comp-138.json +25 -0
- package/public/r/comp-139.json +23 -0
- package/public/r/comp-14.json +22 -0
- package/public/r/comp-140.json +23 -0
- package/public/r/comp-141.json +23 -0
- package/public/r/comp-142.json +25 -0
- package/public/r/comp-143.json +23 -0
- package/public/r/comp-144.json +24 -0
- package/public/r/comp-145.json +24 -0
- package/public/r/comp-146.json +24 -0
- package/public/r/comp-147.json +24 -0
- package/public/r/comp-148.json +25 -0
- package/public/r/comp-149.json +24 -0
- package/public/r/comp-15.json +22 -0
- package/public/r/comp-150.json +21 -0
- package/public/r/comp-151.json +23 -0
- package/public/r/comp-152.json +23 -0
- package/public/r/comp-153.json +23 -0
- package/public/r/comp-154.json +23 -0
- package/public/r/comp-155.json +23 -0
- package/public/r/comp-156.json +25 -0
- package/public/r/comp-157.json +27 -0
- package/public/r/comp-158.json +24 -0
- package/public/r/comp-159.json +24 -0
- package/public/r/comp-16.json +22 -0
- package/public/r/comp-160.json +24 -0
- package/public/r/comp-161.json +24 -0
- package/public/r/comp-162.json +24 -0
- package/public/r/comp-163.json +28 -0
- package/public/r/comp-164.json +24 -0
- package/public/r/comp-165.json +24 -0
- package/public/r/comp-166.json +25 -0
- package/public/r/comp-167.json +24 -0
- package/public/r/comp-168.json +24 -0
- package/public/r/comp-169.json +23 -0
- package/public/r/comp-17.json +25 -0
- package/public/r/comp-170.json +25 -0
- package/public/r/comp-171.json +28 -0
- package/public/r/comp-172.json +23 -0
- package/public/r/comp-173.json +23 -0
- package/public/r/comp-174.json +23 -0
- package/public/r/comp-175.json +23 -0
- package/public/r/comp-176.json +23 -0
- package/public/r/comp-177.json +23 -0
- package/public/r/comp-178.json +23 -0
- package/public/r/comp-179.json +24 -0
- package/public/r/comp-18.json +25 -0
- package/public/r/comp-180.json +23 -0
- package/public/r/comp-181.json +25 -0
- package/public/r/comp-182.json +24 -0
- package/public/r/comp-183.json +25 -0
- package/public/r/comp-184.json +25 -0
- package/public/r/comp-185.json +24 -0
- package/public/r/comp-186.json +25 -0
- package/public/r/comp-187.json +25 -0
- package/public/r/comp-188.json +25 -0
- package/public/r/comp-189.json +23 -0
- package/public/r/comp-19.json +23 -0
- package/public/r/comp-190.json +23 -0
- package/public/r/comp-191.json +24 -0
- package/public/r/comp-192.json +23 -0
- package/public/r/comp-193.json +23 -0
- package/public/r/comp-194.json +24 -0
- package/public/r/comp-195.json +23 -0
- package/public/r/comp-196.json +24 -0
- package/public/r/comp-197.json +23 -0
- package/public/r/comp-198.json +23 -0
- package/public/r/comp-199.json +23 -0
- package/public/r/comp-20.json +23 -0
- package/public/r/comp-200.json +25 -0
- package/public/r/comp-201.json +22 -0
- package/public/r/comp-202.json +22 -0
- package/public/r/comp-203.json +23 -0
- package/public/r/comp-204.json +23 -0
- package/public/r/comp-205.json +23 -0
- package/public/r/comp-206.json +24 -0
- package/public/r/comp-207.json +23 -0
- package/public/r/comp-208.json +23 -0
- package/public/r/comp-209.json +23 -0
- package/public/r/comp-21.json +23 -0
- package/public/r/comp-210.json +24 -0
- package/public/r/comp-211.json +24 -0
- package/public/r/comp-212.json +23 -0
- package/public/r/comp-213.json +23 -0
- package/public/r/comp-214.json +23 -0
- package/public/r/comp-215.json +24 -0
- package/public/r/comp-216.json +22 -0
- package/public/r/comp-217.json +22 -0
- package/public/r/comp-218.json +25 -0
- package/public/r/comp-219.json +23 -0
- package/public/r/comp-22.json +23 -0
- package/public/r/comp-220.json +24 -0
- package/public/r/comp-221.json +23 -0
- package/public/r/comp-222.json +26 -0
- package/public/r/comp-223.json +26 -0
- package/public/r/comp-224.json +23 -0
- package/public/r/comp-225.json +24 -0
- package/public/r/comp-226.json +26 -0
- package/public/r/comp-227.json +26 -0
- package/public/r/comp-228.json +26 -0
- package/public/r/comp-229.json +30 -0
- package/public/r/comp-23.json +24 -0
- package/public/r/comp-230.json +30 -0
- package/public/r/comp-231.json +32 -0
- package/public/r/comp-232.json +31 -0
- package/public/r/comp-233.json +30 -0
- package/public/r/comp-234.json +28 -0
- package/public/r/comp-235.json +28 -0
- package/public/r/comp-236.json +24 -0
- package/public/r/comp-237.json +26 -0
- package/public/r/comp-238.json +26 -0
- package/public/r/comp-239.json +26 -0
- package/public/r/comp-24.json +23 -0
- package/public/r/comp-240.json +23 -0
- package/public/r/comp-241.json +24 -0
- package/public/r/comp-242.json +23 -0
- package/public/r/comp-243.json +23 -0
- package/public/r/comp-244.json +23 -0
- package/public/r/comp-245.json +23 -0
- package/public/r/comp-246.json +23 -0
- package/public/r/comp-247.json +23 -0
- package/public/r/comp-248.json +23 -0
- package/public/r/comp-249.json +24 -0
- package/public/r/comp-25.json +24 -0
- package/public/r/comp-250.json +25 -0
- package/public/r/comp-251.json +25 -0
- package/public/r/comp-252.json +25 -0
- package/public/r/comp-253.json +25 -0
- package/public/r/comp-254.json +35 -0
- package/public/r/comp-255.json +30 -0
- package/public/r/comp-256.json +25 -0
- package/public/r/comp-257.json +25 -0
- package/public/r/comp-258.json +32 -0
- package/public/r/comp-259.json +26 -0
- package/public/r/comp-26.json +24 -0
- package/public/r/comp-260.json +26 -0
- package/public/r/comp-261.json +24 -0
- package/public/r/comp-262.json +31 -0
- package/public/r/comp-263.json +25 -0
- package/public/r/comp-264.json +33 -0
- package/public/r/comp-265.json +32 -0
- package/public/r/comp-266.json +24 -0
- package/public/r/comp-267.json +19 -0
- package/public/r/comp-268.json +19 -0
- package/public/r/comp-269.json +19 -0
- package/public/r/comp-27.json +24 -0
- package/public/r/comp-270.json +19 -0
- package/public/r/comp-271.json +19 -0
- package/public/r/comp-272.json +19 -0
- package/public/r/comp-273.json +19 -0
- package/public/r/comp-274.json +19 -0
- package/public/r/comp-275.json +19 -0
- package/public/r/comp-276.json +19 -0
- package/public/r/comp-277.json +21 -0
- package/public/r/comp-278.json +21 -0
- package/public/r/comp-279.json +23 -0
- package/public/r/comp-28.json +24 -0
- package/public/r/comp-280.json +23 -0
- package/public/r/comp-281.json +23 -0
- package/public/r/comp-282.json +23 -0
- package/public/r/comp-283.json +23 -0
- package/public/r/comp-284.json +23 -0
- package/public/r/comp-285.json +23 -0
- package/public/r/comp-286.json +23 -0
- package/public/r/comp-287.json +24 -0
- package/public/r/comp-288.json +23 -0
- package/public/r/comp-289.json +24 -0
- package/public/r/comp-29.json +24 -0
- package/public/r/comp-290.json +24 -0
- package/public/r/comp-291.json +24 -0
- package/public/r/comp-292.json +24 -0
- package/public/r/comp-293.json +26 -0
- package/public/r/comp-294.json +24 -0
- package/public/r/comp-295.json +23 -0
- package/public/r/comp-296.json +23 -0
- package/public/r/comp-297.json +30 -0
- package/public/r/comp-298.json +26 -0
- package/public/r/comp-299.json +28 -0
- package/public/r/comp-30.json +23 -0
- package/public/r/comp-300.json +29 -0
- package/public/r/comp-301.json +24 -0
- package/public/r/comp-302.json +18 -0
- package/public/r/comp-303.json +18 -0
- package/public/r/comp-304.json +18 -0
- package/public/r/comp-305.json +21 -0
- package/public/r/comp-306.json +21 -0
- package/public/r/comp-307.json +21 -0
- package/public/r/comp-308.json +21 -0
- package/public/r/comp-309.json +21 -0
- package/public/r/comp-31.json +21 -0
- package/public/r/comp-310.json +23 -0
- package/public/r/comp-311.json +20 -0
- package/public/r/comp-312.json +21 -0
- package/public/r/comp-313.json +26 -0
- package/public/r/comp-314.json +26 -0
- package/public/r/comp-315.json +24 -0
- package/public/r/comp-316.json +25 -0
- package/public/r/comp-317.json +24 -0
- package/public/r/comp-318.json +24 -0
- package/public/r/comp-319.json +24 -0
- package/public/r/comp-32.json +21 -0
- package/public/r/comp-320.json +27 -0
- package/public/r/comp-321.json +28 -0
- package/public/r/comp-322.json +27 -0
- package/public/r/comp-323.json +30 -0
- package/public/r/comp-324.json +28 -0
- package/public/r/comp-325.json +29 -0
- package/public/r/comp-326.json +30 -0
- package/public/r/comp-327.json +30 -0
- package/public/r/comp-328.json +37 -0
- package/public/r/comp-329.json +38 -0
- package/public/r/comp-33.json +18 -0
- package/public/r/comp-330.json +27 -0
- package/public/r/comp-331.json +42 -0
- package/public/r/comp-332.json +25 -0
- package/public/r/comp-333.json +29 -0
- package/public/r/comp-334.json +22 -0
- package/public/r/comp-335.json +22 -0
- package/public/r/comp-336.json +22 -0
- package/public/r/comp-337.json +22 -0
- package/public/r/comp-338.json +22 -0
- package/public/r/comp-339.json +22 -0
- package/public/r/comp-34.json +27 -0
- package/public/r/comp-340.json +22 -0
- package/public/r/comp-341.json +22 -0
- package/public/r/comp-342.json +22 -0
- package/public/r/comp-343.json +22 -0
- package/public/r/comp-344.json +22 -0
- package/public/r/comp-345.json +22 -0
- package/public/r/comp-346.json +22 -0
- package/public/r/comp-347.json +22 -0
- package/public/r/comp-348.json +22 -0
- package/public/r/comp-349.json +22 -0
- package/public/r/comp-35.json +27 -0
- package/public/r/comp-350.json +22 -0
- package/public/r/comp-351.json +22 -0
- package/public/r/comp-352.json +24 -0
- package/public/r/comp-353.json +24 -0
- package/public/r/comp-354.json +23 -0
- package/public/r/comp-355.json +23 -0
- package/public/r/comp-356.json +23 -0
- package/public/r/comp-357.json +23 -0
- package/public/r/comp-358.json +23 -0
- package/public/r/comp-359.json +24 -0
- package/public/r/comp-36.json +26 -0
- package/public/r/comp-360.json +25 -0
- package/public/r/comp-361.json +23 -0
- package/public/r/comp-362.json +24 -0
- package/public/r/comp-363.json +27 -0
- package/public/r/comp-364.json +26 -0
- package/public/r/comp-365.json +24 -0
- package/public/r/comp-366.json +23 -0
- package/public/r/comp-367.json +23 -0
- package/public/r/comp-368.json +23 -0
- package/public/r/comp-369.json +23 -0
- package/public/r/comp-37.json +23 -0
- package/public/r/comp-370.json +23 -0
- package/public/r/comp-371.json +24 -0
- package/public/r/comp-372.json +24 -0
- package/public/r/comp-373.json +25 -0
- package/public/r/comp-374.json +26 -0
- package/public/r/comp-375.json +25 -0
- package/public/r/comp-376.json +26 -0
- package/public/r/comp-377.json +27 -0
- package/public/r/comp-378.json +24 -0
- package/public/r/comp-379.json +24 -0
- package/public/r/comp-38.json +23 -0
- package/public/r/comp-380.json +24 -0
- package/public/r/comp-381.json +26 -0
- package/public/r/comp-382.json +25 -0
- package/public/r/comp-383.json +26 -0
- package/public/r/comp-384.json +24 -0
- package/public/r/comp-385.json +24 -0
- package/public/r/comp-386.json +24 -0
- package/public/r/comp-387.json +28 -0
- package/public/r/comp-388.json +26 -0
- package/public/r/comp-389.json +24 -0
- package/public/r/comp-39.json +23 -0
- package/public/r/comp-390.json +23 -0
- package/public/r/comp-391.json +23 -0
- package/public/r/comp-392.json +23 -0
- package/public/r/comp-393.json +23 -0
- package/public/r/comp-394.json +24 -0
- package/public/r/comp-395.json +24 -0
- package/public/r/comp-396.json +24 -0
- package/public/r/comp-397.json +25 -0
- package/public/r/comp-398.json +26 -0
- package/public/r/comp-399.json +26 -0
- package/public/r/comp-40.json +23 -0
- package/public/r/comp-400.json +20 -0
- package/public/r/comp-401.json +19 -0
- package/public/r/comp-402.json +19 -0
- package/public/r/comp-403.json +19 -0
- package/public/r/comp-404.json +19 -0
- package/public/r/comp-405.json +19 -0
- package/public/r/comp-406.json +19 -0
- package/public/r/comp-407.json +19 -0
- package/public/r/comp-408.json +19 -0
- package/public/r/comp-409.json +22 -0
- package/public/r/comp-41.json +29 -0
- package/public/r/comp-410.json +22 -0
- package/public/r/comp-411.json +22 -0
- package/public/r/comp-412.json +19 -0
- package/public/r/comp-413.json +22 -0
- package/public/r/comp-414.json +22 -0
- package/public/r/comp-415.json +22 -0
- package/public/r/comp-416.json +23 -0
- package/public/r/comp-417.json +22 -0
- package/public/r/comp-418.json +23 -0
- package/public/r/comp-419.json +23 -0
- package/public/r/comp-42.json +30 -0
- package/public/r/comp-420.json +23 -0
- package/public/r/comp-421.json +23 -0
- package/public/r/comp-422.json +23 -0
- package/public/r/comp-423.json +24 -0
- package/public/r/comp-424.json +22 -0
- package/public/r/comp-425.json +23 -0
- package/public/r/comp-426.json +23 -0
- package/public/r/comp-427.json +23 -0
- package/public/r/comp-428.json +23 -0
- package/public/r/comp-429.json +23 -0
- package/public/r/comp-43.json +32 -0
- package/public/r/comp-430.json +23 -0
- package/public/r/comp-431.json +23 -0
- package/public/r/comp-432.json +23 -0
- package/public/r/comp-433.json +24 -0
- package/public/r/comp-434.json +24 -0
- package/public/r/comp-435.json +24 -0
- package/public/r/comp-436.json +24 -0
- package/public/r/comp-437.json +25 -0
- package/public/r/comp-438.json +23 -0
- package/public/r/comp-439.json +24 -0
- package/public/r/comp-44.json +25 -0
- package/public/r/comp-440.json +25 -0
- package/public/r/comp-441.json +25 -0
- package/public/r/comp-442.json +24 -0
- package/public/r/comp-443.json +24 -0
- package/public/r/comp-444.json +24 -0
- package/public/r/comp-445.json +24 -0
- package/public/r/comp-446.json +24 -0
- package/public/r/comp-447.json +25 -0
- package/public/r/comp-448.json +23 -0
- package/public/r/comp-449.json +23 -0
- package/public/r/comp-45.json +25 -0
- package/public/r/comp-450.json +23 -0
- package/public/r/comp-451.json +23 -0
- package/public/r/comp-452.json +23 -0
- package/public/r/comp-453.json +25 -0
- package/public/r/comp-454.json +22 -0
- package/public/r/comp-455.json +22 -0
- package/public/r/comp-456.json +22 -0
- package/public/r/comp-457.json +21 -0
- package/public/r/comp-458.json +22 -0
- package/public/r/comp-459.json +26 -0
- package/public/r/comp-46.json +26 -0
- package/public/r/comp-460.json +26 -0
- package/public/r/comp-461.json +27 -0
- package/public/r/comp-462.json +27 -0
- package/public/r/comp-463.json +30 -0
- package/public/r/comp-464.json +29 -0
- package/public/r/comp-465.json +29 -0
- package/public/r/comp-466.json +21 -0
- package/public/r/comp-467.json +23 -0
- package/public/r/comp-468.json +21 -0
- package/public/r/comp-469.json +21 -0
- package/public/r/comp-47.json +32 -0
- package/public/r/comp-470.json +21 -0
- package/public/r/comp-471.json +21 -0
- package/public/r/comp-472.json +23 -0
- package/public/r/comp-473.json +24 -0
- package/public/r/comp-474.json +22 -0
- package/public/r/comp-475.json +22 -0
- package/public/r/comp-476.json +21 -0
- package/public/r/comp-477.json +31 -0
- package/public/r/comp-478.json +36 -0
- package/public/r/comp-479.json +28 -0
- package/public/r/comp-48.json +32 -0
- package/public/r/comp-480.json +30 -0
- package/public/r/comp-481.json +34 -0
- package/public/r/comp-482.json +33 -0
- package/public/r/comp-483.json +37 -0
- package/public/r/comp-484.json +41 -0
- package/public/r/comp-485.json +43 -0
- package/public/r/comp-486.json +23 -0
- package/public/r/comp-487.json +26 -0
- package/public/r/comp-488.json +27 -0
- package/public/r/comp-489.json +28 -0
- package/public/r/comp-49.json +32 -0
- package/public/r/comp-490.json +23 -0
- package/public/r/comp-491.json +24 -0
- package/public/r/comp-492.json +25 -0
- package/public/r/comp-493.json +23 -0
- package/public/r/comp-494.json +23 -0
- package/public/r/comp-495.json +24 -0
- package/public/r/comp-496.json +23 -0
- package/public/r/comp-497.json +24 -0
- package/public/r/comp-498.json +24 -0
- package/public/r/comp-499.json +24 -0
- package/public/r/comp-50.json +32 -0
- package/public/r/comp-500.json +25 -0
- package/public/r/comp-501.json +25 -0
- package/public/r/comp-502.json +26 -0
- package/public/r/comp-503.json +27 -0
- package/public/r/comp-504.json +28 -0
- package/public/r/comp-505.json +28 -0
- package/public/r/comp-506.json +26 -0
- package/public/r/comp-507.json +27 -0
- package/public/r/comp-508.json +25 -0
- package/public/r/comp-509.json +25 -0
- package/public/r/comp-51.json +23 -0
- package/public/r/comp-510.json +24 -0
- package/public/r/comp-511.json +27 -0
- package/public/r/comp-512.json +27 -0
- package/public/r/comp-513.json +21 -0
- package/public/r/comp-514.json +21 -0
- package/public/r/comp-515.json +21 -0
- package/public/r/comp-516.json +22 -0
- package/public/r/comp-517.json +22 -0
- package/public/r/comp-518.json +21 -0
- package/public/r/comp-519.json +21 -0
- package/public/r/comp-52.json +23 -0
- package/public/r/comp-520.json +22 -0
- package/public/r/comp-521.json +22 -0
- package/public/r/comp-522.json +21 -0
- package/public/r/comp-523.json +21 -0
- package/public/r/comp-524.json +21 -0
- package/public/r/comp-525.json +21 -0
- package/public/r/comp-526.json +22 -0
- package/public/r/comp-527.json +23 -0
- package/public/r/comp-528.json +22 -0
- package/public/r/comp-529.json +22 -0
- package/public/r/comp-53.json +24 -0
- package/public/r/comp-530.json +22 -0
- package/public/r/comp-531.json +22 -0
- package/public/r/comp-532.json +22 -0
- package/public/r/comp-533.json +22 -0
- package/public/r/comp-534.json +22 -0
- package/public/r/comp-535.json +22 -0
- package/public/r/comp-536.json +22 -0
- package/public/r/comp-537.json +22 -0
- package/public/r/comp-538.json +22 -0
- package/public/r/comp-539.json +22 -0
- package/public/r/comp-54.json +26 -0
- package/public/r/comp-540.json +21 -0
- package/public/r/comp-541.json +21 -0
- package/public/r/comp-542.json +124 -0
- package/public/r/comp-543.json +29 -0
- package/public/r/comp-544.json +26 -0
- package/public/r/comp-545.json +29 -0
- package/public/r/comp-546.json +29 -0
- package/public/r/comp-547.json +29 -0
- package/public/r/comp-548.json +29 -0
- package/public/r/comp-549.json +29 -0
- package/public/r/comp-55.json +27 -0
- package/public/r/comp-550.json +29 -0
- package/public/r/comp-551.json +30 -0
- package/public/r/comp-552.json +29 -0
- package/public/r/comp-553.json +29 -0
- package/public/r/comp-554.json +36 -0
- package/public/r/comp-555.json +23 -0
- package/public/r/comp-556.json +23 -0
- package/public/r/comp-557.json +23 -0
- package/public/r/comp-558.json +23 -0
- package/public/r/comp-559.json +23 -0
- package/public/r/comp-56.json +26 -0
- package/public/r/comp-560.json +23 -0
- package/public/r/comp-561.json +25 -0
- package/public/r/comp-562.json +23 -0
- package/public/r/comp-563.json +23 -0
- package/public/r/comp-564.json +24 -0
- package/public/r/comp-565.json +20 -0
- package/public/r/comp-566.json +20 -0
- package/public/r/comp-567.json +20 -0
- package/public/r/comp-568.json +20 -0
- package/public/r/comp-569.json +20 -0
- package/public/r/comp-57.json +26 -0
- package/public/r/comp-570.json +20 -0
- package/public/r/comp-571.json +23 -0
- package/public/r/comp-572.json +23 -0
- package/public/r/comp-573.json +20 -0
- package/public/r/comp-574.json +22 -0
- package/public/r/comp-575.json +20 -0
- package/public/r/comp-576.json +21 -0
- package/public/r/comp-577.json +23 -0
- package/public/r/comp-578.json +28 -0
- package/public/r/comp-579.json +28 -0
- package/public/r/comp-58.json +25 -0
- package/public/r/comp-580.json +29 -0
- package/public/r/comp-581.json +45 -0
- package/public/r/comp-582.json +42 -0
- package/public/r/comp-583.json +41 -0
- package/public/r/comp-584.json +41 -0
- package/public/r/comp-585.json +41 -0
- package/public/r/comp-586.json +34 -0
- package/public/r/comp-587.json +29 -0
- package/public/r/comp-588.json +33 -0
- package/public/r/comp-589.json +37 -0
- package/public/r/comp-59.json +22 -0
- package/public/r/comp-590.json +40 -0
- package/public/r/comp-591.json +29 -0
- package/public/r/comp-592.json +41 -0
- package/public/r/comp-593.json +36 -0
- package/public/r/comp-594.json +33 -0
- package/public/r/comp-595.json +22 -0
- package/public/r/comp-596.json +26 -0
- package/public/r/comp-597.json +22 -0
- package/public/r/comp-598.json +22 -0
- package/public/r/comp-599.json +22 -0
- package/public/r/comp-60.json +23 -0
- package/public/r/comp-600.json +17 -0
- package/public/r/comp-601.json +20 -0
- package/public/r/comp-602.json +17 -0
- package/public/r/comp-603.json +20 -0
- package/public/r/comp-604.json +17 -0
- package/public/r/comp-605.json +17 -0
- package/public/r/comp-606.json +20 -0
- package/public/r/comp-607.json +20 -0
- package/public/r/comp-608.json +20 -0
- package/public/r/comp-609.json +20 -0
- package/public/r/comp-61.json +23 -0
- package/public/r/comp-610.json +23 -0
- package/public/r/comp-611.json +23 -0
- package/public/r/comp-612.json +17 -0
- package/public/r/comp-613.json +20 -0
- package/public/r/comp-614.json +17 -0
- package/public/r/comp-615.json +26 -0
- package/public/r/comp-616.json +26 -0
- package/public/r/comp-617.json +26 -0
- package/public/r/comp-62.json +23 -0
- package/public/r/comp-63.json +22 -0
- package/public/r/comp-64.json +23 -0
- package/public/r/comp-65.json +22 -0
- package/public/r/comp-66.json +22 -0
- package/public/r/comp-67.json +23 -0
- package/public/r/comp-68.json +24 -0
- package/public/r/comp-69.json +24 -0
- package/public/r/comp-70.json +24 -0
- package/public/r/comp-71.json +22 -0
- package/public/r/comp-72.json +21 -0
- package/public/r/comp-73.json +18 -0
- package/public/r/comp-74.json +27 -0
- package/public/r/comp-75.json +22 -0
- package/public/r/comp-76.json +23 -0
- package/public/r/comp-77.json +22 -0
- package/public/r/comp-78.json +21 -0
- package/public/r/comp-79.json +22 -0
- package/public/r/comp-80.json +21 -0
- package/public/r/comp-81.json +21 -0
- package/public/r/comp-82.json +22 -0
- package/public/r/comp-83.json +21 -0
- package/public/r/comp-84.json +21 -0
- package/public/r/comp-85.json +22 -0
- package/public/r/comp-86.json +22 -0
- package/public/r/comp-87.json +21 -0
- package/public/r/comp-88.json +22 -0
- package/public/r/comp-89.json +21 -0
- package/public/r/comp-90.json +22 -0
- package/public/r/comp-91.json +22 -0
- package/public/r/comp-92.json +22 -0
- package/public/r/comp-93.json +22 -0
- package/public/r/comp-94.json +24 -0
- package/public/r/comp-95.json +26 -0
- package/public/r/comp-96.json +21 -0
- package/public/r/comp-97.json +21 -0
- package/public/r/comp-98.json +22 -0
- package/public/r/comp-99.json +23 -0
- package/public/r/comparison-event-handlers.json +1 -1
- package/public/r/comparison-hover.json +1 -1
- package/public/r/comparison.json +1 -1
- package/public/r/context-menu.json +16 -0
- package/public/r/contribution-graph-custom-footer.json +1 -1
- package/public/r/credit-card-apple.json +1 -1
- package/public/r/credit-card-back.json +1 -1
- package/public/r/credit-card.json +1 -1
- package/public/r/cropper.json +15 -0
- package/public/r/cursor-color.json +1 -1
- package/public/r/cursor-message.json +1 -1
- package/public/r/cursor-name-message.json +1 -1
- package/public/r/cursor-name.json +1 -1
- package/public/r/cursor.json +1 -1
- package/public/r/dashboard-1.json +263 -0
- package/public/r/dashboard-2.json +264 -0
- package/public/r/dashboard-3.json +225 -0
- package/public/r/datefield-rac.json +15 -0
- package/public/r/deck-controlled.json +1 -1
- package/public/r/deck-product-cards.json +1 -1
- package/public/r/deck.json +1 -1
- package/public/r/dialog-close-confirmation.json +1 -1
- package/public/r/dialog-demo.json +1 -1
- package/public/r/dialog-from-menu.json +1 -1
- package/public/r/dialog-nested.json +1 -1
- package/public/r/dialog-stack-controlled.json +1 -1
- package/public/r/dialog-stack-navigation.json +1 -1
- package/public/r/dialog-stack-six.json +1 -1
- package/public/r/dialog-stack.json +1 -1
- package/public/r/dropdown-menu.json +15 -0
- package/public/r/dropzone-custom-empty-state.json +1 -1
- package/public/r/dropzone-image-preview.json +1 -1
- package/public/r/editor.json +1 -1
- package/public/r/emails.json +243 -0
- package/public/r/empty-demo.json +1 -1
- package/public/r/example-app-calendar.json +323 -0
- package/public/r/field-2.json +19 -0
- package/public/r/field-autocomplete.json +1 -1
- package/public/r/field-checkbox-group.json +1 -1
- package/public/r/field-checkbox.json +1 -1
- package/public/r/field-combobox-multiple.json +1 -1
- package/public/r/field-combobox.json +1 -1
- package/public/r/field-complete-form.json +1 -1
- package/public/r/field-demo.json +1 -1
- package/public/r/field-disabled.json +1 -1
- package/public/r/field-error.json +1 -1
- package/public/r/field-number-field.json +1 -1
- package/public/r/field-radio.json +1 -1
- package/public/r/field-required.json +1 -1
- package/public/r/field-select.json +1 -1
- package/public/r/field-slider.json +1 -1
- package/public/r/field-switch.json +1 -1
- package/public/r/field-textarea.json +1 -1
- package/public/r/field-validity.json +1 -1
- package/public/r/fieldset-demo.json +1 -1
- package/public/r/files.json +195 -0
- package/public/r/form-demo.json +1 -1
- package/public/r/form-zod.json +1 -1
- package/public/r/form.json +1 -1
- package/public/r/frame-demo.json +1 -1
- package/public/r/gantt-lanes.json +1 -1
- package/public/r/gantt-no-sidebar.json +1 -1
- package/public/r/gantt-read-only.json +1 -1
- package/public/r/gantt.json +1 -1
- package/public/r/glimpse-custom.json +1 -1
- package/public/r/glimpse.json +1 -1
- package/public/r/gooey-toast-demo.json +1 -1
- package/public/r/gooey-toast-promise.json +1 -1
- package/public/r/gooey-toast-states.json +1 -1
- package/public/r/gooey-toast-with-button.json +1 -1
- package/public/r/group-demo.json +1 -1
- package/public/r/group-with-input.json +1 -1
- package/public/r/hero.json +1 -1
- package/public/r/hover-card.json +15 -0
- package/public/r/image-crop-circular.json +1 -1
- package/public/r/image-crop-custom.json +1 -1
- package/public/r/image-crop.json +1 -1
- package/public/r/image-zoom-background.json +1 -1
- package/public/r/image-zoom-margin.json +1 -1
- package/public/r/image-zoom.json +1 -1
- package/public/r/input-demo.json +1 -1
- package/public/r/input-disabled.json +1 -1
- package/public/r/input-file.json +1 -1
- package/public/r/input-group.json +20 -0
- package/public/r/input-lg.json +1 -1
- package/public/r/input-sm.json +1 -1
- package/public/r/input-with-button.json +1 -1
- package/public/r/input-with-label.json +1 -1
- package/public/r/kanban-simple.json +1 -1
- package/public/r/kanban.json +1 -1
- package/public/r/kbd.json +12 -0
- package/public/r/leads.json +271 -0
- package/public/r/list-simple.json +1 -1
- package/public/r/list.json +1 -1
- package/public/r/maps.json +188 -0
- package/public/r/menu-checkbox.json +1 -1
- package/public/r/menu-close-on-click.json +1 -1
- package/public/r/menu-demo.json +1 -1
- package/public/r/menu-group-labels.json +1 -1
- package/public/r/menu-hover.json +1 -1
- package/public/r/menu-link.json +1 -1
- package/public/r/menu-nested.json +1 -1
- package/public/r/menu-radio-group.json +1 -1
- package/public/r/meter-demo.json +1 -1
- package/public/r/meter-with-formatted-value.json +1 -1
- package/public/r/meter-with-range.json +1 -1
- package/public/r/mini-calendar-controlled.json +1 -1
- package/public/r/multiselect.json +15 -0
- package/public/r/navigation-menu.json +12 -0
- package/public/r/number-field-form.json +1 -1
- package/public/r/number-field-with-label.json +1 -1
- package/public/r/number-field-with-scrub.json +1 -1
- package/public/r/number-field-with-step.json +1 -1
- package/public/r/pill-avatar-group.json +1 -1
- package/public/r/pill-delta.json +1 -1
- package/public/r/pill-icon.json +1 -1
- package/public/r/pill-indicator.json +1 -1
- package/public/r/pill-status.json +1 -1
- package/public/r/pill.json +1 -1
- package/public/r/popover-demo.json +1 -1
- package/public/r/popover-with-close.json +1 -1
- package/public/r/preview-card-demo.json +1 -1
- package/public/r/pricing.json +1 -1
- package/public/r/progress-with-formatted-value.json +1 -1
- package/public/r/progress-with-label-value.json +1 -1
- package/public/r/radio-group-card.json +1 -1
- package/public/r/radio-group-demo.json +1 -1
- package/public/r/radio-group-disabled.json +1 -1
- package/public/r/radio-group-form.json +1 -1
- package/public/r/radio-group-with-description.json +1 -1
- package/public/r/reel-custom.json +1 -1
- package/public/r/reel-images.json +1 -1
- package/public/r/reel-minimal.json +1 -1
- package/public/r/reel.json +1 -1
- package/public/r/registry.json +18217 -0
- package/public/r/relative-time-controlled.json +1 -1
- package/public/r/relative-time-format-date.json +1 -1
- package/public/r/relative-time-format-time.json +1 -1
- package/public/r/relative-time.json +1 -1
- package/public/r/rentals.json +187 -0
- package/public/r/roadmap.json +1 -1
- package/public/r/sandbox-no-file-explorer.json +1 -1
- package/public/r/sandbox.json +1 -1
- package/public/r/scroll-area-both.json +1 -1
- package/public/r/scroll-area-demo.json +1 -1
- package/public/r/scroll-area-horizontal.json +1 -1
- package/public/r/select-demo.json +1 -1
- package/public/r/select-disabled.json +1 -1
- package/public/r/select-form.json +1 -1
- package/public/r/select-lg.json +1 -1
- package/public/r/select-native.json +12 -0
- package/public/r/select-sm.json +1 -1
- package/public/r/select-with-groups.json +1 -1
- package/public/r/select-without-alignment.json +1 -1
- package/public/r/select.json +1 -1
- package/public/r/separator-demo.json +1 -1
- package/public/r/sheet-demo.json +1 -1
- package/public/r/sheet-position.json +1 -1
- package/public/r/sidebar-nav.json +22 -0
- package/public/r/skeleton-demo.json +1 -1
- package/public/r/skeleton.json +1 -1
- package/public/r/slider-form.json +1 -1
- package/public/r/slider-with-label-value.json +1 -1
- package/public/r/sonner.json +16 -0
- package/public/r/stats-card.json +22 -0
- package/public/r/status-custom.json +1 -1
- package/public/r/stepper.json +15 -0
- package/public/r/stories-images.json +1 -1
- package/public/r/switch-card.json +1 -1
- package/public/r/switch-demo.json +1 -1
- package/public/r/switch-disabled.json +1 -1
- package/public/r/switch-form.json +1 -1
- package/public/r/switch-with-description.json +1 -1
- package/public/r/table-demo.json +1 -1
- package/public/r/table-framed.json +1 -1
- package/public/r/table-simple.json +1 -1
- package/public/r/table.json +1 -1
- package/public/r/tabs-demo.json +1 -1
- package/public/r/tabs-underline-vertical.json +1 -1
- package/public/r/tabs-underline.json +1 -1
- package/public/r/tabs-vertical.json +1 -1
- package/public/r/tags-create.json +1 -1
- package/public/r/tags-filter.json +1 -1
- package/public/r/tags.json +1 -1
- package/public/r/template-auth-eight.json +28 -0
- package/public/r/template-auth-five.json +28 -0
- package/public/r/template-auth-four.json +29 -0
- package/public/r/template-auth-nine.json +28 -0
- package/public/r/template-auth-one.json +49 -0
- package/public/r/template-auth-seven.json +29 -0
- package/public/r/template-auth-six.json +28 -0
- package/public/r/template-auth-three.json +49 -0
- package/public/r/template-auth-two.json +44 -0
- package/public/r/template-hero-eight.json +83 -0
- package/public/r/template-hero-eleven.json +29 -0
- package/public/r/template-hero-five.json +35 -0
- package/public/r/template-hero-four.json +35 -0
- package/public/r/template-hero-fourteen.json +101 -0
- package/public/r/template-hero-nine.json +74 -0
- package/public/r/template-hero-one.json +90 -0
- package/public/r/template-hero-seven.json +83 -0
- package/public/r/template-hero-six.json +83 -0
- package/public/r/template-hero-ten.json +77 -0
- package/public/r/template-hero-thirteen.json +101 -0
- package/public/r/template-hero-three.json +35 -0
- package/public/r/template-hero-twelve.json +30 -0
- package/public/r/template-hero-two.json +96 -0
- package/public/r/template-logo-cloud-five.json +68 -0
- package/public/r/template-logo-cloud-four.json +71 -0
- package/public/r/template-logo-cloud-one.json +89 -0
- package/public/r/template-logo-cloud-three.json +71 -0
- package/public/r/template-logo-cloud-two.json +74 -0
- package/public/r/textarea-demo.json +1 -1
- package/public/r/textarea-disabled.json +1 -1
- package/public/r/textarea-form.json +1 -1
- package/public/r/textarea-lg.json +1 -1
- package/public/r/textarea-sm.json +1 -1
- package/public/r/textarea-with-label.json +1 -1
- package/public/r/ticker-inline.json +1 -1
- package/public/r/timeline.json +15 -0
- package/public/r/toast-demo.json +1 -1
- package/public/r/toast-heights.json +1 -1
- package/public/r/toast-loading.json +1 -1
- package/public/r/toast-promise.json +1 -1
- package/public/r/toast-with-action.json +1 -1
- package/public/r/toast-with-status.json +1 -1
- package/public/r/toggle-demo.json +1 -1
- package/public/r/toggle-disabled.json +1 -1
- package/public/r/toggle-group-demo.json +1 -1
- package/public/r/toggle-group-disabled.json +1 -1
- package/public/r/toggle-group-lg.json +1 -1
- package/public/r/toggle-group-multiple.json +1 -1
- package/public/r/toggle-group-outline-with-separator.json +1 -1
- package/public/r/toggle-group-outline.json +1 -1
- package/public/r/toggle-group-sm.json +1 -1
- package/public/r/toggle-group-with-disabled-item.json +1 -1
- package/public/r/toggle-icon-group.json +1 -1
- package/public/r/toggle-lg.json +1 -1
- package/public/r/toggle-outline.json +1 -1
- package/public/r/toggle-sm.json +1 -1
- package/public/r/toggle-with-icon.json +1 -1
- package/public/r/toolbar-demo.json +1 -1
- package/public/r/tooltip-demo.json +1 -1
- package/public/r/tooltip-grouped.json +1 -1
- package/public/r/tree-controlled.json +1 -1
- package/public/r/tree-custom-icons.json +1 -1
- package/public/r/tree-no-lines.json +1 -1
- package/public/r/tree-simple.json +1 -1
- package/public/r/tree.json +1 -1
- package/public/r/typography.json +1 -1
- package/public/r/ui.json +5 -0
- package/public/r/use-character-limit.json +12 -0
- package/public/r/use-file-upload.json +12 -0
- package/public/r/use-pagination.json +12 -0
- package/public/r/use-slider-with-input.json +12 -0
- package/public/r/use-toast.json +12 -0
- package/public/r/utils.json +16 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-522",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-522.tsx",
|
|
11
|
+
"content": "import {\n Stepper,\n StepperDescription,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [\n {\n step: 1,\n title: \"Step One\",\n description: \"Desc for step one\",\n },\n {\n step: 2,\n title: \"Step Two\",\n description: \"Desc for step two\",\n },\n {\n step: 3,\n title: \"Step Three\",\n description: \"Desc for step three\",\n },\n]\n\nexport default function Component() {\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper defaultValue={2}>\n {steps.map(({ step, title, description }) => (\n <StepperItem\n key={step}\n step={step}\n className=\"relative flex-1 flex-col!\"\n >\n <StepperTrigger className=\"flex-col gap-3 rounded\">\n <StepperIndicator />\n <div className=\"space-y-0.5 px-2\">\n <StepperTitle>{title}</StepperTitle>\n <StepperDescription className=\"max-sm:hidden\">\n {description}\n </StepperDescription>\n </div>\n </StepperTrigger>\n {step < steps.length && (\n <StepperSeparator className=\"absolute inset-x-0 top-3 left-[calc(50%+0.75rem+0.125rem)] -order-1 m-0 -translate-y-1/2 group-data-[orientation=horizontal]/stepper:w-[calc(100%-1.5rem-0.25rem)] group-data-[orientation=horizontal]/stepper:flex-none\" />\n )}\n </StepperItem>\n ))}\n </Stepper>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Stepper with titles and descriptions\n </p>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"stepper"
|
|
18
|
+
],
|
|
19
|
+
"colSpan": 3
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-523",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-523.tsx",
|
|
11
|
+
"content": "import {\n Stepper,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [\n {\n step: 1,\n title: \"Step One\",\n },\n {\n step: 2,\n title: \"Step Two\",\n },\n {\n step: 3,\n title: \"Step Three\",\n },\n]\n\nexport default function Component() {\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper defaultValue={2}>\n {steps.map(({ step, title }) => (\n <StepperItem\n key={step}\n step={step}\n className=\"not-last:flex-1 max-md:items-start\"\n >\n <StepperTrigger className=\"rounded max-md:flex-col\">\n <StepperIndicator />\n <div className=\"text-center md:text-left\">\n <StepperTitle>{title}</StepperTitle>\n </div>\n </StepperTrigger>\n {step < steps.length && (\n <StepperSeparator className=\"max-md:mt-3.5 md:mx-4\" />\n )}\n </StepperItem>\n ))}\n </Stepper>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Stepper with inline titles\n </p>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"stepper"
|
|
18
|
+
],
|
|
19
|
+
"colSpan": 3
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-524",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-524.tsx",
|
|
11
|
+
"content": "import {\n Stepper,\n StepperDescription,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [\n {\n step: 1,\n title: \"Step One\",\n description: \"Desc for step one\",\n },\n {\n step: 2,\n title: \"Step Two\",\n description: \"Desc for step two\",\n },\n {\n step: 3,\n title: \"Step Three\",\n description: \"Desc for step three\",\n },\n]\n\nexport default function Component() {\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper defaultValue={2}>\n {steps.map(({ step, title, description }) => (\n <StepperItem\n key={step}\n step={step}\n className=\"not-last:flex-1 max-md:items-start\"\n >\n <StepperTrigger className=\"rounded max-md:flex-col\">\n <StepperIndicator />\n <div className=\"text-center md:text-left\">\n <StepperTitle>{title}</StepperTitle>\n <StepperDescription className=\"max-sm:hidden\">\n {description}\n </StepperDescription>\n </div>\n </StepperTrigger>\n {step < steps.length && (\n <StepperSeparator className=\"max-md:mt-3.5 md:mx-4\" />\n )}\n </StepperItem>\n ))}\n </Stepper>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Stepper with inline titles and descriptions\n </p>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"stepper"
|
|
18
|
+
],
|
|
19
|
+
"colSpan": 3
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-525",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-525.tsx",
|
|
11
|
+
"content": "import {\n Stepper,\n StepperDescription,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [\n {\n step: 1,\n title: \"Step One\",\n description: \"Desc for step one\",\n },\n {\n step: 2,\n title: \"Step Two\",\n description: \"Desc for step two\",\n },\n {\n step: 3,\n title: \"Step Three\",\n description: \"Desc for step three\",\n },\n]\n\nexport default function Component() {\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper defaultValue={2}>\n {steps.map(({ step, title, description }) => (\n <StepperItem\n key={step}\n step={step}\n className=\"not-last:flex-1 max-md:items-start\"\n >\n <StepperTrigger className=\"gap-4 rounded max-md:flex-col\">\n <StepperIndicator />\n <div className=\"text-center md:-order-1 md:text-left\">\n <StepperTitle>{title}</StepperTitle>\n <StepperDescription className=\"max-sm:hidden\">\n {description}\n </StepperDescription>\n </div>\n </StepperTrigger>\n {step < steps.length && (\n <StepperSeparator className=\"max-md:mt-3.5 md:mx-4\" />\n )}\n </StepperItem>\n ))}\n </Stepper>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Stepper with inline titles and descriptions\n </p>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"stepper"
|
|
18
|
+
],
|
|
19
|
+
"colSpan": 3
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-526",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-526.tsx",
|
|
11
|
+
"content": "import {\n Stepper,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [1, 2, 3, 4]\n\nexport default function Component() {\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper defaultValue={2} orientation=\"vertical\">\n {steps.map((step) => (\n <StepperItem key={step} step={step} className=\"not-last:flex-1\">\n <StepperTrigger>\n <StepperIndicator />\n </StepperTrigger>\n {step < steps.length && <StepperSeparator />}\n </StepperItem>\n ))}\n </Stepper>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Vertical stepper with numbers and checkmarks\n </p>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"stepper",
|
|
18
|
+
"vertical stepper"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-527",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/button.json",
|
|
7
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
8
|
+
],
|
|
9
|
+
"files": [
|
|
10
|
+
{
|
|
11
|
+
"path": "registry/default/components/comp-527.tsx",
|
|
12
|
+
"content": "\"use client\"\n\nimport { useState } from \"react\"\n\nimport { Button } from \"@/registry/building-blocks/default/ui/button\"\nimport {\n Stepper,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [1, 2, 3, 4]\n\nexport default function Component() {\n const [currentStep, setCurrentStep] = useState(1)\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper\n value={currentStep}\n onValueChange={setCurrentStep}\n orientation=\"vertical\"\n >\n {steps.map((step) => (\n <StepperItem key={step} step={step} className=\"not-last:flex-1\">\n <StepperTrigger asChild>\n <StepperIndicator />\n </StepperTrigger>\n {step < steps.length && <StepperSeparator />}\n </StepperItem>\n ))}\n </Stepper>\n <div className=\"flex justify-center space-x-4\">\n <Button\n variant=\"outline\"\n className=\"w-32\"\n onClick={() => setCurrentStep((prev) => prev - 1)}\n disabled={currentStep === 1}\n >\n Prev step\n </Button>\n <Button\n variant=\"outline\"\n className=\"w-32\"\n onClick={() => setCurrentStep((prev) => prev + 1)}\n disabled={currentStep > steps.length}\n >\n Next step\n </Button>\n </div>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Controlled vertical stepper with checkmarks\n </p>\n </div>\n )\n}\n",
|
|
13
|
+
"type": "registry:component"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"meta": {
|
|
17
|
+
"tags": [
|
|
18
|
+
"stepper",
|
|
19
|
+
"vertical stepper"
|
|
20
|
+
],
|
|
21
|
+
"colSpan": 2
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-528",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-528.tsx",
|
|
11
|
+
"content": "import {\n Stepper,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [\n {\n step: 1,\n title: \"Step One\",\n },\n {\n step: 2,\n title: \"Step Two\",\n },\n {\n step: 3,\n title: \"Step Three\",\n },\n {\n step: 4,\n title: \"Step Four\",\n },\n]\n\nexport default function Component() {\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper defaultValue={2} orientation=\"vertical\">\n {steps.map(({ step, title }) => (\n <StepperItem\n key={step}\n step={step}\n className=\"relative items-start not-last:flex-1\"\n >\n <StepperTrigger className=\"items-start rounded pb-12 last:pb-0\">\n <StepperIndicator />\n <div className=\"mt-0.5 px-2 text-left\">\n <StepperTitle>{title}</StepperTitle>\n </div>\n </StepperTrigger>\n {step < steps.length && (\n <StepperSeparator className=\"absolute inset-y-0 top-[calc(1.5rem+0.125rem)] left-3 -order-1 m-0 -translate-x-1/2 group-data-[orientation=horizontal]/stepper:w-[calc(100%-1.5rem-0.25rem)] group-data-[orientation=horizontal]/stepper:flex-none group-data-[orientation=vertical]/stepper:h-[calc(100%-1.5rem-0.25rem)]\" />\n )}\n </StepperItem>\n ))}\n </Stepper>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Vertical stepper with inline titles\n </p>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"stepper",
|
|
18
|
+
"vertical stepper"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-529",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/stepper.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-529.tsx",
|
|
11
|
+
"content": "import {\n Stepper,\n StepperDescription,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n} from \"@/registry/building-blocks/default/ui/stepper\"\n\nconst steps = [\n {\n step: 1,\n title: \"Step One\",\n description: \"Desc for step one\",\n },\n {\n step: 2,\n title: \"Step Two\",\n description: \"Desc for step two\",\n },\n {\n step: 3,\n title: \"Step Three\",\n description: \"Desc for step three\",\n },\n]\n\nexport default function Component() {\n return (\n <div className=\"space-y-8 text-center\">\n <Stepper defaultValue={2} orientation=\"vertical\">\n {steps.map(({ step, title, description }) => (\n <StepperItem\n key={step}\n step={step}\n className=\"relative items-start not-last:flex-1\"\n >\n <StepperTrigger className=\"items-start rounded pb-12 last:pb-0\">\n <StepperIndicator />\n <div className=\"mt-0.5 space-y-0.5 px-2 text-left\">\n <StepperTitle>{title}</StepperTitle>\n <StepperDescription>{description}</StepperDescription>\n </div>\n </StepperTrigger>\n {step < steps.length && (\n <StepperSeparator className=\"absolute inset-y-0 top-[calc(1.5rem+0.125rem)] left-3 -order-1 m-0 -translate-x-1/2 group-data-[orientation=horizontal]/stepper:w-[calc(100%-1.5rem-0.25rem)] group-data-[orientation=horizontal]/stepper:flex-none group-data-[orientation=vertical]/stepper:h-[calc(100%-1.5rem-0.25rem)]\" />\n )}\n </StepperItem>\n ))}\n </Stepper>\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Vertical stepper with inline titles and descriptions\n </p>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"stepper",
|
|
18
|
+
"vertical stepper"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-53",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/input.json",
|
|
7
|
+
"https://loveui.dev/building-blocks/r/label.json",
|
|
8
|
+
"https://loveui.dev/building-blocks/r/tooltip.json"
|
|
9
|
+
],
|
|
10
|
+
"files": [
|
|
11
|
+
{
|
|
12
|
+
"path": "registry/default/components/comp-53.tsx",
|
|
13
|
+
"content": "\"use client\"\n\nimport { useId, useRef, useState } from \"react\"\nimport { CheckIcon, CopyIcon } from \"lucide-react\"\n\nimport { cn } from \"@/registry/building-blocks/default/lib/utils\"\nimport { Input } from \"@/registry/building-blocks/default/ui/input\"\nimport { Label } from \"@/registry/building-blocks/default/ui/label\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/registry/building-blocks/default/ui/tooltip\"\n\nexport default function Component() {\n const id = useId()\n const [copied, setCopied] = useState<boolean>(false)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleCopy = () => {\n if (inputRef.current) {\n navigator.clipboard.writeText(inputRef.current.value)\n setCopied(true)\n setTimeout(() => setCopied(false), 1500)\n }\n }\n\n return (\n <div className=\"*:not-first:mt-2\">\n <Label htmlFor={id}>Copy to clipboard</Label>\n <div className=\"relative\">\n <Input\n ref={inputRef}\n id={id}\n className=\"pe-9\"\n type=\"text\"\n defaultValue=\"pnpm install origin-ui\"\n readOnly\n />\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={handleCopy}\n className=\"absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-muted-foreground/80 transition-[color,box-shadow] outline-none hover:text-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed\"\n aria-label={copied ? \"Copied\" : \"Copy to clipboard\"}\n disabled={copied}\n >\n <div\n className={cn(\n \"transition-all\",\n copied ? \"scale-100 opacity-100\" : \"scale-0 opacity-0\"\n )}\n >\n <CheckIcon\n className=\"stroke-emerald-500\"\n size={16}\n aria-hidden=\"true\"\n />\n </div>\n <div\n className={cn(\n \"absolute transition-all\",\n copied ? \"scale-0 opacity-0\" : \"scale-100 opacity-100\"\n )}\n >\n <CopyIcon size={16} aria-hidden=\"true\" />\n </div>\n </button>\n </TooltipTrigger>\n <TooltipContent className=\"px-2 py-1 text-xs\">\n Copy to clipboard\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n </div>\n </div>\n )\n}\n",
|
|
14
|
+
"type": "registry:component"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"meta": {
|
|
18
|
+
"tags": [
|
|
19
|
+
"input",
|
|
20
|
+
"label",
|
|
21
|
+
"copy"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-530",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-530.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"Mar 15, 2024\",\n title: \"Project Kickoff\",\n description:\n \"Initial team meeting and project scope definition. Established key milestones and resource allocation.\",\n },\n {\n id: 2,\n date: \"Mar 22, 2024\",\n title: \"Design Phase\",\n description:\n \"Completed wireframes and user interface mockups. Stakeholder review and feedback incorporated.\",\n },\n {\n id: 3,\n date: \"Apr 5, 2024\",\n title: \"Development Sprint\",\n description:\n \"Backend API implementation and frontend component development in progress.\",\n },\n {\n id: 4,\n date: \"Apr 19, 2024\",\n title: \"Testing & Deployment\",\n description:\n \"Quality assurance testing, performance optimization, and production deployment preparation.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3}>\n {items.map((item) => (\n <TimelineItem key={item.id} step={item.id}>\n <TimelineHeader>\n <TimelineSeparator />\n <TimelineTitle className=\"-mt-0.5\">{item.title}</TimelineTitle>\n <TimelineIndicator />\n </TimelineHeader>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-531",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-531.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"Mar 15, 2024\",\n title: \"Project Kickoff\",\n description:\n \"Initial team meeting and project scope definition. Established key milestones and resource allocation.\",\n },\n {\n id: 2,\n date: \"Mar 22, 2024\",\n title: \"Design Phase\",\n description:\n \"Completed wireframes and user interface mockups. Stakeholder review and feedback incorporated.\",\n },\n {\n id: 3,\n date: \"Apr 5, 2024\",\n title: \"Development Sprint\",\n description:\n \"Backend API implementation and frontend component development in progress.\",\n },\n {\n id: 4,\n date: \"Apr 19, 2024\",\n title: \"Testing & Deployment\",\n description:\n \"Quality assurance testing, performance optimization, and production deployment preparation.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3}>\n {items.map((item) => (\n <TimelineItem\n key={item.id}\n step={item.id}\n className=\"sm:group-data-[orientation=vertical]/timeline:ms-32\"\n >\n <TimelineHeader>\n <TimelineSeparator />\n <TimelineDate className=\"sm:group-data-[orientation=vertical]/timeline:absolute sm:group-data-[orientation=vertical]/timeline:-left-32 sm:group-data-[orientation=vertical]/timeline:w-20 sm:group-data-[orientation=vertical]/timeline:text-right\">\n {item.date}\n </TimelineDate>\n <TimelineTitle className=\"sm:-mt-0.5\">{item.title}</TimelineTitle>\n <TimelineIndicator />\n </TimelineHeader>\n <TimelineContent>{item.description}</TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-532",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-532.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"Mar 15, 2024\",\n title: \"Project Kickoff\",\n description:\n \"Initial team meeting and project scope definition. Established key milestones and resource allocation.\",\n },\n {\n id: 2,\n date: \"Mar 22, 2024\",\n title: \"Design Phase\",\n description:\n \"Completed wireframes and user interface mockups. Stakeholder review and feedback incorporated.\",\n },\n {\n id: 3,\n date: \"Apr 5, 2024\",\n title: \"Development Sprint\",\n description:\n \"Backend API implementation and frontend component development in progress.\",\n },\n {\n id: 4,\n date: \"Apr 19, 2024\",\n title: \"Testing & Deployment\",\n description:\n \"Quality assurance testing, performance optimization, and production deployment preparation.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3}>\n {items.map((item) => (\n <TimelineItem key={item.id} step={item.id}>\n <TimelineHeader>\n <TimelineSeparator />\n <TimelineDate>{item.date}</TimelineDate>\n <TimelineTitle>{item.title}</TimelineTitle>\n <TimelineIndicator />\n </TimelineHeader>\n <TimelineContent>{item.description}</TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-533",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-533.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"15 minutes ago\",\n title: \"Pull Request Submitted\",\n description:\n \"Submitted PR #342 with new feature implementation. Waiting for code review from team leads.\",\n },\n {\n id: 2,\n date: \"10 minutes ago\",\n title: \"CI Pipeline Started\",\n description:\n \"Automated tests and build process initiated. Running unit tests and code quality checks.\",\n },\n {\n id: 3,\n date: \"5 minutes ago\",\n title: \"Code Review Feedback\",\n description:\n \"Received comments on PR. Minor adjustments needed in error handling and documentation.\",\n },\n {\n id: 4,\n title: \"Changes Pushed\",\n description:\n \"Implemented requested changes and pushed updates to feature branch. Awaiting final approval.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3}>\n {items.map((item) => (\n <TimelineItem key={item.id} step={item.id}>\n <TimelineHeader>\n <TimelineSeparator />\n <TimelineTitle className=\"-mt-0.5\">{item.title}</TimelineTitle>\n <TimelineIndicator />\n </TimelineHeader>\n <TimelineContent>\n {item.description}\n <TimelineDate className=\"mt-2 mb-0\">{item.date}</TimelineDate>\n </TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-534",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-534.tsx",
|
|
11
|
+
"content": "import { CheckIcon } from \"lucide-react\"\n\nimport {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"Mar 15, 2024\",\n title: \"Project Kickoff\",\n description:\n \"Initial team meeting and project scope definition. Established key milestones and resource allocation.\",\n },\n {\n id: 2,\n date: \"Mar 22, 2024\",\n title: \"Design Phase\",\n description:\n \"Completed wireframes and user interface mockups. Stakeholder review and feedback incorporated.\",\n },\n {\n id: 3,\n date: \"Apr 5, 2024\",\n title: \"Development Sprint\",\n description:\n \"Backend API implementation and frontend component development in progress.\",\n },\n {\n id: 4,\n date: \"Apr 19, 2024\",\n title: \"Testing & Deployment\",\n description:\n \"Quality assurance testing, performance optimization, and production deployment preparation.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3}>\n {items.map((item) => (\n <TimelineItem\n key={item.id}\n step={item.id}\n className=\"group-data-[orientation=vertical]/timeline:ms-10\"\n >\n <TimelineHeader>\n <TimelineSeparator className=\"group-data-[orientation=vertical]/timeline:-left-7 group-data-[orientation=vertical]/timeline:h-[calc(100%-1.5rem-0.25rem)] group-data-[orientation=vertical]/timeline:translate-y-6.5\" />\n <TimelineDate>{item.date}</TimelineDate>\n <TimelineTitle>{item.title}</TimelineTitle>\n <TimelineIndicator className=\"flex size-6 items-center justify-center group-data-completed/timeline-item:border-none group-data-completed/timeline-item:bg-primary group-data-completed/timeline-item:text-primary-foreground group-data-[orientation=vertical]/timeline:-left-7\">\n <CheckIcon\n className=\"group-not-data-completed/timeline-item:hidden\"\n size={16}\n />\n </TimelineIndicator>\n </TimelineHeader>\n <TimelineContent>{item.description}</TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-535",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-535.tsx",
|
|
11
|
+
"content": "import { GitCompare, GitFork, GitMerge, GitPullRequest } from \"lucide-react\"\n\nimport {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"15 minutes ago\",\n title: \"Forked Repository\",\n description:\n \"Forked the repository to create a new branch for development.\",\n icon: GitFork,\n },\n {\n id: 2,\n date: \"10 minutes ago\",\n title: \"Pull Request Submitted\",\n description:\n \"Submitted PR #342 with new feature implementation. Waiting for code review from team leads.\",\n icon: GitPullRequest,\n },\n {\n id: 3,\n date: \"5 minutes ago\",\n title: \"Comparing Branches\",\n description:\n \"Received comments on PR. Minor adjustments needed in error handling and documentation.\",\n icon: GitCompare,\n },\n {\n id: 4,\n title: \"Merged Branch\",\n description:\n \"Merged the feature branch into the main branch. Ready for deployment.\",\n icon: GitMerge,\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3}>\n {items.map((item) => (\n <TimelineItem\n key={item.id}\n step={item.id}\n className=\"group-data-[orientation=vertical]/timeline:ms-10\"\n >\n <TimelineHeader>\n <TimelineSeparator className=\"group-data-[orientation=vertical]/timeline:-left-7 group-data-[orientation=vertical]/timeline:h-[calc(100%-1.5rem-0.25rem)] group-data-[orientation=vertical]/timeline:translate-y-6.5\" />\n <TimelineTitle className=\"mt-0.5\">{item.title}</TimelineTitle>\n <TimelineIndicator className=\"flex size-6 items-center justify-center border-none bg-primary/10 group-data-completed/timeline-item:bg-primary group-data-completed/timeline-item:text-primary-foreground group-data-[orientation=vertical]/timeline:-left-7\">\n <item.icon size={14} />\n </TimelineIndicator>\n </TimelineHeader>\n <TimelineContent>\n {item.description}\n <TimelineDate className=\"mt-2 mb-0\">{item.date}</TimelineDate>\n </TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-536",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-536.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\nconst items = [\n {\n id: 1,\n date: \"15 minutes ago\",\n title: \"Ian Schroeter\",\n action: \"opened a new issue\",\n description:\n \"I'm having trouble with the new component library. It's not rendering properly.\",\n image: \"https://i.pravatar.cc/160?img=8\",\n },\n {\n id: 2,\n date: \"10 minutes ago\",\n title: \"Connor Love\",\n action: \"commented on\",\n description:\n \"Hey Ian, I'm having trouble with the new component library. It's not rendering properly.\",\n image: \"https://i.pravatar.cc/160?img=9\",\n },\n {\n id: 3,\n date: \"5 minutes ago\",\n title: \"Nathan Wickersham\",\n action: \"assigned you to\",\n description:\n \"The new component library is not rendering properly. Can you take a look?\",\n image: \"https://i.pravatar.cc/160?img=10\",\n },\n {\n id: 4,\n date: \"2 minutes ago\",\n title: \"Thomas Raklovits\",\n action: \"closed the issue\",\n description: \"The issue has been fixed. Please review the changes.\",\n image: \"https://i.pravatar.cc/160?img=12\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline>\n {items.map((item) => (\n <TimelineItem\n key={item.id}\n step={item.id}\n className=\"group-data-[orientation=vertical]/timeline:ms-10 group-data-[orientation=vertical]/timeline:not-last:pb-8\"\n >\n <TimelineHeader>\n <TimelineSeparator className=\"group-data-[orientation=vertical]/timeline:-left-7 group-data-[orientation=vertical]/timeline:h-[calc(100%-1.5rem-0.25rem)] group-data-[orientation=vertical]/timeline:translate-y-6.5\" />\n <TimelineTitle className=\"mt-0.5\">\n {item.title}{\" \"}\n <span className=\"text-sm font-normal text-muted-foreground\">\n {item.action}\n </span>\n </TimelineTitle>\n <TimelineIndicator className=\"flex size-6 items-center justify-center border-none bg-primary/10 group-data-completed/timeline-item:bg-primary group-data-completed/timeline-item:text-primary-foreground group-data-[orientation=vertical]/timeline:-left-7\">\n <img\n src={item.image}\n alt={item.title}\n className=\"size-6 rounded-full\"\n />\n </TimelineIndicator>\n </TimelineHeader>\n <TimelineContent className=\"mt-2 rounded-lg border px-4 py-3 text-foreground\">\n {item.description}\n <TimelineDate className=\"mt-1 mb-0\">{item.date}</TimelineDate>\n </TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-537",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-537.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"Mar 15, 2024\",\n title: \"Project Kickoff\",\n },\n {\n id: 2,\n date: \"Mar 22, 2024\",\n title: \"Design Phase\",\n },\n {\n id: 3,\n date: \"Apr 5, 2024\",\n title: \"Development Sprint\",\n },\n {\n id: 4,\n date: \"Apr 19, 2024\",\n title: \"Testing & Deployment\",\n },\n {\n id: 5,\n date: \"May 3, 2024\",\n title: \"User Training\",\n },\n {\n id: 6,\n date: \"May 17, 2024\",\n title: \"Project Handover\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3}>\n {items.map((item) => (\n <TimelineItem\n key={item.id}\n step={item.id}\n className=\"w-[calc(50%-1.5rem)] odd:ms-auto even:text-right even:group-data-[orientation=vertical]/timeline:ms-0 even:group-data-[orientation=vertical]/timeline:me-8 even:group-data-[orientation=vertical]/timeline:[&_[data-slot=timeline-indicator]]:-right-6 even:group-data-[orientation=vertical]/timeline:[&_[data-slot=timeline-indicator]]:left-auto even:group-data-[orientation=vertical]/timeline:[&_[data-slot=timeline-indicator]]:translate-x-1/2 even:group-data-[orientation=vertical]/timeline:[&_[data-slot=timeline-separator]]:-right-6 even:group-data-[orientation=vertical]/timeline:[&_[data-slot=timeline-separator]]:left-auto even:group-data-[orientation=vertical]/timeline:[&_[data-slot=timeline-separator]]:translate-x-1/2\"\n >\n <TimelineHeader>\n <TimelineSeparator />\n <TimelineDate>{item.date}</TimelineDate>\n <TimelineTitle>{item.title}</TimelineTitle>\n <TimelineIndicator />\n </TimelineHeader>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-538",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-538.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineItem,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: new Date(\"2024-01-09T10:55:00\"),\n description: \"System backup completed successfully.\",\n },\n {\n id: 2,\n date: new Date(\"2024-01-09T10:50:00\"),\n description:\n \"User authentication service restarted due to configuration update.\",\n },\n {\n id: 3,\n date: new Date(\"2024-01-09T10:45:00\"),\n description: \"Warning: High CPU usage detected on worker node-03.\",\n },\n {\n id: 4,\n date: new Date(\"2024-01-09T10:40:00\"),\n description: \"New deployment initiated for api-service v2.1.0.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline className=\"divide-y rounded-lg border\">\n {items.map((item) => (\n <TimelineItem key={item.id} step={item.id} className=\"m-0! px-4! py-3!\">\n <TimelineContent className=\"text-foreground\">\n {item.description}\n <TimelineDate className=\"mt-1\">\n {item.date.toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n })}{\" \"}\n at{\" \"}\n {item.date.toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n })}\n </TimelineDate>\n </TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-539",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-539.tsx",
|
|
11
|
+
"content": "import {\n BookOpenIcon,\n LucideIcon,\n MessageCircleIcon,\n PencilIcon,\n PlusIcon,\n} from \"lucide-react\"\nimport {\n Timeline,\n TimelineContent,\n TimelineItem,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items: {\n id: number\n user: string\n image: string\n action: ActionType\n date: Date\n}[] = [\n {\n id: 1,\n user: \"Connor\",\n image: \"https://i.pravatar.cc/160?img=9\",\n action: \"post\",\n date: new Date(Date.now() - 59000), // 59 seconds ago\n },\n {\n id: 2,\n user: \"Connor\",\n image: \"https://i.pravatar.cc/160?img=9\",\n action: \"reply\",\n date: new Date(Date.now() - 180000), // 3 minutes ago\n },\n {\n id: 3,\n user: \"Connor\",\n image: \"https://i.pravatar.cc/160?img=9\",\n action: \"edit\",\n date: new Date(Date.now() - 300000), // 5 minutes ago\n },\n {\n id: 4,\n user: \"Connor\",\n image: \"https://i.pravatar.cc/160?img=9\",\n action: \"create\",\n date: new Date(Date.now() - 600000), // 10 minutes ago\n },\n]\n\ntype ActionType = \"post\" | \"reply\" | \"edit\" | \"create\"\n\nfunction getActionIcon(action: ActionType): LucideIcon {\n const icons: Record<ActionType, LucideIcon> = {\n post: BookOpenIcon,\n reply: MessageCircleIcon,\n edit: PencilIcon,\n create: PlusIcon,\n }\n return icons[action]\n}\n\nfunction getActionText(action: ActionType): string {\n const texts: Record<ActionType, string> = {\n post: \"wrote a new post\",\n reply: \"replied to a comment\",\n edit: \"edited a post\",\n create: \"created a new project\",\n }\n return texts[action]\n}\n\nfunction getRelativeTimeString(date: Date): string {\n const now = new Date()\n const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)\n\n if (diffInSeconds < 60) {\n return `${diffInSeconds} seconds ago`\n } else if (diffInSeconds < 3600) {\n const minutes = Math.floor(diffInSeconds / 60)\n return `${minutes} ${minutes === 1 ? \"minute\" : \"minutes\"} ago`\n } else if (diffInSeconds < 86400) {\n const hours = Math.floor(diffInSeconds / 3600)\n return `${hours} ${hours === 1 ? \"hour\" : \"hours\"} ago`\n } else {\n const days = Math.floor(diffInSeconds / 86400)\n return `${days} ${days === 1 ? \"day\" : \"days\"} ago`\n }\n}\n\nexport default function Component() {\n return (\n <div className=\"space-y-3\">\n <div className=\"text-xs font-medium text-muted-foreground\">Activity</div>\n <Timeline>\n {items.map((item) => {\n const ActionIcon = getActionIcon(item.action)\n return (\n <TimelineItem\n key={item.id}\n step={item.id}\n className=\"m-0! flex-row items-center gap-3 py-2.5!\"\n >\n <ActionIcon className=\"text-muted-foreground/80\" size={16} />\n <img\n src={item.image}\n alt={item.user}\n className=\"size-6 rounded-full\"\n />\n <TimelineContent className=\"text-foreground\">\n <a className=\"font-medium hover:underline\" href=\"#\">\n {item.user}\n </a>\n <span className=\"font-normal\">\n {\" \"}\n {getActionText(item.action)}{\" \"}\n <a className=\"hover:underline\" href=\"#\">\n {getRelativeTimeString(item.date)}\n </a>\n </span>\n </TimelineContent>\n </TimelineItem>\n )\n })}\n </Timeline>\n </div>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline",
|
|
18
|
+
"vertical timeline"
|
|
19
|
+
],
|
|
20
|
+
"colSpan": 2
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-54",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"dependencies": [
|
|
6
|
+
"use-mask-input"
|
|
7
|
+
],
|
|
8
|
+
"registryDependencies": [
|
|
9
|
+
"https://loveui.dev/building-blocks/r/input.json",
|
|
10
|
+
"https://loveui.dev/building-blocks/r/label.json"
|
|
11
|
+
],
|
|
12
|
+
"files": [
|
|
13
|
+
{
|
|
14
|
+
"path": "registry/default/components/comp-54.tsx",
|
|
15
|
+
"content": "\"use client\"\n\nimport { useId } from \"react\"\nimport { withMask } from \"use-mask-input\"\n\nimport { Input } from \"@/registry/building-blocks/default/ui/input\"\nimport { Label } from \"@/registry/building-blocks/default/ui/label\"\n\nexport default function Component() {\n const id = useId()\n return (\n <div className=\"*:not-first:mt-2\">\n <Label htmlFor={id}>Input with mask</Label>\n <Input\n id={id}\n placeholder=\"AB12 CDE\"\n type=\"text\"\n ref={(input) => {\n if (input) {\n withMask(\"AA99 AAA\", {\n placeholder: \"\",\n showMaskOnHover: false,\n })(input)\n }\n }}\n />\n <p\n className=\"mt-2 text-xs text-muted-foreground\"\n role=\"region\"\n aria-live=\"polite\"\n >\n Built with{\" \"}\n <a\n className=\"underline hover:text-foreground\"\n href=\"https://github.com/eduardoborges/use-mask-input\"\n target=\"_blank\"\n rel=\"noopener nofollow\"\n >\n use-mask-input\n </a>\n </p>\n </div>\n )\n}\n",
|
|
16
|
+
"type": "registry:component"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"meta": {
|
|
20
|
+
"tags": [
|
|
21
|
+
"input",
|
|
22
|
+
"label",
|
|
23
|
+
"mask"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-540",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-540.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"Mar 15, 2024\",\n title: \"Project Kickoff\",\n description: \"Initial team meeting.\",\n },\n {\n id: 2,\n date: \"Mar 22, 2024\",\n title: \"Design Phase\",\n description: \"Completed wireframes.\",\n },\n {\n id: 3,\n date: \"Apr 5, 2024\",\n title: \"Development Sprint\",\n description: \"Backend development.\",\n },\n {\n id: 4,\n date: \"Apr 19, 2024\",\n title: \"Testing & Deployment\",\n description: \"Performance optimization.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3} orientation=\"horizontal\">\n {items.map((item) => (\n <TimelineItem key={item.id} step={item.id}>\n <TimelineHeader>\n <TimelineSeparator />\n <TimelineDate>{item.date}</TimelineDate>\n <TimelineTitle>{item.title}</TimelineTitle>\n <TimelineIndicator />\n </TimelineHeader>\n <TimelineContent>{item.description}</TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline"
|
|
18
|
+
],
|
|
19
|
+
"colSpan": 3
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "comp-541",
|
|
4
|
+
"type": "registry:component",
|
|
5
|
+
"registryDependencies": [
|
|
6
|
+
"https://loveui.dev/building-blocks/r/timeline.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "registry/default/components/comp-541.tsx",
|
|
11
|
+
"content": "import {\n Timeline,\n TimelineContent,\n TimelineDate,\n TimelineHeader,\n TimelineIndicator,\n TimelineItem,\n TimelineSeparator,\n TimelineTitle,\n} from \"@/registry/building-blocks/default/ui/timeline\"\n\nconst items = [\n {\n id: 1,\n date: \"Mar 15, 2024\",\n title: \"Project Kickoff\",\n description: \"Initial team meeting.\",\n },\n {\n id: 2,\n date: \"Mar 22, 2024\",\n title: \"Design Phase\",\n description: \"Completed wireframes.\",\n },\n {\n id: 3,\n date: \"Apr 5, 2024\",\n title: \"Development Sprint\",\n description: \"Backend development.\",\n },\n {\n id: 4,\n date: \"Apr 19, 2024\",\n title: \"Testing & Deployment\",\n description: \"Performance optimization.\",\n },\n]\n\nexport default function Component() {\n return (\n <Timeline defaultValue={3} orientation=\"horizontal\">\n {items.map((item) => (\n <TimelineItem\n key={item.id}\n step={item.id}\n className=\"group-data-[orientation=horizontal]/timeline:mt-0\"\n >\n <TimelineHeader>\n <TimelineSeparator className=\"group-data-[orientation=horizontal]/timeline:top-8\" />\n <TimelineDate className=\"mb-10\">{item.date}</TimelineDate>\n <TimelineTitle>{item.title}</TimelineTitle>\n <TimelineIndicator className=\"group-data-[orientation=horizontal]/timeline:top-8\" />\n </TimelineHeader>\n <TimelineContent>{item.description}</TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n )\n}\n",
|
|
12
|
+
"type": "registry:component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"tags": [
|
|
17
|
+
"timeline"
|
|
18
|
+
],
|
|
19
|
+
"colSpan": 3
|
|
20
|
+
}
|
|
21
|
+
}
|