@tecof/theme-editor 0.0.28 → 0.0.30

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/styles.css CHANGED
@@ -2031,4 +2031,382 @@
2031
2031
  color: var(--tecof-primary-600, #2563eb);
2032
2032
  border-color: var(--tecof-primary-400, #60a5fa);
2033
2033
  background: var(--tecof-primary-50, #eff6ff);
2034
+ }
2035
+
2036
+ /* ─── CmsCollectionField ─── */
2037
+
2038
+ .tecof-cms-col-container {
2039
+ width: 100%;
2040
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
2041
+ display: flex;
2042
+ flex-direction: column;
2043
+ gap: 8px;
2044
+ }
2045
+
2046
+ .tecof-cms-col-loading {
2047
+ display: flex;
2048
+ align-items: center;
2049
+ gap: 8px;
2050
+ padding: 10px;
2051
+ font-size: 12px;
2052
+ color: #a1a1aa;
2053
+ }
2054
+
2055
+ .tecof-cms-col-error {
2056
+ display: flex;
2057
+ align-items: center;
2058
+ gap: 8px;
2059
+ padding: 10px;
2060
+ font-size: 12px;
2061
+ color: #ef4444;
2062
+ background: #fef2f2;
2063
+ border-radius: 8px;
2064
+ }
2065
+
2066
+ .tecof-cms-col-retry {
2067
+ display: inline-flex;
2068
+ align-items: center;
2069
+ gap: 4px;
2070
+ padding: 4px 8px;
2071
+ font-size: 11px;
2072
+ background: #fff;
2073
+ border: 1px solid #fca5a5;
2074
+ border-radius: 4px;
2075
+ cursor: pointer;
2076
+ color: #ef4444;
2077
+ margin-left: auto;
2078
+ }
2079
+
2080
+ /* ── Selector Trigger ── */
2081
+
2082
+ .tecof-cms-col-selector {
2083
+ position: relative;
2084
+ }
2085
+
2086
+ .tecof-cms-col-trigger {
2087
+ display: flex;
2088
+ align-items: center;
2089
+ justify-content: space-between;
2090
+ width: 100%;
2091
+ padding: 8px 12px;
2092
+ background: #fff;
2093
+ border: 1px solid #e4e4e7;
2094
+ border-radius: 8px;
2095
+ cursor: pointer;
2096
+ transition: all 0.15s ease;
2097
+ font-size: 13px;
2098
+ color: #3f3f46;
2099
+ }
2100
+
2101
+ .tecof-cms-col-trigger:hover {
2102
+ border-color: #d4d4d8;
2103
+ }
2104
+
2105
+ .tecof-cms-col-trigger.open {
2106
+ border-color: var(--tecof-primary-500, #3b82f6);
2107
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.08);
2108
+ }
2109
+
2110
+ .tecof-cms-col-trigger-left {
2111
+ display: flex;
2112
+ align-items: center;
2113
+ gap: 8px;
2114
+ min-width: 0;
2115
+ flex: 1;
2116
+ color: #71717a;
2117
+ }
2118
+
2119
+ .tecof-cms-col-trigger-left span {
2120
+ white-space: nowrap;
2121
+ overflow: hidden;
2122
+ text-overflow: ellipsis;
2123
+ }
2124
+
2125
+ .tecof-cms-col-trigger-right {
2126
+ display: flex;
2127
+ align-items: center;
2128
+ gap: 4px;
2129
+ flex-shrink: 0;
2130
+ }
2131
+
2132
+ .tecof-cms-col-clear {
2133
+ display: inline-flex;
2134
+ align-items: center;
2135
+ justify-content: center;
2136
+ width: 20px;
2137
+ height: 20px;
2138
+ background: none;
2139
+ border: none;
2140
+ border-radius: 4px;
2141
+ cursor: pointer;
2142
+ color: #a1a1aa;
2143
+ padding: 0;
2144
+ }
2145
+
2146
+ .tecof-cms-col-clear:hover {
2147
+ background: #f4f4f5;
2148
+ color: #ef4444;
2149
+ }
2150
+
2151
+ .tecof-cms-col-chevron {
2152
+ color: #a1a1aa;
2153
+ transition: transform 0.2s ease;
2154
+ }
2155
+
2156
+ .tecof-cms-col-chevron.rotated {
2157
+ transform: rotate(180deg);
2158
+ }
2159
+
2160
+ /* ── Dropdown ── */
2161
+
2162
+ .tecof-cms-col-dropdown {
2163
+ position: absolute;
2164
+ top: calc(100% + 4px);
2165
+ left: 0;
2166
+ right: 0;
2167
+ background: #fff;
2168
+ border: 1px solid #e4e4e7;
2169
+ border-radius: 10px;
2170
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
2171
+ z-index: 100;
2172
+ overflow: hidden;
2173
+ }
2174
+
2175
+ .tecof-cms-col-search {
2176
+ display: flex;
2177
+ align-items: center;
2178
+ gap: 6px;
2179
+ padding: 8px 10px;
2180
+ border-bottom: 1px solid #f4f4f5;
2181
+ color: #a1a1aa;
2182
+ }
2183
+
2184
+ .tecof-cms-col-search-input {
2185
+ flex: 1;
2186
+ border: none;
2187
+ outline: none;
2188
+ font-size: 12px;
2189
+ background: transparent;
2190
+ color: #3f3f46;
2191
+ }
2192
+
2193
+ .tecof-cms-col-options {
2194
+ max-height: 200px;
2195
+ overflow-y: auto;
2196
+ padding: 4px;
2197
+ }
2198
+
2199
+ .tecof-cms-col-empty {
2200
+ padding: 16px;
2201
+ text-align: center;
2202
+ font-size: 12px;
2203
+ color: #a1a1aa;
2204
+ }
2205
+
2206
+ .tecof-cms-col-option {
2207
+ display: flex;
2208
+ align-items: center;
2209
+ gap: 8px;
2210
+ width: 100%;
2211
+ padding: 8px 10px;
2212
+ background: none;
2213
+ border: none;
2214
+ border-radius: 6px;
2215
+ cursor: pointer;
2216
+ transition: background-color 0.12s ease;
2217
+ text-align: left;
2218
+ color: #71717a;
2219
+ }
2220
+
2221
+ .tecof-cms-col-option:hover {
2222
+ background: #f4f4f5;
2223
+ }
2224
+
2225
+ .tecof-cms-col-option.selected {
2226
+ background: var(--tecof-primary-50, #eff6ff);
2227
+ color: var(--tecof-primary-600, #2563eb);
2228
+ }
2229
+
2230
+ .tecof-cms-col-option-info {
2231
+ display: flex;
2232
+ flex-direction: column;
2233
+ gap: 1px;
2234
+ min-width: 0;
2235
+ }
2236
+
2237
+ .tecof-cms-col-option-name {
2238
+ font-size: 13px;
2239
+ font-weight: 500;
2240
+ color: #3f3f46;
2241
+ }
2242
+
2243
+ .tecof-cms-col-option.selected .tecof-cms-col-option-name {
2244
+ color: var(--tecof-primary-700, #1d4ed8);
2245
+ }
2246
+
2247
+ .tecof-cms-col-option-slug {
2248
+ font-size: 10px;
2249
+ color: #a1a1aa;
2250
+ }
2251
+
2252
+ /* ── Settings ── */
2253
+
2254
+ .tecof-cms-col-settings {
2255
+ display: flex;
2256
+ gap: 8px;
2257
+ }
2258
+
2259
+ .tecof-cms-col-setting {
2260
+ flex: 1;
2261
+ display: flex;
2262
+ flex-direction: column;
2263
+ gap: 4px;
2264
+ }
2265
+
2266
+ .tecof-cms-col-setting-label {
2267
+ font-size: 10px;
2268
+ font-weight: 600;
2269
+ color: #a1a1aa;
2270
+ text-transform: uppercase;
2271
+ letter-spacing: 0.04em;
2272
+ }
2273
+
2274
+ .tecof-cms-col-setting-input {
2275
+ padding: 6px 8px;
2276
+ font-size: 12px;
2277
+ border: 1px solid #e4e4e7;
2278
+ border-radius: 6px;
2279
+ outline: none;
2280
+ width: 100%;
2281
+ transition: border-color 0.15s ease;
2282
+ }
2283
+
2284
+ .tecof-cms-col-setting-input:focus {
2285
+ border-color: var(--tecof-primary-500, #3b82f6);
2286
+ }
2287
+
2288
+ .tecof-cms-col-sort-btns {
2289
+ display: flex;
2290
+ gap: 0;
2291
+ border: 1px solid #e4e4e7;
2292
+ border-radius: 6px;
2293
+ overflow: hidden;
2294
+ }
2295
+
2296
+ .tecof-cms-col-sort-btn {
2297
+ flex: 1;
2298
+ padding: 5px 6px;
2299
+ font-size: 11px;
2300
+ font-weight: 500;
2301
+ background: #fff;
2302
+ border: none;
2303
+ cursor: pointer;
2304
+ color: #71717a;
2305
+ transition: all 0.12s ease;
2306
+ }
2307
+
2308
+ .tecof-cms-col-sort-btn:first-child {
2309
+ border-right: 1px solid #e4e4e7;
2310
+ }
2311
+
2312
+ .tecof-cms-col-sort-btn.active {
2313
+ background: var(--tecof-primary-50, #eff6ff);
2314
+ color: var(--tecof-primary-600, #2563eb);
2315
+ font-weight: 600;
2316
+ }
2317
+
2318
+ .tecof-cms-col-sort-btn:hover:not(.active) {
2319
+ background: #f4f4f5;
2320
+ }
2321
+
2322
+ /* ── Badge ── */
2323
+
2324
+ .tecof-cms-col-badge {
2325
+ display: inline-flex;
2326
+ align-items: center;
2327
+ gap: 6px;
2328
+ padding: 4px 10px;
2329
+ font-size: 11px;
2330
+ font-weight: 500;
2331
+ color: var(--tecof-primary-600, #2563eb);
2332
+ background: var(--tecof-primary-50, #eff6ff);
2333
+ border-radius: 6px;
2334
+ align-self: flex-start;
2335
+ }
2336
+
2337
+ .tecof-cms-col-badge-count {
2338
+ font-size: 10px;
2339
+ color: #a1a1aa;
2340
+ font-weight: 400;
2341
+ }
2342
+
2343
+ /* ── Field Mapping ── */
2344
+
2345
+ .tecof-cms-col-mapping {
2346
+ border: 1px solid #e4e4e7;
2347
+ border-radius: 8px;
2348
+ overflow: hidden;
2349
+ }
2350
+
2351
+ .tecof-cms-col-mapping-header {
2352
+ display: flex;
2353
+ align-items: center;
2354
+ gap: 6px;
2355
+ padding: 6px 10px;
2356
+ font-size: 10px;
2357
+ font-weight: 600;
2358
+ color: #71717a;
2359
+ background: #fafafa;
2360
+ border-bottom: 1px solid #f4f4f5;
2361
+ text-transform: uppercase;
2362
+ letter-spacing: 0.04em;
2363
+ }
2364
+
2365
+ .tecof-cms-col-mapping-rows {
2366
+ display: flex;
2367
+ flex-direction: column;
2368
+ gap: 0;
2369
+ }
2370
+
2371
+ .tecof-cms-col-mapping-row {
2372
+ display: flex;
2373
+ align-items: center;
2374
+ gap: 8px;
2375
+ padding: 6px 10px;
2376
+ border-bottom: 1px solid #f4f4f5;
2377
+ }
2378
+
2379
+ .tecof-cms-col-mapping-row:last-child {
2380
+ border-bottom: none;
2381
+ }
2382
+
2383
+ .tecof-cms-col-mapping-label {
2384
+ flex-shrink: 0;
2385
+ width: 80px;
2386
+ font-size: 12px;
2387
+ font-weight: 500;
2388
+ color: #52525b;
2389
+ }
2390
+
2391
+ .tecof-cms-col-mapping-select {
2392
+ flex: 1;
2393
+ padding: 5px 8px;
2394
+ font-size: 12px;
2395
+ border: 1px solid #e4e4e7;
2396
+ border-radius: 6px;
2397
+ background: #fff;
2398
+ color: #3f3f46;
2399
+ outline: none;
2400
+ cursor: pointer;
2401
+ transition: border-color 0.15s ease;
2402
+ appearance: auto;
2403
+ }
2404
+
2405
+ .tecof-cms-col-mapping-select:focus {
2406
+ border-color: var(--tecof-primary-500, #3b82f6);
2407
+ }
2408
+
2409
+ .tecof-cms-col-mapping-select:disabled {
2410
+ opacity: 0.5;
2411
+ cursor: not-allowed;
2034
2412
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tecof/theme-editor",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "description": "React theme editor library for Tecof projects",
5
5
  "keywords": [
6
6
  "react",