snice 3.10.2 → 3.10.4
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/bin/templates/CLAUDE.md +13 -0
- package/dist/components/card/snice-card.js +1 -1
- package/dist/components/card/snice-card.js.map +1 -1
- package/dist/index.cjs +20 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +20 -15
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +20 -15
- package/dist/index.iife.js.map +1 -1
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/package.json +1 -1
package/bin/templates/CLAUDE.md
CHANGED
|
@@ -150,6 +150,19 @@ html`<el @snice/qr-scan=${handler}></el>`
|
|
|
150
150
|
```
|
|
151
151
|
The first `@` is template syntax for events, second `@` is part of the event name.
|
|
152
152
|
|
|
153
|
+
## Navigation
|
|
154
|
+
|
|
155
|
+
**Use hash-based URLs, NOT router.navigate():**
|
|
156
|
+
```typescript
|
|
157
|
+
// Correct:
|
|
158
|
+
html`<a href="/#/users/123">View User</a>`
|
|
159
|
+
window.location.hash = '#/users/123'
|
|
160
|
+
|
|
161
|
+
// Wrong:
|
|
162
|
+
router.navigate('/users/123')
|
|
163
|
+
```
|
|
164
|
+
`router.navigate()` does not change the URL.
|
|
165
|
+
|
|
153
166
|
## Common Mistakes
|
|
154
167
|
|
|
155
168
|
**Controllers are NOT global services.** They attach to elements via `controller="name"`. Use `utils/` for shared logic like API calls, auth, toasts.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from 'tslib';
|
|
2
2
|
import { element, property, ready, render, styles, html, css } from 'snice';
|
|
3
3
|
|
|
4
|
-
var cssContent = ":host{display:block;--card-padding:1rem;--card-border-radius:
|
|
4
|
+
var cssContent = ":host{display:block;--card-padding:var(--snice-spacing-md, 1rem);--card-border-radius:var(--snice-border-radius-lg, 0.5rem);--card-bg:var(--snice-color-background-element, rgb(252 251 249));--card-border-color:var(--snice-color-border, rgb(226 226 226));--card-shadow:var(--snice-shadow-sm, 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1));--card-hover-shadow:var(--snice-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))}.card{background:var(--card-bg);border-radius:var(--card-border-radius);overflow:hidden;position:relative;height:100%;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;color:var(--snice-color-text,rgb(23 23 23))}:host([variant=elevated]) .card{box-shadow:var(--card-shadow);border:1px solid transparent}:host([variant=bordered]) .card{border:1px solid var(--card-border-color);box-shadow:none}:host([variant=flat]) .card{border:none;box-shadow:none;background:var(--snice-color-background-secondary,rgb(250 250 250))}:host([clickable]) .card{cursor:pointer;user-select:none}:host([clickable]:not([disabled])) .card:hover{transform:translateY(-2px)}:host([clickable][variant=elevated]:not([disabled])) .card:hover{box-shadow:var(--card-hover-shadow)}:host([clickable][variant=bordered]:not([disabled])) .card:hover{border-color:var(--snice-color-primary,rgb(59 130 246))}:host([clickable][variant=flat]:not([disabled])) .card:hover{background:var(--snice-color-background-tertiary,rgb(241 241 241))}:host([clickable]:not([disabled])) .card:active{transform:translateY(0)}:host([selected]) .card{border-color:var(--snice-color-primary,rgb(59 130 246))}:host([selected][variant=bordered]) .card,:host([selected][variant=elevated]) .card{border-width:2px;border-color:var(--snice-color-primary,rgb(59 130 246))}:host([selected][variant=flat]) .card{background:var(--snice-color-primary-subtle,rgb(239 246 255));border:2px solid var(--snice-color-primary,rgb(59 130 246))}:host([disabled]){pointer-events:none;opacity:.5}:host([disabled]) .card{cursor:not-allowed}:host([size=small]){--card-padding:var(--snice-spacing-sm, 0.75rem);--card-border-radius:var(--snice-border-radius-md, 0.25rem)}:host([size=large]){--card-padding:var(--snice-spacing-lg, 1.5rem);--card-border-radius:var(--snice-border-radius-xl, 1rem)}.card-header{padding:var(--card-padding);border-bottom:1px solid var(--card-border-color)}.card-body{flex:1;padding:var(--card-padding)}.card-footer{padding:var(--card-padding);border-top:1px solid var(--card-border-color)}::slotted([slot=image]){width:100%;height:auto;display:block;border-radius:var(--card-border-radius) var(--card-border-radius) 0 0}.card-image-slot+.card-header:not([hidden]){border-radius:0}[hidden]{display:none!important}:host([clickable]) .card:focus-visible{outline:var(--snice-focus-ring-width,2px) solid var(--snice-color-border-focus,rgb(59 130 246));outline-offset:var(--snice-focus-ring-offset,2px)}";
|
|
5
5
|
|
|
6
6
|
let SniceCard = (() => {
|
|
7
7
|
let _classDecorators = [element('snice-card')];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snice-card.js","sources":["../../../components/card/snice-card.css?inline","../../../../components/card/snice-card.ts"],"sourcesContent":["export default \":host{display:block;--card-padding:1rem;--card-border-radius:8px;--card-bg:white;--card-border-color:rgb(var(--snice-color-gray-200, 226 226 226));--card-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--card-hover-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06)}.card{background:var(--card-bg);border-radius:var(--card-border-radius);overflow:hidden;position:relative;height:100%;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}:host([variant=elevated]) .card{box-shadow:var(--card-shadow);border:1px solid transparent}:host([variant=bordered]) .card{border:1px solid var(--card-border-color);box-shadow:none}:host([variant=flat]) .card{border:none;box-shadow:none;background:rgb(var(--snice-color-gray-50,250 250 250))}:host([clickable]) .card{cursor:pointer;user-select:none}:host([clickable]:not([disabled])) .card:hover{transform:translateY(-2px)}:host([clickable][variant=elevated]:not([disabled])) .card:hover{box-shadow:var(--card-hover-shadow)}:host([clickable][variant=bordered]:not([disabled])) .card:hover{border-color:rgb(var(--snice-color-blue-500,59 130 246))}:host([clickable][variant=flat]:not([disabled])) .card:hover{background:rgb(var(--snice-color-gray-100,241 241 241))}:host([clickable]:not([disabled])) .card:active{transform:translateY(0)}:host([selected]) .card{border-color:rgb(var(--snice-color-blue-500,59 130 246))}:host([selected][variant=bordered]) .card,:host([selected][variant=elevated]) .card{border-width:2px;border-color:rgb(var(--snice-color-blue-500,59 130 246))}:host([selected][variant=flat]) .card{background:rgb(var(--snice-color-blue-50,239 246 255));border:2px solid rgb(var(--snice-color-blue-500,59 130 246))}:host([disabled]){pointer-events:none;opacity:.5}:host([disabled]) .card{cursor:not-allowed}:host([size=small]){--card-padding:12px;--card-border-radius:6px}:host([size=large]){--card-padding:24px;--card-border-radius:12px}.card-header{padding:var(--card-padding);border-bottom:1px solid var(--card-border-color)}.card-body{flex:1;padding:var(--card-padding)}.card-footer{padding:var(--card-padding);border-top:1px solid var(--card-border-color)}::slotted([slot=image]){width:100%;height:auto;display:block;border-radius:var(--card-border-radius) var(--card-border-radius) 0 0}.card-image-slot+.card-header:not([hidden]){border-radius:0}[hidden]{display:none!important}:host([clickable]) .card:focus-visible{outline:2px solid rgb(var(--snice-color-blue-500,59 130 246));outline-offset:2px}\";",null],"names":["cssTag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snice-card.js","sources":["../../../components/card/snice-card.css?inline","../../../../components/card/snice-card.ts"],"sourcesContent":["export default \":host{display:block;--card-padding:var(--snice-spacing-md, 1rem);--card-border-radius:var(--snice-border-radius-lg, 0.5rem);--card-bg:var(--snice-color-background-element, rgb(252 251 249));--card-border-color:var(--snice-color-border, rgb(226 226 226));--card-shadow:var(--snice-shadow-sm, 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1));--card-hover-shadow:var(--snice-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))}.card{background:var(--card-bg);border-radius:var(--card-border-radius);overflow:hidden;position:relative;height:100%;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;color:var(--snice-color-text,rgb(23 23 23))}:host([variant=elevated]) .card{box-shadow:var(--card-shadow);border:1px solid transparent}:host([variant=bordered]) .card{border:1px solid var(--card-border-color);box-shadow:none}:host([variant=flat]) .card{border:none;box-shadow:none;background:var(--snice-color-background-secondary,rgb(250 250 250))}:host([clickable]) .card{cursor:pointer;user-select:none}:host([clickable]:not([disabled])) .card:hover{transform:translateY(-2px)}:host([clickable][variant=elevated]:not([disabled])) .card:hover{box-shadow:var(--card-hover-shadow)}:host([clickable][variant=bordered]:not([disabled])) .card:hover{border-color:var(--snice-color-primary,rgb(59 130 246))}:host([clickable][variant=flat]:not([disabled])) .card:hover{background:var(--snice-color-background-tertiary,rgb(241 241 241))}:host([clickable]:not([disabled])) .card:active{transform:translateY(0)}:host([selected]) .card{border-color:var(--snice-color-primary,rgb(59 130 246))}:host([selected][variant=bordered]) .card,:host([selected][variant=elevated]) .card{border-width:2px;border-color:var(--snice-color-primary,rgb(59 130 246))}:host([selected][variant=flat]) .card{background:var(--snice-color-primary-subtle,rgb(239 246 255));border:2px solid var(--snice-color-primary,rgb(59 130 246))}:host([disabled]){pointer-events:none;opacity:.5}:host([disabled]) .card{cursor:not-allowed}:host([size=small]){--card-padding:var(--snice-spacing-sm, 0.75rem);--card-border-radius:var(--snice-border-radius-md, 0.25rem)}:host([size=large]){--card-padding:var(--snice-spacing-lg, 1.5rem);--card-border-radius:var(--snice-border-radius-xl, 1rem)}.card-header{padding:var(--card-padding);border-bottom:1px solid var(--card-border-color)}.card-body{flex:1;padding:var(--card-padding)}.card-footer{padding:var(--card-padding);border-top:1px solid var(--card-border-color)}::slotted([slot=image]){width:100%;height:auto;display:block;border-radius:var(--card-border-radius) var(--card-border-radius) 0 0}.card-image-slot+.card-header:not([hidden]){border-radius:0}[hidden]{display:none!important}:host([clickable]) .card:focus-visible{outline:var(--snice-focus-ring-width,2px) solid var(--snice-color-border-focus,rgb(59 130 246));outline-offset:var(--snice-focus-ring-offset,2px)}\";",null],"names":["cssTag"],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v3.10.
|
|
2
|
+
* snice v3.10.3
|
|
3
3
|
* Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -3014,17 +3014,19 @@ function applyElementFunctionality(constructor) {
|
|
|
3014
3014
|
}
|
|
3015
3015
|
}
|
|
3016
3016
|
}
|
|
3017
|
-
//
|
|
3018
|
-
//
|
|
3017
|
+
// Clear pre-init values for properties that have HTML attributes
|
|
3018
|
+
// This prevents field initializers from overwriting HTML attributes later
|
|
3019
3019
|
if (this[PRE_INIT_PROPERTY_VALUES]) {
|
|
3020
|
-
for (const [propName, propValue] of this[PRE_INIT_PROPERTY_VALUES]) {
|
|
3021
|
-
// Remove from map first so getter doesn't return it during setter call
|
|
3022
|
-
this[PRE_INIT_PROPERTY_VALUES].delete(propName);
|
|
3023
|
-
// Only apply pre-init value if NO HTML attribute exists
|
|
3024
|
-
// This prevents field initializers from overwriting HTML attributes
|
|
3020
|
+
for (const [propName, propValue] of Array.from(this[PRE_INIT_PROPERTY_VALUES].entries())) {
|
|
3025
3021
|
const propOptions = properties?.get(propName);
|
|
3026
3022
|
const attributeName = typeof propOptions?.attribute === 'string' ? propOptions.attribute : propName.toLowerCase();
|
|
3027
|
-
if (
|
|
3023
|
+
if (this.hasAttribute(attributeName)) {
|
|
3024
|
+
// Attribute exists - remove from PRE_INIT to prevent overwriting
|
|
3025
|
+
this[PRE_INIT_PROPERTY_VALUES].delete(propName);
|
|
3026
|
+
}
|
|
3027
|
+
else {
|
|
3028
|
+
// No attribute - apply the pre-init value
|
|
3029
|
+
this[PRE_INIT_PROPERTY_VALUES].delete(propName);
|
|
3028
3030
|
this[propName] = propValue;
|
|
3029
3031
|
}
|
|
3030
3032
|
}
|
|
@@ -3284,16 +3286,18 @@ function property(options) {
|
|
|
3284
3286
|
context.metadata[PROPERTIES].set(propertyKey, options || {});
|
|
3285
3287
|
// Return a field initializer function for new decorators
|
|
3286
3288
|
return function (initialValue) {
|
|
3289
|
+
// Ensure constructor[PROPERTIES] exists
|
|
3290
|
+
const constructor = this.constructor;
|
|
3291
|
+
if (!constructor[PROPERTIES]) {
|
|
3292
|
+
constructor[PROPERTIES] = new Map();
|
|
3293
|
+
}
|
|
3287
3294
|
// Detect type from initial value if not explicitly provided
|
|
3288
3295
|
const finalOptions = { ...options };
|
|
3289
3296
|
if (!finalOptions.type && initialValue !== undefined) {
|
|
3290
3297
|
finalOptions.type = detectType(initialValue);
|
|
3291
|
-
// Update the metadata with the detected type
|
|
3292
|
-
const constructor = this.constructor;
|
|
3293
|
-
if (constructor[PROPERTIES]) {
|
|
3294
|
-
constructor[PROPERTIES].set(propertyKey, finalOptions);
|
|
3295
|
-
}
|
|
3296
3298
|
}
|
|
3299
|
+
// Always store property options on constructor for runtime access
|
|
3300
|
+
constructor[PROPERTIES].set(propertyKey, finalOptions);
|
|
3297
3301
|
// Set up the property descriptor on first access
|
|
3298
3302
|
if (!Object.hasOwnProperty.call(this.constructor.prototype, propertyKey)) {
|
|
3299
3303
|
const descriptor = {
|
|
@@ -3322,8 +3326,9 @@ function property(options) {
|
|
|
3322
3326
|
// Get old value by calling the getter (which reads from attribute)
|
|
3323
3327
|
const oldValue = this[propertyKey];
|
|
3324
3328
|
// Check if value actually changed
|
|
3325
|
-
if (oldValue === newValue)
|
|
3329
|
+
if (oldValue === newValue) {
|
|
3326
3330
|
return;
|
|
3331
|
+
}
|
|
3327
3332
|
// Don't reflect to DOM until connectedCallback has started
|
|
3328
3333
|
// This prevents field initializers from overwriting HTML attributes
|
|
3329
3334
|
if (!this[PROPERTIES_INITIALIZED]) {
|