@proyecto-viviana/solid-stately 0.6.0-rc.1 → 0.6.0-rc.2
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/form/createFormValidationState.d.ts.map +1 -1
- package/dist/index.js +32 -7
- package/dist/index.js.map +1 -1
- package/dist/textfield/createTextFieldState.d.ts.map +1 -1
- package/dist/toggle/createToggleGroupState.d.ts +0 -8
- package/dist/toggle/createToggleGroupState.d.ts.map +1 -1
- package/dist/toggle/createToggleState.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/form/createFormValidationState.ts +6 -2
- package/src/textfield/createTextFieldState.ts +6 -3
- package/src/toggle/createToggleGroupState.ts +4 -2
- package/src/toggle/createToggleState.ts +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFormValidationState.d.ts","sourceRoot":"","sources":["../../src/form/createFormValidationState.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,4BAA4B;AAC5B,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,iBAAiB,EAAE,aAAa,CAAC;IACjC,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAEjE,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAEjG,gCAAgC;AAChC,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,kCAAkC;IAClC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,2BAA2B;IAC3B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/C,2FAA2F;IAC3F,iBAAiB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC9C,2GAA2G;IAC3G,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjD,oFAAoF;IACpF,eAAe,IAAI,IAAI,CAAC;IACxB,sEAAsE;IACtE,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED,8BAA8B;AAC9B,eAAO,MAAM,oBAAoB,EAAE,aAYlC,CAAC;AASF,yCAAyC;AACzC,eAAO,MAAM,yBAAyB,EAAE,gBAIvC,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,8CAAsC,CAAC;AAczE,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,QAAuC,CAAC;AA6C/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"createFormValidationState.d.ts","sourceRoot":"","sources":["../../src/form/createFormValidationState.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,4BAA4B;AAC5B,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,iBAAiB,EAAE,aAAa,CAAC;IACjC,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAEjE,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAEjG,gCAAgC;AAChC,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,kCAAkC;IAClC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,2BAA2B;IAC3B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/C,2FAA2F;IAC3F,iBAAiB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC9C,2GAA2G;IAC3G,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjD,oFAAoF;IACpF,eAAe,IAAI,IAAI,CAAC;IACxB,sEAAsE;IACtE,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED,8BAA8B;AAC9B,eAAO,MAAM,oBAAoB,EAAE,aAYlC,CAAC;AASF,yCAAyC;AACzC,eAAO,MAAM,yBAAyB,EAAE,gBAIvC,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,8CAAsC,CAAC;AAczE,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,QAAuC,CAAC;AA6C/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAiK/F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAwBhF"}
|
package/dist/index.js
CHANGED
|
@@ -756,12 +756,19 @@ function useContextOptional(context) {
|
|
|
756
756
|
//#endregion
|
|
757
757
|
//#region src/toggle/createToggleState.ts
|
|
758
758
|
/**
|
|
759
|
+
* Toggle state for Solid Stately
|
|
760
|
+
*
|
|
761
|
+
* Provides state management for toggle components like checkboxes and switches.
|
|
762
|
+
*
|
|
763
|
+
* This is a 1:1 port of @react-stately/toggle's useToggleState.
|
|
764
|
+
*/
|
|
765
|
+
/**
|
|
759
766
|
* Provides state management for toggle components like checkboxes and switches.
|
|
760
767
|
*/
|
|
761
768
|
function createToggleState(props = {}) {
|
|
762
769
|
const getProps = () => access(props);
|
|
763
|
-
const
|
|
764
|
-
const initialSelected =
|
|
770
|
+
const initialDefaultSelected = untrack(() => getProps().defaultSelected);
|
|
771
|
+
const initialSelected = untrack(() => getProps().isSelected) ?? initialDefaultSelected ?? false;
|
|
765
772
|
const [internalSelected, setInternalSelected] = createInternalSignal(initialSelected);
|
|
766
773
|
const isControlled = () => getProps().isSelected !== void 0;
|
|
767
774
|
const isSelected = () => {
|
|
@@ -781,13 +788,21 @@ function createToggleState(props = {}) {
|
|
|
781
788
|
}
|
|
782
789
|
return {
|
|
783
790
|
isSelected,
|
|
784
|
-
defaultSelected:
|
|
791
|
+
defaultSelected: initialDefaultSelected ?? initialSelected,
|
|
785
792
|
setSelected,
|
|
786
793
|
toggle
|
|
787
794
|
};
|
|
788
795
|
}
|
|
789
796
|
//#endregion
|
|
790
797
|
//#region src/toggle/createToggleGroupState.ts
|
|
798
|
+
/**
|
|
799
|
+
* Toggle group state for Solid Stately
|
|
800
|
+
*
|
|
801
|
+
* Provides state management for groups of toggle buttons with
|
|
802
|
+
* single or multiple selection.
|
|
803
|
+
*
|
|
804
|
+
* This is a port of @react-stately/toggle's useToggleGroupState.
|
|
805
|
+
*/
|
|
791
806
|
function toKeySet(keys) {
|
|
792
807
|
return new Set(keys ? Array.from(keys) : []);
|
|
793
808
|
}
|
|
@@ -796,7 +811,7 @@ function toKeySet(keys) {
|
|
|
796
811
|
*/
|
|
797
812
|
function createToggleGroupState(props = {}) {
|
|
798
813
|
const getProps = () => access(props);
|
|
799
|
-
const [internalSelectedKeys, setInternalSelectedKeys] = createInternalSignal(toKeySet(getProps().defaultSelectedKeys));
|
|
814
|
+
const [internalSelectedKeys, setInternalSelectedKeys] = createInternalSignal(toKeySet(untrack(() => getProps().defaultSelectedKeys)));
|
|
800
815
|
const isControlled = () => getProps().selectedKeys !== void 0;
|
|
801
816
|
const selectedKeys = () => isControlled() ? toKeySet(getProps().selectedKeys) : internalSelectedKeys();
|
|
802
817
|
function setSelectedKeys(keys) {
|
|
@@ -881,13 +896,23 @@ function createAutocompleteState(props = {}) {
|
|
|
881
896
|
//#endregion
|
|
882
897
|
//#region src/textfield/createTextFieldState.ts
|
|
883
898
|
/**
|
|
899
|
+
* TextField state for Solid Stately
|
|
900
|
+
*
|
|
901
|
+
* Provides state management for text input components.
|
|
902
|
+
*
|
|
903
|
+
* This is a port of @react-stately/utils's useControlledState pattern
|
|
904
|
+
* as used by @react-aria/textfield.
|
|
905
|
+
*/
|
|
906
|
+
/**
|
|
884
907
|
* Provides state management for text input components.
|
|
885
908
|
* Supports both controlled and uncontrolled modes.
|
|
886
909
|
*/
|
|
887
910
|
function createTextFieldState(props = {}) {
|
|
888
911
|
const getProps = () => access(props);
|
|
889
|
-
const
|
|
890
|
-
|
|
912
|
+
const [internalValue, setInternalValue] = createInternalSignal(untrack(() => {
|
|
913
|
+
const initialProps = getProps();
|
|
914
|
+
return initialProps.value ?? initialProps.defaultValue ?? "";
|
|
915
|
+
}));
|
|
891
916
|
const isControlled = () => getProps().value !== void 0;
|
|
892
917
|
const value = () => {
|
|
893
918
|
const p = getProps();
|
|
@@ -1379,7 +1404,7 @@ function createFormValidationState(props) {
|
|
|
1379
1404
|
return controlledError() || serverError() || clientError() || builtinValidation() || currentValidity();
|
|
1380
1405
|
}),
|
|
1381
1406
|
updateValidation(value) {
|
|
1382
|
-
if (validationBehavior
|
|
1407
|
+
if (untrack(validationBehavior) === "aria" && !isEqualValidation(untrack(currentValidity), value)) setCurrentValidity(value);
|
|
1383
1408
|
else nextValidation = value;
|
|
1384
1409
|
},
|
|
1385
1410
|
resetValidation() {
|