@crediblemark/build 0.25.0 → 0.25.1

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.
Files changed (30) hide show
  1. package/README.md +88 -152
  2. package/dist/{ArrayField-ABD3HGQK.css → ArrayField-HGGIE5AL.css} +73 -72
  3. package/dist/{ArrayField-PRFYE7UT.mjs → ArrayField-N36WXYIG.mjs} +2 -2
  4. package/dist/{ObjectField-RGVFMP6O.css → ObjectField-NKMT3CLS.css} +73 -72
  5. package/dist/{ObjectField-G5CR3WD3.mjs → ObjectField-RMXFC6TI.mjs} +2 -2
  6. package/dist/{actions-CEH_5LMY.d.mts → actions-LaZpJ1KE.d.mts} +6 -1
  7. package/dist/{actions-CEH_5LMY.d.ts → actions-LaZpJ1KE.d.ts} +6 -1
  8. package/dist/{chunk-FON7BVSU.mjs → chunk-3S3KWE2J.mjs} +1 -1
  9. package/dist/{chunk-NW76XMQS.mjs → chunk-NJZPPQVT.mjs} +2 -2
  10. package/dist/{chunk-7RH2UOWD.mjs → chunk-OUXISRNA.mjs} +2 -2
  11. package/dist/{chunk-7RA5W2MP.mjs → chunk-PQXVFRLA.mjs} +5 -5
  12. package/dist/{index-CkSfgrvw.d.ts → index-Bj2x5pZ7.d.ts} +1 -1
  13. package/dist/{index-Cxwg4vUV.d.mts → index-CD3PszvP.d.mts} +1 -1
  14. package/dist/index.css +73 -72
  15. package/dist/index.d.mts +5 -10
  16. package/dist/index.d.ts +5 -10
  17. package/dist/index.js +4 -4
  18. package/dist/index.mjs +4 -4
  19. package/dist/internal.d.mts +2 -2
  20. package/dist/internal.d.ts +2 -2
  21. package/dist/no-external.css +73 -72
  22. package/dist/no-external.d.mts +3 -3
  23. package/dist/no-external.d.ts +3 -3
  24. package/dist/no-external.js +4 -4
  25. package/dist/no-external.mjs +4 -4
  26. package/dist/rsc.d.mts +2 -2
  27. package/dist/rsc.d.ts +2 -2
  28. package/dist/{walk-tree-B4ZvMfxS.d.ts → walk-tree-BEw6kTXm.d.ts} +1 -1
  29. package/dist/{walk-tree-C78ZVz19.d.mts → walk-tree-BO8uRNcW.d.mts} +1 -1
  30. package/package.json +1 -1
package/README.md CHANGED
@@ -5,205 +5,141 @@ The open-source visual editor for React. Build complex, high-performance page bu
5
5
  [![npm version](https://img.shields.io/npm/v/@crediblemark/build.svg)](https://www.npmjs.com/package/@crediblemark/build)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
 
8
- ## Features
8
+ ## 🎨 Features
9
9
 
10
10
  - **Drag & Drop**: Powered by `@dnd-kit` for smooth, accessible, and highly customizable layouts.
11
11
  - **Rich Text Editing**: Integrated with `tiptap` for a seamless content editing experience.
12
- - **Headless & Flexible**: Decouples logic from UI, allowing you to build your own custom blocks and components.
12
+ - **Premium Matrix UI**: A sleek, high-density neutral-dark theme designed for professional CMS workflows.
13
+ - **Path Aliases Support**: Ready for `@/*` aliases to keep your codebase clean.
14
+ - **Magic Edit Mode**: Integrated pattern for `/edit` URL rewrites.
13
15
  - **React Server Components (RSC) Support**: Optimized for modern Next.js applications.
14
- - **High Performance**: Built with `zustand` for efficient state management and optimized rendering.
15
- - **TypeScript First**: Fully typed API for a great developer experience.
16
16
 
17
- ## Installation
17
+ ## 🚀 Installation
18
18
 
19
19
  ```bash
20
20
  bun add @crediblemark/build
21
21
  ```
22
22
 
23
- ## Quick Start
23
+ ## 🏗️ Next.js Implementation Pattern
24
24
 
25
- ### 1. Setup the Editor
25
+ To replicate the professional CMS setup used in `NEXT_CMS`, follow this architecture:
26
+
27
+ ### 1. Folder Structure
28
+ Organize your project to keep the editor logic separate from your public site logic:
29
+ ```
30
+ /
31
+ ├── credbuild.config.tsx # Central configuration
32
+ ├── app/
33
+ │ ├── (site)/ # Public site routes
34
+ │ │ └── [...path]/ # Dynamic renderer
35
+ │ └── credbuild/ # Editor-only routes
36
+ │ └── [...path]/ # Dynamic editor
37
+ └── components/
38
+ └── credbuild/ # Your custom blocks
39
+ ```
40
+
41
+ ### 2. The "Magic Edit" Rewrite
42
+ Use Next.js `proxy.ts` to allow users to visit any page and simply add `/edit` to the URL to start building:
43
+
44
+ ```typescript
45
+ // proxy.ts
46
+ import type { NextRequest } from "next/server";
47
+
48
+ export function proxy(request: NextRequest) {
49
+ const url = request.nextUrl.clone();
50
+ if (url.pathname.endsWith("/edit")) {
51
+ const pathWithoutEdit = url.pathname.replace(/\/edit$/, "");
52
+ // Rewrite to the internal editor route
53
+ url.pathname = `/credbuild${pathWithoutEdit || "/"}`;
54
+ return NextResponse.rewrite(url);
55
+ }
56
+ }
57
+ ```
58
+
59
+ ### 3. Dynamic Editor Route
60
+ Create a catch-all route at `app/credbuild/[...path]/page.tsx` that loads the `CredBuild` component:
26
61
 
27
62
  ```tsx
28
- import React from "react";
29
63
  import { CredBuild } from "@crediblemark/build";
64
+ import config from "@/credbuild.config";
30
65
  import "@crediblemark/build/dist/index.css";
31
66
 
32
- const config = {
33
- blocks: {
34
- Hero: {
35
- render: ({ title }) => <h1>{title}</h1>,
36
- },
37
- // Add more blocks here
38
- },
39
- };
67
+ export default async function EditorPage({ params }) {
68
+ const { path } = await params;
69
+ const data = await getPageData(path); // Fetch your JSON data
40
70
 
41
- const MyEditor = () => {
42
71
  return (
43
72
  <CredBuild
44
73
  config={config}
45
- data={{ content: [] }}
46
- onChange={(newData) => console.log(newData)}
74
+ data={data}
75
+ headerPath={path}
76
+ onPublish={async (newData) => {
77
+ await savePageData(path, newData);
78
+ }}
47
79
  />
48
80
  );
49
- };
50
- ```
51
-
52
- ### 2. Render the Content
53
-
54
- ```tsx
55
- import { Render } from "@crediblemark/build";
56
-
57
- const MyPage = ({ data }) => {
58
- return <Render config={config} data={data} />;
59
- };
81
+ }
60
82
  ```
61
83
 
62
- ## Creating Custom Components
63
-
64
- Adding new components (blocks) to your editor is straightforward. Follow this pattern:
65
-
66
- ### 1. Define your Props
67
-
68
- ```tsx
69
- type HeroProps = {
70
- title: string;
71
- description: string;
72
- buttonText: string;
73
- };
74
- ```
84
+ ## 🧩 Creating Premium Components
75
85
 
76
- ### 2. Create the Component Config
86
+ For a high-fidelity "Premium Matrix" feel, follow the modular component pattern:
77
87
 
78
- The configuration defines how the component is rendered and which fields are editable in the sidebar.
88
+ ### 1. Define Component Logic (`AboutCompany.tsx`)
89
+ Keep your configuration and fields clean. Use Lucide icons and compact labels for a dashboard feel.
79
90
 
80
91
  ```tsx
81
92
  import { ComponentConfig } from "@crediblemark/build";
93
+ import { User, Settings } from "lucide-react";
94
+ import { AboutRender } from "./AboutRender";
82
95
 
83
- export const Hero: ComponentConfig<HeroProps> = {
84
- label: "Hero Section",
96
+ export const AboutCompany: ComponentConfig<AboutProps> = {
97
+ label: "About Company",
85
98
  fields: {
86
99
  title: {
87
100
  type: "text",
88
- label: "📝 Title"
89
- },
90
- description: {
91
- type: "textarea",
92
- label: "📄 Description"
93
- },
94
- buttonText: {
95
- type: "text",
96
- label: "🔘 Button Label"
97
- },
98
- },
99
- defaultProps: {
100
- title: "Welcome to our site",
101
- description: "Built with @crediblemark/build",
102
- buttonText: "Get Started",
103
- },
104
- render: ({ title, description, buttonText }) => (
105
- <section className="hero">
106
- <h1>{title}</h1>
107
- <p>{description}</p>
108
- <button>{buttonText}</button>
109
- </section>
110
- ),
111
- };
112
- ```
113
-
114
- ### 3. Register in the Editor Config
115
-
116
- ```tsx
117
- const config = {
118
- blocks: {
119
- Hero,
120
- // Add more blocks here
121
- },
122
- categories: {
123
- "🎬 Hero Sections": {
124
- components: ["Hero"],
125
- },
126
- },
127
- };
128
- ```
129
-
130
- ## Organizing with Categories
131
-
132
- You can group your components into categories to keep the sidebar organized.
133
-
134
- ```tsx
135
- const config = {
136
- categories: {
137
- "🎬 Hero Sections": {
138
- components: ["Hero", "Banner"],
139
- },
140
- "📦 Content Blocks": {
141
- components: ["Text", "Image", "Video"],
101
+ label: "📝 Title",
102
+ placeholder: "Enter company name..."
142
103
  },
104
+ count: {
105
+ type: "number",
106
+ label: "🔢 Employee Count"
107
+ }
143
108
  },
144
- blocks: {
145
- // ... all blocks defined here
146
- },
109
+ render: AboutRender,
147
110
  };
148
111
  ```
149
112
 
150
- ## Best Practices for Components
151
-
152
- To create a premium editing experience, follow these patterns:
113
+ ### 2. Standardize UI Aesthetics
114
+ CredBuild enforces a high-density UI. When creating custom field labels or sidebars, use these CSS variables and standards:
115
+ - **Font Size**: Labels at `9px`, Inputs at `12px`.
116
+ - **Border Radius**: `5px` (rounded-md).
117
+ - **Icons**: Always include icons in field labels for visual scanning.
153
118
 
154
- 1. **Emoji Labels**: Use emojis in your field labels to make them more visual and easier to scan.
155
- ```tsx
156
- title: { type: "text", label: "📝 Title" }
157
- ```
158
- 2. **Responsive Typography**: Use `clamp()` for fluid font sizes that work on all screens.
159
- ```tsx
160
- <h1 style={{ fontSize: 'clamp(2rem, 5vw, 4rem)' }}>{title}</h1>
161
- ```
162
- 3. **Smart Fallbacks**: Always provide sensible `defaultProps` and handle missing images/content gracefully in your `render` function.
163
- 4. **Group Related Fields**: If a component has many fields, group them logically in the `fields` definition.
119
+ ## 💎 Premium Design System Standards
164
120
 
165
- ## Advanced Usage
121
+ To maintain the "Premium Matrix" aesthetic across your host application:
166
122
 
123
+ 1. **Isolation**: CredBuild uses `data-cb-theme="dark"` to isolate its styles. Ensure your host application CSS doesn't leak into the editor by using specific selectors.
124
+ 2. **Compactness**: Set your sidebar width to `300px` to `380px`. The fields are optimized for narrow containers.
125
+ 3. **Typography**: Use modern fonts like *Inter* or *Outfit* for the best visual results.
167
126
 
168
- ### Array Fields (Multiple Items)
127
+ ## Quick Start (Basic)
169
128
 
170
- For repeating content like features, testimonials, or pricing plans:
129
+ If you just want a simple standalone editor:
171
130
 
172
131
  ```tsx
173
- features: {
174
- type: "array",
175
- label: "✨ Features",
176
- arrayFields: {
177
- title: { type: "text", label: "Feature Title" },
178
- description: { type: "textarea", label: "Description" },
179
- },
180
- getItemSummary: (item) => item.title || "Feature",
181
- }
182
- ```
183
-
184
-
185
- ### Using Hooks
186
-
187
- Access the editor state or trigger actions programmatically.
188
-
189
- ```tsx
190
- import { useCredBuild } from "@crediblemark/build";
191
-
192
- const CustomTool = () => {
193
- const { appendBlock } = useCredBuild();
132
+ import { CredBuild } from "@crediblemark/build";
194
133
 
195
- return (
196
- <button onClick={() => appendBlock({ type: "Hero", props: { title: "New Hero" } })}>
197
- Add Hero
198
- </button>
199
- );
200
- };
134
+ const MyEditor = () => (
135
+ <CredBuild
136
+ config={{ components: { ... } }}
137
+ data={{ content: [] }}
138
+ onChange={(data) => console.log(data)}
139
+ />
140
+ );
201
141
  ```
202
142
 
203
- ## Documentation
204
-
205
- For full documentation and examples, visit [build.crediblemark.com](https://build.crediblemark.com).
206
-
207
- ## License
143
+ ## 📜 License
208
144
 
209
145
  MIT © [Rasyiqi Crediblemark](https://github.com/crediblemark-official)
@@ -1,16 +1,16 @@
1
1
  /* css-module:/home/crediblemark/Project/Credibuild/components/AutoField/fields/ArrayField/styles.module.css/#css-module-data */
2
- ._ArrayField_19wby_5 {
2
+ ._ArrayField_rvhj3_5 {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  background: var(--credbuild-color-azure-11);
6
6
  border: 1px solid var(--credbuild-color-grey-09);
7
7
  border-radius: 4px;
8
8
  }
9
- ._ArrayField--isDraggingFrom_19wby_13 {
9
+ ._ArrayField--isDraggingFrom_rvhj3_13 {
10
10
  background-color: var(--credbuild-color-azure-11);
11
11
  overflow: hidden;
12
12
  }
13
- ._ArrayField-addButton_19wby_18 {
13
+ ._ArrayField-addButton_rvhj3_18 {
14
14
  background-color: var(--credbuild-color-white);
15
15
  border: none;
16
16
  border-radius: 3px;
@@ -24,139 +24,139 @@
24
24
  text-align: left;
25
25
  transition: background-color 50ms ease-in;
26
26
  }
27
- ._ArrayField--hasItems_19wby_33 > ._ArrayField-addButton_19wby_18 {
27
+ ._ArrayField--hasItems_rvhj3_33 > ._ArrayField-addButton_rvhj3_18 {
28
28
  border-top: 1px solid var(--credbuild-color-grey-09);
29
29
  border-top-left-radius: 0;
30
30
  border-top-right-radius: 0;
31
31
  }
32
- ._ArrayField-addButton_19wby_18:focus-visible {
32
+ ._ArrayField-addButton_rvhj3_18:focus-visible {
33
33
  outline: 2px solid var(--credbuild-color-azure-05);
34
34
  outline-offset: 2px;
35
35
  position: relative;
36
36
  }
37
37
  @media (hover: hover) and (pointer: fine) {
38
- ._ArrayField_19wby_5:not(._ArrayField--isDraggingFrom_19wby_13) > ._ArrayField-addButton_19wby_18:hover {
38
+ ._ArrayField_rvhj3_5:not(._ArrayField--isDraggingFrom_rvhj3_13) > ._ArrayField-addButton_rvhj3_18:hover {
39
39
  background: var(--credbuild-color-azure-12);
40
40
  color: var(--credbuild-color-azure-04);
41
41
  transition: none;
42
42
  }
43
43
  }
44
- ._ArrayField_19wby_5:not(._ArrayField--isDraggingFrom_19wby_13) > ._ArrayField-addButton_19wby_18:active {
44
+ ._ArrayField_rvhj3_5:not(._ArrayField--isDraggingFrom_rvhj3_13) > ._ArrayField-addButton_rvhj3_18:active {
45
45
  background: var(--credbuild-color-azure-11);
46
46
  color: var(--credbuild-color-azure-04);
47
47
  transition: none;
48
48
  }
49
- ._ArrayField-inner_19wby_59 {
49
+ ._ArrayField-inner_rvhj3_59 {
50
50
  margin-top: -1px;
51
51
  }
52
- ._ArrayFieldItem_19wby_67 {
52
+ ._ArrayFieldItem_rvhj3_67 {
53
53
  border-top-left-radius: 3px;
54
54
  border-top-right-radius: 3px;
55
55
  display: block;
56
56
  position: relative;
57
57
  }
58
- ._ArrayFieldItem_19wby_67 {
58
+ ._ArrayFieldItem_rvhj3_67 {
59
59
  border-top: 1px solid var(--credbuild-color-grey-09);
60
60
  }
61
- ._ArrayFieldItem--isDragging_19wby_78 {
61
+ ._ArrayFieldItem--isDragging_rvhj3_78 {
62
62
  border-top: transparent;
63
63
  }
64
- ._ArrayFieldItem--isExpanded_19wby_82::before {
64
+ ._ArrayFieldItem--isExpanded_rvhj3_82::before {
65
65
  display: none;
66
66
  }
67
- ._ArrayFieldItem--isExpanded_19wby_82 {
67
+ ._ArrayFieldItem--isExpanded_rvhj3_82 {
68
68
  border-bottom: 0;
69
69
  outline-offset: 0px !important;
70
70
  outline: 1px solid var(--credbuild-color-azure-07) !important;
71
71
  z-index: 2;
72
72
  }
73
- ._ArrayFieldItem--isDragging_19wby_78 {
73
+ ._ArrayFieldItem--isDragging_rvhj3_78 {
74
74
  outline: 2px var(--credbuild-color-azure-09) solid !important;
75
75
  }
76
- ._ArrayFieldItem--isDragging_19wby_78 ._ArrayFieldItem-summary_19wby_97:active {
76
+ ._ArrayFieldItem--isDragging_rvhj3_78 ._ArrayFieldItem-summary_rvhj3_97:active {
77
77
  background-color: var(--credbuild-color-white);
78
78
  }
79
- ._ArrayFieldItem_19wby_67 + ._ArrayFieldItem_19wby_67 {
79
+ ._ArrayFieldItem_rvhj3_67 + ._ArrayFieldItem_rvhj3_67 {
80
80
  border-top-left-radius: 0;
81
81
  border-top-right-radius: 0;
82
82
  }
83
- ._ArrayFieldItem-summary_19wby_97 {
83
+ ._ArrayFieldItem-summary_rvhj3_97 {
84
84
  background: var(--credbuild-color-white);
85
85
  color: var(--credbuild-color-grey-04);
86
86
  cursor: pointer;
87
87
  display: flex;
88
88
  align-items: center;
89
- gap: 2px;
89
+ gap: 4px;
90
90
  justify-content: space-between;
91
- font-size: var(--credbuild-font-size-xxs);
91
+ font-size: 11px;
92
92
  list-style: none;
93
- padding: 6px 10px;
93
+ padding: 4px 10px;
94
94
  position: relative;
95
95
  overflow: hidden;
96
96
  transition: background-color 50ms ease-in;
97
97
  }
98
- ._ArrayFieldItem--noFields_19wby_122 > ._ArrayFieldItem-summary_19wby_97 {
98
+ ._ArrayFieldItem--noFields_rvhj3_122 > ._ArrayFieldItem-summary_rvhj3_97 {
99
99
  cursor: grab;
100
100
  }
101
- ._ArrayFieldItem_19wby_67:first-of-type > ._ArrayFieldItem-summary_19wby_97 {
101
+ ._ArrayFieldItem_rvhj3_67:first-of-type > ._ArrayFieldItem-summary_rvhj3_97 {
102
102
  border-top-left-radius: 3px;
103
103
  border-top-right-radius: 3px;
104
104
  }
105
- ._ArrayField--addDisabled_19wby_131 > ._ArrayField-inner_19wby_59 > ._ArrayFieldItem_19wby_67:last-of-type:not(._ArrayFieldItem--isExpanded_19wby_82) > ._ArrayFieldItem-summary_19wby_97 {
105
+ ._ArrayField--addDisabled_rvhj3_131 > ._ArrayField-inner_rvhj3_59 > ._ArrayFieldItem_rvhj3_67:last-of-type:not(._ArrayFieldItem--isExpanded_rvhj3_82) > ._ArrayFieldItem-summary_rvhj3_97 {
106
106
  border-bottom-left-radius: 3px;
107
107
  border-bottom-right-radius: 3px;
108
108
  }
109
- ._ArrayField--addDisabled_19wby_131 > ._ArrayField-inner_19wby_59 > ._ArrayFieldItem--isExpanded_19wby_82:last-of-type {
109
+ ._ArrayField--addDisabled_rvhj3_131 > ._ArrayField-inner_rvhj3_59 > ._ArrayFieldItem--isExpanded_rvhj3_82:last-of-type {
110
110
  border-bottom-left-radius: 3px;
111
111
  border-bottom-right-radius: 3px;
112
112
  }
113
- ._ArrayFieldItem-summary_19wby_97:focus-visible {
113
+ ._ArrayFieldItem-summary_rvhj3_97:focus-visible {
114
114
  outline: 2px solid var(--credbuild-color-azure-05);
115
115
  outline-offset: 2px;
116
116
  }
117
117
  @media (hover: hover) and (pointer: fine) {
118
- ._ArrayFieldItem-summary_19wby_97:hover {
118
+ ._ArrayFieldItem-summary_rvhj3_97:hover {
119
119
  background-color: var(--credbuild-color-azure-12);
120
120
  transition: none;
121
121
  }
122
122
  }
123
- ._ArrayFieldItem-summary_19wby_97:active {
123
+ ._ArrayFieldItem-summary_rvhj3_97:active {
124
124
  background-color: var(--credbuild-color-azure-11);
125
125
  transition: none;
126
126
  }
127
- ._ArrayFieldItem--isExpanded_19wby_82 > ._ArrayFieldItem-summary_19wby_97 {
127
+ ._ArrayFieldItem--isExpanded_rvhj3_82 > ._ArrayFieldItem-summary_rvhj3_97 {
128
128
  background: var(--credbuild-color-azure-11);
129
129
  color: var(--credbuild-color-azure-04);
130
130
  font-weight: 600;
131
131
  transition: none;
132
132
  }
133
- ._ArrayFieldItem-body_19wby_170 {
133
+ ._ArrayFieldItem-body_rvhj3_170 {
134
134
  background: var(--credbuild-color-white);
135
135
  display: none;
136
136
  }
137
- ._ArrayFieldItem--isExpanded_19wby_82 > ._ArrayFieldItem-body_19wby_170 {
137
+ ._ArrayFieldItem--isExpanded_rvhj3_82 > ._ArrayFieldItem-body_rvhj3_170 {
138
138
  display: block;
139
139
  }
140
- ._ArrayFieldItem-fieldset_19wby_179 {
140
+ ._ArrayFieldItem-fieldset_rvhj3_179 {
141
141
  border: none;
142
142
  border-top: 1px solid var(--credbuild-color-grey-09);
143
143
  margin: 0;
144
144
  min-width: 0;
145
- padding: 8px 10px;
145
+ padding: 6px 10px;
146
146
  }
147
- ._ArrayFieldItem-rhs_19wby_187 {
147
+ ._ArrayFieldItem-rhs_rvhj3_187 {
148
148
  display: flex;
149
149
  gap: 4px;
150
150
  align-items: center;
151
151
  }
152
- ._ArrayFieldItem-actions_19wby_193 {
152
+ ._ArrayFieldItem-actions_rvhj3_193 {
153
153
  color: var(--credbuild-color-grey-04);
154
154
  display: flex;
155
155
  gap: 4px;
156
156
  opacity: 0;
157
157
  }
158
- ._ArrayFieldItem-summary_19wby_97:focus-within > ._ArrayFieldItem-rhs_19wby_187 > ._ArrayFieldItem-actions_19wby_193,
159
- ._ArrayFieldItem-summary_19wby_97:hover > ._ArrayFieldItem-rhs_19wby_187 > ._ArrayFieldItem-actions_19wby_193 {
158
+ ._ArrayFieldItem-summary_rvhj3_97:focus-within > ._ArrayFieldItem-rhs_rvhj3_187 > ._ArrayFieldItem-actions_rvhj3_193,
159
+ ._ArrayFieldItem-summary_rvhj3_97:hover > ._ArrayFieldItem-rhs_rvhj3_187 > ._ArrayFieldItem-actions_rvhj3_193 {
160
160
  opacity: 1;
161
161
  }
162
162
 
@@ -258,44 +258,45 @@
258
258
  }
259
259
 
260
260
  /* css-module:/home/crediblemark/Project/Credibuild/components/AutoField/styles.module.css/#css-module-data */
261
- ._InputWrapper_1xuyz_1:not(._InputWrapper--object_1xuyz_1):not(._InputWrapper--array_1xuyz_1) {
261
+ ._InputWrapper_rcfsp_1:not(._InputWrapper--object_rcfsp_1):not(._InputWrapper--array_rcfsp_1) {
262
262
  border: 1px solid var(--credbuild-color-grey-10);
263
263
  border-radius: 5px;
264
- padding: 6px 8px;
264
+ padding: 4px 8px;
265
265
  background-color: var(--credbuild-color-white);
266
266
  transition: all 0.2s ease;
267
267
  }
268
- ._InputWrapper_1xuyz_1 + ._InputWrapper_1xuyz_1 {
268
+ ._InputWrapper_rcfsp_1 + ._InputWrapper_rcfsp_1 {
269
269
  margin-top: 2px;
270
270
  }
271
- ._InputWrapper_1xuyz_1:not(._InputWrapper--object_1xuyz_1):not(._InputWrapper--array_1xuyz_1):hover {
271
+ ._InputWrapper_rcfsp_1:not(._InputWrapper--object_rcfsp_1):not(._InputWrapper--array_rcfsp_1):hover {
272
272
  border-color: var(--credbuild-color-grey-08);
273
273
  background-color: var(--credbuild-color-grey-11);
274
274
  }
275
- ._Input-label_1xuyz_18 {
275
+ ._Input-label_rcfsp_18 {
276
276
  align-items: center;
277
- color: var(--credbuild-color-grey-05);
277
+ color: var(--credbuild-color-grey-06);
278
278
  display: flex;
279
279
  padding-bottom: 2px;
280
- font-size: 10px;
280
+ font-size: 9px;
281
281
  font-weight: 500;
282
282
  text-transform: uppercase;
283
- letter-spacing: 0.02em;
283
+ letter-spacing: 0.08em;
284
+ opacity: 0.7;
284
285
  }
285
- ._Input-label--noChildren_1xuyz_29 {
286
+ ._Input-label--noChildren_rcfsp_30 {
286
287
  padding-bottom: 0;
287
288
  }
288
- ._Input-labelIcon_1xuyz_33 {
289
+ ._Input-labelIcon_rcfsp_34 {
289
290
  color: var(--credbuild-color-grey-07);
290
291
  display: flex;
291
292
  margin-inline-end: 4px;
292
293
  padding-inline-start: 4px;
293
294
  }
294
- ._Input-disabledIcon_1xuyz_40 {
295
+ ._Input-disabledIcon_rcfsp_41 {
295
296
  color: var(--credbuild-color-grey-05);
296
297
  margin-inline-start: auto;
297
298
  }
298
- ._Input-input_1xuyz_45 {
299
+ ._Input-input_rcfsp_46 {
299
300
  background: transparent;
300
301
  border: none;
301
302
  border-radius: 0;
@@ -310,11 +311,11 @@
310
311
  outline: none;
311
312
  }
312
313
  @media (min-width: 458px) {
313
- ._Input-input_1xuyz_45 {
314
- font-size: 14px;
314
+ ._Input-input_rcfsp_46 {
315
+ font-size: 12px;
315
316
  }
316
317
  }
317
- select._Input-input_1xuyz_45 {
318
+ select._Input-input_rcfsp_46 {
318
319
  appearance: none;
319
320
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c3c3c3'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
320
321
  background-size: 12px;
@@ -323,29 +324,29 @@ select._Input-input_1xuyz_45 {
323
324
  background-color: var(--credbuild-color-white);
324
325
  cursor: pointer;
325
326
  }
326
- select._Input-input_1xuyz_45:dir(rtl) {
327
+ select._Input-input_rcfsp_46:dir(rtl) {
327
328
  background-position: 12px calc(50% + 3px);
328
329
  }
329
330
  @media (hover: hover) and (pointer: fine) {
330
- ._Input_1xuyz_1:has(> input):hover ._Input-input_1xuyz_45:not([readonly]),
331
- ._Input_1xuyz_1:has(> textarea):hover ._Input-input_1xuyz_45:not([readonly]) {
331
+ ._Input_rcfsp_1:has(> input):hover ._Input-input_rcfsp_46:not([readonly]),
332
+ ._Input_rcfsp_1:has(> textarea):hover ._Input-input_rcfsp_46:not([readonly]) {
332
333
  border-color: var(--credbuild-color-grey-05);
333
334
  transition: none;
334
335
  }
335
- ._Input_1xuyz_1:has(> select):hover ._Input-input_1xuyz_45:not([disabled]) {
336
+ ._Input_rcfsp_1:has(> select):hover ._Input-input_rcfsp_46:not([disabled]) {
336
337
  background-color: var(--credbuild-color-azure-12);
337
338
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%235a5a5a'><polygon points='0,0 100,0 50,50'/></svg>");
338
339
  border-color: var(--credbuild-color-grey-05);
339
340
  transition: none;
340
341
  }
341
342
  }
342
- ._Input-input_1xuyz_45:focus {
343
+ ._Input-input_rcfsp_46:focus {
343
344
  border-color: var(--credbuild-color-grey-05);
344
345
  outline: 2px solid var(--credbuild-color-azure-05);
345
346
  transition: none;
346
347
  }
347
- ._Input--readOnly_1xuyz_101 > ._Input-input_1xuyz_45,
348
- ._Input--readOnly_1xuyz_101 > select._Input-input_1xuyz_45 {
348
+ ._Input--readOnly_rcfsp_102 > ._Input-input_rcfsp_46,
349
+ ._Input--readOnly_rcfsp_102 > select._Input-input_rcfsp_46 {
349
350
  background-color: var(--credbuild-color-grey-11);
350
351
  border-color: var(--credbuild-color-grey-09);
351
352
  color: var(--credbuild-color-grey-04);
@@ -354,34 +355,34 @@ select._Input-input_1xuyz_45:dir(rtl) {
354
355
  outline: 0;
355
356
  transition: none;
356
357
  }
357
- ._Input-radioGroupItems_1xuyz_112 {
358
+ ._Input-radioGroupItems_rcfsp_113 {
358
359
  display: flex;
359
360
  border: 1px solid var(--credbuild-color-grey-09);
360
361
  border-radius: 4px;
361
362
  flex-wrap: wrap;
362
363
  }
363
- ._Input-radio_1xuyz_112 {
364
+ ._Input-radio_rcfsp_113 {
364
365
  border-inline-end: 1px solid var(--credbuild-color-grey-09);
365
366
  flex-grow: 1;
366
367
  }
367
- ._Input-radio_1xuyz_112:first-of-type {
368
+ ._Input-radio_rcfsp_113:first-of-type {
368
369
  border-bottom-left-radius: 4px;
369
370
  border-top-left-radius: 4px;
370
371
  }
371
- ._Input-radio_1xuyz_112:first-of-type ._Input-radioInner_1xuyz_129 {
372
+ ._Input-radio_rcfsp_113:first-of-type ._Input-radioInner_rcfsp_130 {
372
373
  border-bottom-left-radius: 3px;
373
374
  border-top-left-radius: 3px;
374
375
  }
375
- ._Input-radio_1xuyz_112:last-of-type {
376
+ ._Input-radio_rcfsp_113:last-of-type {
376
377
  border-bottom-right-radius: 4px;
377
378
  border-inline-end: 0;
378
379
  border-top-right-radius: 4px;
379
380
  }
380
- ._Input-radio_1xuyz_112:last-of-type ._Input-radioInner_1xuyz_129 {
381
+ ._Input-radio_rcfsp_113:last-of-type ._Input-radioInner_rcfsp_130 {
381
382
  border-bottom-right-radius: 3px;
382
383
  border-top-right-radius: 3px;
383
384
  }
384
- ._Input-radioInner_1xuyz_129 {
385
+ ._Input-radioInner_rcfsp_130 {
385
386
  background-color: var(--credbuild-color-white);
386
387
  color: var(--credbuild-color-grey-04);
387
388
  cursor: pointer;
@@ -390,32 +391,32 @@ select._Input-input_1xuyz_45:dir(rtl) {
390
391
  text-align: center;
391
392
  transition: background-color 50ms ease-in;
392
393
  }
393
- ._Input-radio_1xuyz_112:has(:focus-visible) {
394
+ ._Input-radio_rcfsp_113:has(:focus-visible) {
394
395
  outline: 2px solid var(--credbuild-color-azure-05);
395
396
  outline-offset: 2px;
396
397
  position: relative;
397
398
  }
398
399
  @media (hover: hover) and (pointer: fine) {
399
- ._Input-radioInner_1xuyz_129:hover {
400
+ ._Input-radioInner_rcfsp_130:hover {
400
401
  background-color: var(--credbuild-color-azure-12);
401
402
  transition: none;
402
403
  }
403
404
  }
404
- ._Input--readOnly_1xuyz_101 ._Input-radioInner_1xuyz_129 {
405
+ ._Input--readOnly_rcfsp_102 ._Input-radioInner_rcfsp_130 {
405
406
  background-color: var(--credbuild-color-white);
406
407
  color: var(--credbuild-color-grey-04);
407
408
  cursor: default;
408
409
  }
409
- ._Input-radio_1xuyz_112 ._Input-radioInput_1xuyz_174:checked ~ ._Input-radioInner_1xuyz_129 {
410
+ ._Input-radio_rcfsp_113 ._Input-radioInput_rcfsp_175:checked ~ ._Input-radioInner_rcfsp_130 {
410
411
  background-color: var(--credbuild-color-azure-11);
411
412
  color: var(--credbuild-color-azure-04);
412
413
  font-weight: 500;
413
414
  }
414
- ._Input--readOnly_1xuyz_101 ._Input-radioInput_1xuyz_174:checked ~ ._Input-radioInner_1xuyz_129 {
415
+ ._Input--readOnly_rcfsp_102 ._Input-radioInput_rcfsp_175:checked ~ ._Input-radioInner_rcfsp_130 {
415
416
  background-color: var(--credbuild-color-grey-11);
416
417
  color: var(--credbuild-color-grey-04);
417
418
  }
418
- ._Input-radio_1xuyz_112 ._Input-radioInput_1xuyz_174 {
419
+ ._Input-radio_rcfsp_113 ._Input-radioInput_rcfsp_175 {
419
420
  clip: rect(0 0 0 0);
420
421
  clip-path: inset(100%);
421
422
  height: 1px;
@@ -424,7 +425,7 @@ select._Input-input_1xuyz_45:dir(rtl) {
424
425
  white-space: nowrap;
425
426
  width: 1px;
426
427
  }
427
- textarea._Input-input_1xuyz_45 {
428
+ textarea._Input-input_rcfsp_46 {
428
429
  margin-bottom: -4px;
429
430
  }
430
431