@handamade/psi-react 0.24.0 → 0.26.0
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/README.md +1 -1
- package/dist/Checkbox/Checkbox.d.ts +8 -1
- package/dist/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/Dialog/Dialog.d.ts +17 -3
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Field/Field.d.ts +3 -0
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Menu/Menu.d.ts +11 -2
- package/dist/Menu/Menu.d.ts.map +1 -1
- package/dist/Menu/useMenuKeyboard.d.ts +5 -1
- package/dist/Menu/useMenuKeyboard.d.ts.map +1 -1
- package/dist/RadioGroup/Radio.d.ts +17 -0
- package/dist/RadioGroup/Radio.d.ts.map +1 -0
- package/dist/RadioGroup/RadioGroup.d.ts +40 -0
- package/dist/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/Table/TableSelectionCell.d.ts.map +1 -1
- package/dist/Textarea/Textarea.d.ts +25 -0
- package/dist/Textarea/Textarea.d.ts.map +1 -0
- package/dist/a11y-meta.d.ts.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1318 -1180
- package/dist/manifest.json +231 -3
- package/dist/patterns.json +105 -0
- package/dist/styles.css +1 -1
- package/docs/Checkbox.md +1 -0
- package/docs/Dialog.md +5 -2
- package/docs/Menu.md +4 -1
- package/docs/Radio.md +40 -0
- package/docs/RadioGroup.md +46 -0
- package/docs/Textarea.md +43 -0
- package/llms.txt +7 -4
- package/package.json +2 -2
package/dist/manifest.json
CHANGED
|
@@ -602,7 +602,28 @@
|
|
|
602
602
|
"type": "boolean",
|
|
603
603
|
"required": false,
|
|
604
604
|
"default": true,
|
|
605
|
-
"description": "false = no close button, Esc and backdrop swallowed — footer is the only exit."
|
|
605
|
+
"description": "false = no close button, Esc and backdrop swallowed — footer is the only exit.\n`closeOnEscape` can give Escape back on its own (D101)."
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"name": "closeOnEscape",
|
|
609
|
+
"type": "boolean",
|
|
610
|
+
"required": false,
|
|
611
|
+
"default": "dismissible",
|
|
612
|
+
"description": "Whether Escape reports onClose(\"esc\"), separately from the close button\nand the backdrop (D101). A consequential confirmation is\n`dismissible={false} closeOnEscape`: no close button, no backdrop\ndismissal, and Escape cancels."
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"name": "initialFocus",
|
|
616
|
+
"type": "RefObject<HTMLElement | null>",
|
|
617
|
+
"required": false,
|
|
618
|
+
"default": null,
|
|
619
|
+
"description": "The element to focus each time the dialog opens, after the platform's own\nfocusing (D101), e.g. a ref to the footer's Cancel button. Without it, the\nplatform focuses the first focusable control, as before."
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"name": "closeLabel",
|
|
623
|
+
"type": "string",
|
|
624
|
+
"required": false,
|
|
625
|
+
"default": null,
|
|
626
|
+
"description": "Visible text for the close button (D101). When set, the close button is a\nghost Button with this text instead of the icon-only \"Close dialog\"\nbutton."
|
|
606
627
|
},
|
|
607
628
|
{
|
|
608
629
|
"name": "ref",
|
|
@@ -639,6 +660,13 @@
|
|
|
639
660
|
"default": null,
|
|
640
661
|
"description": "Accessible name when there is no visible label — a table's row-selection\ncheckbox, say. Optional, unlike IconButton's required form (D60): a\nlabelled checkbox is still the common case."
|
|
641
662
|
},
|
|
663
|
+
{
|
|
664
|
+
"name": "indeterminate",
|
|
665
|
+
"type": "boolean",
|
|
666
|
+
"required": false,
|
|
667
|
+
"default": null,
|
|
668
|
+
"description": "The mixed state, e.g. a \"select all\" over a partial selection (D103).\nSets the input's DOM property, which the platform exposes as\naria-checked=\"mixed\", and draws a dash. Re-applied on every render,\nbecause a click clears the property before the consumer re-renders.\nWhen absent, the property is left alone, so a state set through the ref\nsurvives."
|
|
669
|
+
},
|
|
642
670
|
{
|
|
643
671
|
"name": "ref",
|
|
644
672
|
"type": "Ref<HTMLInputElement>",
|
|
@@ -683,6 +711,199 @@
|
|
|
683
711
|
}
|
|
684
712
|
]
|
|
685
713
|
},
|
|
714
|
+
{
|
|
715
|
+
"name": "Textarea",
|
|
716
|
+
"description": "Multi-line text input (D104): the Input recipe on a native `<textarea>`. Inside a Field, id/aria-describedby/aria-invalid/required are wired as for Input (D49). `minLength` and `maxLength` are the native attributes. With `maxLength`, a counter under the control shows the length; it is not a live region (a count spoken on every keystroke is noise) and joins aria-describedby, so it is read with the field on focus.",
|
|
717
|
+
"slots": [],
|
|
718
|
+
"props": [
|
|
719
|
+
{
|
|
720
|
+
"name": "rows",
|
|
721
|
+
"type": "number",
|
|
722
|
+
"required": false,
|
|
723
|
+
"default": 3,
|
|
724
|
+
"description": "Visible rows. A textarea's height is its rows; there is no `size`."
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"name": "minLength",
|
|
728
|
+
"type": "number",
|
|
729
|
+
"required": false,
|
|
730
|
+
"default": null,
|
|
731
|
+
"description": "Native minimum length, reported by constraint validation."
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"name": "maxLength",
|
|
735
|
+
"type": "number",
|
|
736
|
+
"required": false,
|
|
737
|
+
"default": null,
|
|
738
|
+
"description": "Native maximum length, enforced while typing. With it, the counter shows\n`{length} / {maxLength}` unless `showCounter={false}`."
|
|
739
|
+
},
|
|
740
|
+
{
|
|
741
|
+
"name": "error",
|
|
742
|
+
"type": "boolean",
|
|
743
|
+
"required": false,
|
|
744
|
+
"default": false,
|
|
745
|
+
"description": "Show error styling. Inside a Field, the Field's error also lights this."
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"name": "showCounter",
|
|
749
|
+
"type": "boolean",
|
|
750
|
+
"required": false,
|
|
751
|
+
"default": true,
|
|
752
|
+
"description": "With `maxLength`, show the `{length} / {maxLength}` counter under the\ncontrol. It is not a live region; it describes the textarea."
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"name": "ref",
|
|
756
|
+
"type": "Ref<HTMLTextAreaElement>",
|
|
757
|
+
"required": false,
|
|
758
|
+
"default": null,
|
|
759
|
+
"description": "Forwarded ref to the underlying `<textarea>` element."
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"name": "placeholder",
|
|
763
|
+
"type": "string",
|
|
764
|
+
"required": false,
|
|
765
|
+
"default": null,
|
|
766
|
+
"description": "Native placeholder text shown while the field is empty (only on components whose host element supports it)."
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"name": "className",
|
|
770
|
+
"type": "string",
|
|
771
|
+
"required": false,
|
|
772
|
+
"default": null,
|
|
773
|
+
"description": "Additional CSS class name(s) merged onto the component's root element."
|
|
774
|
+
}
|
|
775
|
+
]
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
"name": "RadioGroup",
|
|
779
|
+
"description": "A set of native radios sharing one name (D104). The browser supplies the keyboard: Tab enters on the checked radio, and the arrows move and select. Inside `Field group` the fieldset and legend form and name the group, so this adds no role; standalone it is `role=\"radiogroup\"` and needs `aria-label` or `aria-labelledby`. A required or invalid Field makes every radio `required` and `aria-invalid`.",
|
|
780
|
+
"slots": [
|
|
781
|
+
{
|
|
782
|
+
"name": "body",
|
|
783
|
+
"accepts": {
|
|
784
|
+
"components": [
|
|
785
|
+
"Radio"
|
|
786
|
+
]
|
|
787
|
+
},
|
|
788
|
+
"cardinality": "1..*",
|
|
789
|
+
"order": 1
|
|
790
|
+
}
|
|
791
|
+
],
|
|
792
|
+
"props": [
|
|
793
|
+
{
|
|
794
|
+
"name": "children",
|
|
795
|
+
"type": "ReactNode",
|
|
796
|
+
"required": false,
|
|
797
|
+
"default": null,
|
|
798
|
+
"description": "`Radio` children."
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"name": "name",
|
|
802
|
+
"type": "string",
|
|
803
|
+
"required": false,
|
|
804
|
+
"default": null,
|
|
805
|
+
"description": "The radios' shared `name`. Generated when absent."
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"name": "value",
|
|
809
|
+
"type": "string",
|
|
810
|
+
"required": false,
|
|
811
|
+
"default": null,
|
|
812
|
+
"description": "The selected value (controlled)."
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
"name": "defaultValue",
|
|
816
|
+
"type": "string",
|
|
817
|
+
"required": false,
|
|
818
|
+
"default": null,
|
|
819
|
+
"description": "The initially selected value (uncontrolled)."
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
"name": "onValueChange",
|
|
823
|
+
"type": "((value: string) => void)",
|
|
824
|
+
"required": false,
|
|
825
|
+
"default": null,
|
|
826
|
+
"description": "Called with the value of the radio the user selects."
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"name": "disabled",
|
|
830
|
+
"type": "boolean",
|
|
831
|
+
"required": false,
|
|
832
|
+
"default": false,
|
|
833
|
+
"description": "Disables every radio in the group."
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"name": "orientation",
|
|
837
|
+
"type": "\"vertical\" | \"horizontal\"",
|
|
838
|
+
"required": false,
|
|
839
|
+
"default": "vertical",
|
|
840
|
+
"description": "Stack the radios, or lay them in a row."
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
"name": "aria-label",
|
|
844
|
+
"type": "string",
|
|
845
|
+
"required": false,
|
|
846
|
+
"default": null,
|
|
847
|
+
"description": "Accessible name when the group stands alone. Inside `Field group` the\nlegend names the group instead."
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"name": "ref",
|
|
851
|
+
"type": "Ref<HTMLDivElement>",
|
|
852
|
+
"required": false,
|
|
853
|
+
"default": null,
|
|
854
|
+
"description": "Forwarded ref to the root element."
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"name": "className",
|
|
858
|
+
"type": "string",
|
|
859
|
+
"required": false,
|
|
860
|
+
"default": null,
|
|
861
|
+
"description": "Additional CSS class name(s) merged onto the component's root element."
|
|
862
|
+
}
|
|
863
|
+
]
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"name": "Radio",
|
|
867
|
+
"description": "One choice in a RadioGroup (D104): a native radio with a built-in label, drawn like Checkbox on a circle. Takes its name, checked state, required and aria-invalid from the group.",
|
|
868
|
+
"slots": [],
|
|
869
|
+
"props": [
|
|
870
|
+
{
|
|
871
|
+
"name": "value",
|
|
872
|
+
"type": "string",
|
|
873
|
+
"required": true,
|
|
874
|
+
"default": null,
|
|
875
|
+
"description": "The value this radio selects."
|
|
876
|
+
},
|
|
877
|
+
{
|
|
878
|
+
"name": "children",
|
|
879
|
+
"type": "ReactNode",
|
|
880
|
+
"required": false,
|
|
881
|
+
"default": null,
|
|
882
|
+
"description": "Label text."
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
"name": "disabled",
|
|
886
|
+
"type": "boolean",
|
|
887
|
+
"required": false,
|
|
888
|
+
"default": null,
|
|
889
|
+
"description": "Disables this radio; a disabled RadioGroup disables all of them."
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"name": "className",
|
|
893
|
+
"type": "string",
|
|
894
|
+
"required": false,
|
|
895
|
+
"default": null,
|
|
896
|
+
"description": "Additional CSS class name(s) merged onto the component's root element."
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"name": "ref",
|
|
900
|
+
"type": "Ref<HTMLInputElement>",
|
|
901
|
+
"required": false,
|
|
902
|
+
"default": null,
|
|
903
|
+
"description": "Forwarded ref to the underlying `<input type=\"radio\">` element."
|
|
904
|
+
}
|
|
905
|
+
]
|
|
906
|
+
},
|
|
686
907
|
{
|
|
687
908
|
"name": "Tag",
|
|
688
909
|
"description": "Compact label for status or category; semantic variants, optional subtle tint and dismiss button.",
|
|
@@ -1243,10 +1464,10 @@
|
|
|
1243
1464
|
},
|
|
1244
1465
|
{
|
|
1245
1466
|
"name": "onClose",
|
|
1246
|
-
"type": "(reason:
|
|
1467
|
+
"type": "(reason: MenuCloseReason) => void",
|
|
1247
1468
|
"required": true,
|
|
1248
1469
|
"default": null,
|
|
1249
|
-
"description": "Called when a dismissal is *requested*; the consumer flips `open`.\n\nMenu never closes itself on `\"esc\"` or `\"item-select\"` — the popover stays\nopen until `open` becomes false (D50). `\"outside\"` is the one exception:\nlight dismiss is performed by the browser before it tells us, so by the\ntime that reason is reported the popover is already closed. Flipping\n`open` to false is still required, to keep React's state in step.\n\nInvariant (D58): a dismissal is only ever reported for a menu that is\ncurrently open according to its own `open` prop. The platform can close\nan auto popover before the consumer's state catches up — clicking another\nmenu's trigger light-dismisses this one before the consumer's click\nhandler runs — and a report for an already-closed menu would clear a\nselection that has since moved on."
|
|
1470
|
+
"description": "Called when a dismissal is *requested*; the consumer flips `open`.\n\nMenu never closes itself on `\"esc\"` or `\"item-select\"` — the popover stays\nopen until `open` becomes false (D50). `\"outside\"` is the one exception:\nlight dismiss is performed by the browser before it tells us, so by the\ntime that reason is reported the popover is already closed. Flipping\n`open` to false is still required, to keep React's state in step.\n\nInvariant (D58): a dismissal is only ever reported for a menu that is\ncurrently open according to its own `open` prop. The platform can close\nan auto popover before the consumer's state catches up — clicking another\nmenu's trigger light-dismisses this one before the consumer's click\nhandler runs — and a report for an already-closed menu would clear a\nselection that has since moved on.\n\n`\"tab\"` (D102): Tab or Shift Tab inside the open menu. Focus moves on to\nthe next control as the browser moves it; the consumer flips `open`."
|
|
1250
1471
|
},
|
|
1251
1472
|
{
|
|
1252
1473
|
"name": "trigger",
|
|
@@ -1262,6 +1483,13 @@
|
|
|
1262
1483
|
"default": "bottom-start",
|
|
1263
1484
|
"description": "Placement relative to the trigger."
|
|
1264
1485
|
},
|
|
1486
|
+
{
|
|
1487
|
+
"name": "id",
|
|
1488
|
+
"type": "string",
|
|
1489
|
+
"required": false,
|
|
1490
|
+
"default": null,
|
|
1491
|
+
"description": "The menu element's id, which the trigger's `aria-controls` names (D102).\nGenerated when absent."
|
|
1492
|
+
},
|
|
1265
1493
|
{
|
|
1266
1494
|
"name": "aria-label",
|
|
1267
1495
|
"type": "string",
|
package/dist/patterns.json
CHANGED
|
@@ -868,6 +868,111 @@
|
|
|
868
868
|
"blocked": false,
|
|
869
869
|
"preset": "<Panel\n padding={24}\n>\n [nothing matches these filters]\n [say whether the dataset is empty or the filters are too narrow]\n <Button variant=\"neutral\">Clear filters</Button>\n</Panel>\n"
|
|
870
870
|
},
|
|
871
|
+
{
|
|
872
|
+
"id": "feedback-form",
|
|
873
|
+
"intent": "A short report form: a required choice of category as radios, a bounded description with a length counter, and a submit button",
|
|
874
|
+
"match": [
|
|
875
|
+
"feedback form",
|
|
876
|
+
"report a problem",
|
|
877
|
+
"radio buttons",
|
|
878
|
+
"text area",
|
|
879
|
+
"character counter"
|
|
880
|
+
],
|
|
881
|
+
"compose": {
|
|
882
|
+
"component": "Panel",
|
|
883
|
+
"props": {
|
|
884
|
+
"padding": 24
|
|
885
|
+
},
|
|
886
|
+
"slots": {
|
|
887
|
+
"body": [
|
|
888
|
+
{
|
|
889
|
+
"component": "Field",
|
|
890
|
+
"props": {
|
|
891
|
+
"group": true,
|
|
892
|
+
"required": true,
|
|
893
|
+
"requiredText": "(Required)"
|
|
894
|
+
},
|
|
895
|
+
"slots": {
|
|
896
|
+
"label": [
|
|
897
|
+
"{content:category-label}"
|
|
898
|
+
],
|
|
899
|
+
"body": [
|
|
900
|
+
{
|
|
901
|
+
"component": "RadioGroup",
|
|
902
|
+
"slots": {
|
|
903
|
+
"body": [
|
|
904
|
+
{
|
|
905
|
+
"component": "Radio",
|
|
906
|
+
"props": {
|
|
907
|
+
"value": "problem"
|
|
908
|
+
},
|
|
909
|
+
"content": "first-option"
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"component": "Radio",
|
|
913
|
+
"props": {
|
|
914
|
+
"value": "idea"
|
|
915
|
+
},
|
|
916
|
+
"content": "second-option"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"component": "Radio",
|
|
920
|
+
"props": {
|
|
921
|
+
"value": "other"
|
|
922
|
+
},
|
|
923
|
+
"content": "third-option"
|
|
924
|
+
}
|
|
925
|
+
]
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
]
|
|
929
|
+
}
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
"component": "Field",
|
|
933
|
+
"slots": {
|
|
934
|
+
"label": [
|
|
935
|
+
"{content:description-label}"
|
|
936
|
+
],
|
|
937
|
+
"body": [
|
|
938
|
+
{
|
|
939
|
+
"component": "Textarea",
|
|
940
|
+
"props": {
|
|
941
|
+
"maxLength": 500,
|
|
942
|
+
"rows": 4
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
],
|
|
946
|
+
"description": [
|
|
947
|
+
"{content:description-help}"
|
|
948
|
+
]
|
|
949
|
+
}
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"component": "Button",
|
|
953
|
+
"props": {
|
|
954
|
+
"type": "submit",
|
|
955
|
+
"variant": "accent"
|
|
956
|
+
},
|
|
957
|
+
"content": "submit-label"
|
|
958
|
+
}
|
|
959
|
+
]
|
|
960
|
+
}
|
|
961
|
+
},
|
|
962
|
+
"parameters": [],
|
|
963
|
+
"content": {
|
|
964
|
+
"category-label": "Category",
|
|
965
|
+
"first-option": "Something is broken",
|
|
966
|
+
"second-option": "An idea",
|
|
967
|
+
"third-option": "Something else",
|
|
968
|
+
"description-label": "Description",
|
|
969
|
+
"description-help": "[what happened, and what you expected]",
|
|
970
|
+
"submit-label": "Send"
|
|
971
|
+
},
|
|
972
|
+
"gaps": [],
|
|
973
|
+
"blocked": false,
|
|
974
|
+
"preset": "<Panel\n padding={24}\n>\n <Field\n group={true}\n label=\"Category\"\n required={true}\n requiredText=\"(Required)\"\n >\n <RadioGroup>\n <Radio value=\"problem\">Something is broken</Radio>\n <Radio value=\"idea\">An idea</Radio>\n <Radio value=\"other\">Something else</Radio>\n </RadioGroup>\n </Field>\n <Field\n description=\"[what happened, and what you expected]\"\n label=\"Description\"\n >\n <Textarea maxLength={500} rows={4} />\n </Field>\n <Button type=\"submit\" variant=\"accent\">Send</Button>\n</Panel>\n"
|
|
975
|
+
},
|
|
871
976
|
{
|
|
872
977
|
"id": "filter-form",
|
|
873
978
|
"intent": "Labelled filters above a list, submitted together with a Find button: a Toolbar rendered as a named form (as=\"form\", so Find and Enter submit — wire onSubmit), aligned to the start so every control sits on one line under its visible Field label and Find drops onto that line. A field's description or error line hangs below its control and moves nothing else; the error line is the Field's own, with its usual aria-describedby wiring — set error on the Field, not beside the row. Every label in the row must be one line: a label that wraps pushes its control off the shared line. Add IconSearch before the Find label. For filters that apply as they change, named without a visible label, use filter-toolbar instead; never name a control by its placeholder alone",
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._button_1rxq8_3{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--psi-button-radius);cursor:pointer;font-family:var(--psi-font-sans);white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background-color var(--psi-duration-150) var(--psi-ease-standard),color var(--psi-duration-150) var(--psi-ease-standard)}._button_1rxq8_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-button-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._button_1rxq8_3:disabled{opacity:.4;cursor:not-allowed}._button_1rxq8_3>span{max-inline-size:var(--psi-button-label-max-width);overflow:hidden;text-overflow:ellipsis;flex:none}._button_1rxq8_3._disabled_1rxq8_45{opacity:.4;cursor:not-allowed;pointer-events:none}._size24_1rxq8_70{height:var(--psi-button-24-height);padding-inline:var(--psi-button-24-padding-inline);gap:var(--psi-button-24-gap);font:var(--psi-button-font, var(--psi-button-24-font))}._size24_1rxq8_70:has(>svg:first-child){padding-inline-start:var(--psi-button-24-padding-inline-icon)}._size24_1rxq8_70:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-24-padding-inline-icon)}._size24_1rxq8_70>svg{inline-size:var(--psi-button-24-icon-size);block-size:var(--psi-button-24-icon-size);flex:none}._size32_1rxq8_88{height:var(--psi-button-32-height);padding-inline:var(--psi-button-32-padding-inline);gap:var(--psi-button-32-gap);font:var(--psi-button-font, var(--psi-button-32-font))}._size32_1rxq8_88:has(>svg:first-child){padding-inline-start:var(--psi-button-32-padding-inline-icon)}._size32_1rxq8_88:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-32-padding-inline-icon)}._size32_1rxq8_88>svg{inline-size:var(--psi-button-32-icon-size);block-size:var(--psi-button-32-icon-size);flex:none}._size40_1rxq8_106{height:var(--psi-button-40-height);padding-inline:var(--psi-button-40-padding-inline);gap:var(--psi-button-40-gap);font:var(--psi-button-font, var(--psi-button-40-font))}._size40_1rxq8_106:has(>svg:first-child){padding-inline-start:var(--psi-button-40-padding-inline-icon)}._size40_1rxq8_106:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-40-padding-inline-icon)}._size40_1rxq8_106>svg{inline-size:var(--psi-button-40-icon-size);block-size:var(--psi-button-40-icon-size);flex:none}._size48_1rxq8_124{height:var(--psi-button-48-height);padding-inline:var(--psi-button-48-padding-inline);gap:var(--psi-button-48-gap);font:var(--psi-button-font, var(--psi-button-48-font))}._size48_1rxq8_124:has(>svg:first-child){padding-inline-start:var(--psi-button-48-padding-inline-icon)}._size48_1rxq8_124:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-48-padding-inline-icon)}._size48_1rxq8_124>svg{inline-size:var(--psi-button-48-icon-size);block-size:var(--psi-button-48-icon-size);flex:none}._accent_1rxq8_145{background:var(--psi-button-accent-bg);color:var(--psi-button-accent-fg)}._accent_1rxq8_145:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-bg-hover)}._accent_1rxq8_145:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-bg-active)}._accentSubtle_1rxq8_157{background:var(--psi-button-accent-subtle-bg);color:var(--psi-button-accent-subtle-fg)}._accentSubtle_1rxq8_157:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-subtle-bg-hover)}._accentSubtle_1rxq8_157:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-subtle-bg-active)}._neutral_1rxq8_169{background:var(--psi-button-neutral-bg);color:var(--psi-button-neutral-fg)}._neutral_1rxq8_169:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-bg-hover)}._neutral_1rxq8_169:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-bg-active)}._neutralSubtle_1rxq8_181{background:var(--psi-button-neutral-subtle-bg);color:var(--psi-button-neutral-subtle-fg)}._neutralSubtle_1rxq8_181:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-subtle-bg-hover)}._neutralSubtle_1rxq8_181:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-subtle-bg-active)}._ghost_1rxq8_193{background:var(--psi-button-ghost-bg);color:var(--psi-button-ghost-fg)}._ghost_1rxq8_193:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-ghost-bg-hover)}._ghost_1rxq8_193:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-ghost-bg-active)}._danger_1rxq8_205{background:var(--psi-button-danger-bg);color:var(--psi-button-danger-fg)}._danger_1rxq8_205:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-bg-hover)}._danger_1rxq8_205:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-bg-active)}._dangerSubtle_1rxq8_217{background:var(--psi-button-danger-subtle-bg);color:var(--psi-button-danger-subtle-fg)}._dangerSubtle_1rxq8_217:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-subtle-bg-hover)}._dangerSubtle_1rxq8_217:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-subtle-bg-active)}._outline_1rxq8_229{background:var(--psi-button-outline-bg);color:var(--psi-button-outline-fg);border:1px solid var(--psi-button-outline-border)}._outline_1rxq8_229:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-outline-bg-hover);color:var(--psi-button-outline-fg-hover);border-color:transparent}._outline_1rxq8_229:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-outline-bg-active)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._iconButton_1q4hx_3{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--psi-button-radius);cursor:pointer;padding:0;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background-color var(--psi-duration-150) var(--psi-ease-standard),color var(--psi-duration-150) var(--psi-ease-standard)}._iconButton_1q4hx_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-button-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._iconButton_1q4hx_3:disabled{opacity:.4;cursor:not-allowed}._iconButton_1q4hx_3._disabled_1q4hx_29{opacity:.4;cursor:not-allowed;pointer-events:none}._size24_1q4hx_37{width:var(--psi-button-24-height);height:var(--psi-button-24-height)}._size32_1q4hx_42{width:var(--psi-button-32-height);height:var(--psi-button-32-height)}._size40_1q4hx_47{width:var(--psi-button-40-height);height:var(--psi-button-40-height)}._size48_1q4hx_52{width:var(--psi-button-48-height);height:var(--psi-button-48-height)}._accent_1q4hx_60{background:var(--psi-button-accent-bg);color:var(--psi-button-accent-fg)}._accent_1q4hx_60:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-accent-bg-hover)}._accent_1q4hx_60:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-accent-bg-active)}._neutral_1q4hx_72{background:var(--psi-button-neutral-bg);color:var(--psi-button-neutral-fg)}._neutral_1q4hx_72:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-neutral-bg-hover)}._neutral_1q4hx_72:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-neutral-bg-active)}._ghost_1q4hx_84{background:var(--psi-button-ghost-bg);color:var(--psi-button-ghost-fg)}._ghost_1q4hx_84:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-ghost-bg-hover)}._ghost_1q4hx_84:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-ghost-bg-active)}._danger_1q4hx_96{background:var(--psi-button-danger-bg);color:var(--psi-button-danger-fg)}._danger_1q4hx_96:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-danger-bg-hover)}._danger_1q4hx_96:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-danger-bg-active)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._card_1btb3_1{background:var(--psi-card-bg);border:1px solid var(--psi-card-border);border-radius:var(--psi-card-radius);overflow:hidden}._stacked_1btb3_8{display:flex;flex-direction:column;gap:var(--psi-card-gap)}._featured_1btb3_10{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--psi-card-gap);align-items:start}@media(max-width:960px){._featured_1btb3_10{grid-template-columns:1fr}}._media_1btb3_22{min-width:0}._body_1btb3_23{min-width:0;display:flex;flex-direction:column;gap:var(--psi-card-gap);padding:var(--psi-card-gap)}._hoverLift_1btb3_31{transition:transform var(--psi-duration-350) var(--psi-ease-standard)}._hoverLift_1btb3_31:hover{transform:translateY(-6px)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._panel_jn8w4_1{background:var(--psi-panel-bg);border:1px solid var(--psi-panel-border);border-radius:var(--psi-panel-radius);padding:var(--psi-panel-padding)}._padding16_jn8w4_8{padding:var(--psi-space-16)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._list_1lh3q_8{display:flex;flex-direction:column;gap:var(--psi-space-12);margin:var(--psi-space-0)}._list_1lh3q_8[data-gap="8"]{gap:var(--psi-space-8)}._list_1lh3q_8[data-gap="16"]{gap:var(--psi-space-16)}._item_1lh3q_26{display:flex;flex-direction:column;gap:var(--psi-space-4);min-width:0}._list_1lh3q_8[data-layout=inline] ._item_1lh3q_26{display:grid;grid-template-columns:auto 1fr;column-gap:var(--psi-space-16);row-gap:var(--psi-space-0);align-items:start}._term_1lh3q_44{color:var(--psi-description-list-term-fg);font:var(--psi-text-14-20-medium);min-width:0}._value_1lh3q_50{color:var(--psi-description-list-value-fg);font:var(--psi-text-14-20-regular);margin:var(--psi-space-0);min-width:0;overflow-wrap:anywhere}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._navbar_1w24e_1{font:var(--psi-text-14-20-medium);position:sticky;top:0;z-index:var(--psi-z-nav);background:var(--psi-navbar-bg);backdrop-filter:blur(var(--psi-navbar-blur));-webkit-backdrop-filter:blur(var(--psi-navbar-blur));border-bottom:1px solid var(--psi-navbar-border)}._inner_1w24e_12{display:flex;align-items:center;gap:var(--psi-space-24);height:var(--psi-navbar-height)}._fluid_1w24e_20{padding-inline:var(--psi-navbar-gutter)}._brand_1w24e_22{display:flex;align-items:center}._links_1w24e_23{display:flex;align-items:center;gap:var(--psi-space-20);margin-inline-start:auto}._links_1w24e_23 a,._brand_1w24e_22 a{text-decoration:none;transition:color var(--psi-duration-150) var(--psi-ease-soft)}._links_1w24e_23 a{color:var(--psi-navbar-link-fg)}._links_1w24e_23 a:hover,._brand_1w24e_22 a{color:var(--psi-navbar-link-fg-hover)}._links_1w24e_23 a:focus-visible,._brand_1w24e_22 a:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-navbar-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._actions_1w24e_53{display:flex;align-items:center;gap:var(--psi-space-8)}._brand_1w24e_22+._actions_1w24e_53,._actions_1w24e_53:first-child{margin-inline-start:auto}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._skipLink_1fn0y_4{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}._skipLink_1fn0y_4:focus-visible{position:fixed;inset-block-start:0;inset-inline-start:0;margin:var(--psi-space-8);z-index:var(--psi-z-overlay);display:inline-flex;align-items:center;box-sizing:border-box;width:auto;height:var(--psi-size-32);padding-inline:var(--psi-space-12);overflow:visible;clip:auto;clip-path:none;background:var(--psi-skip-link-bg);color:var(--psi-skip-link-fg);border:1px solid var(--psi-skip-link-border);border-radius:var(--psi-skip-link-radius);font:var(--psi-text-14-20-medium);text-decoration:none;outline:var(--psi-focus-ring-width) solid var(--psi-skip-link-focus-ring);outline-offset:var(--psi-focus-ring-offset)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._navTree_1ktoe_7{display:block}._list_1ktoe_11,._groupList_1ktoe_12{display:flex;flex-direction:column;gap:var(--psi-space-2);margin:0;padding:0;list-style:none}._item_1ktoe_23 a{position:relative;display:flex;align-items:center;box-sizing:border-box;min-height:var(--psi-size-32);padding-block:var(--psi-space-4);padding-inline:var(--psi-space-12);border-radius:var(--psi-nav-tree-radius);color:var(--psi-nav-tree-item-fg);font:var(--psi-text-14-20-regular);text-decoration:none}._item_1ktoe_23 a:hover{background:var(--psi-nav-tree-item-bg-hover)}._item_1ktoe_23 a:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-nav-tree-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._item_1ktoe_23 a[aria-current=page]{background:var(--psi-nav-tree-item-bg-current);color:var(--psi-nav-tree-item-fg-current);font:var(--psi-text-14-20-medium)}._item_1ktoe_23 a[aria-current=page]:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;border-radius:var(--psi-nav-tree-radius);background:var(--psi-nav-tree-indicator)}._item_1ktoe_23 a[aria-current=true]{color:var(--psi-nav-tree-item-fg-current);font:var(--psi-text-14-20-medium)}._groupButton_1ktoe_79{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:var(--psi-space-8);box-sizing:border-box;width:100%;min-height:var(--psi-size-32);padding-block:var(--psi-space-4);padding-inline:var(--psi-space-12);border:0;border-radius:var(--psi-nav-tree-radius);background:none;color:var(--psi-nav-tree-group-fg);font:var(--psi-text-14-20-medium);text-align:start;cursor:pointer}._groupButton_1ktoe_79:hover{background:var(--psi-nav-tree-item-bg-hover)}._groupButton_1ktoe_79:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-nav-tree-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._groupLabel_1ktoe_108{min-width:0}._chevron_1ktoe_112{flex:none;transition:transform var(--psi-duration-150) var(--psi-ease-standard)}._groupButton_1ktoe_79[aria-expanded=true] ._chevron_1ktoe_112{transform:rotate(180deg)}._groupList_1ktoe_12{padding-inline-start:var(--psi-space-12);margin-block-start:var(--psi-space-2)}._groupList_1ktoe_12[hidden]{display:none}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._appShell_i1tds_10{display:grid;grid-template-rows:auto 1fr;grid-template-columns:var(--psi-app-shell-sidebar-width) minmax(0,1fr);height:100dvh}._sidebarClosed_i1tds_18{grid-template-columns:minmax(0,1fr)}._header_i1tds_22{grid-row:1;grid-column:1 / -1;min-width:0}._sidebar_i1tds_18{grid-row:2;min-height:0;overflow:auto;padding:var(--psi-space-8);background:var(--psi-app-shell-sidebar-bg);color:var(--psi-app-shell-sidebar-fg)}._sidebar_i1tds_18[hidden]{display:none}._main_i1tds_45{grid-row:2;min-width:0;min-height:0;overflow:auto}._main_i1tds_45:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-app-shell-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._frame_et4fc_1{overflow:hidden}._frame_et4fc_1>img,._frame_et4fc_1>video{width:100%;height:100%;object-fit:cover;display:block}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._field_x989o_1{display:grid;gap:var(--psi-field-gap);border:0;margin:0;padding:0;min-width:0}._label_x989o_10{font:var(--psi-text-14-20-medium);color:var(--psi-field-label-fg);padding:0;min-block-size:var(--psi-field-label-height)}._marker_x989o_19{color:var(--psi-field-marker-fg)}._requiredText_x989o_25{font:var(--psi-text-14-20-regular);color:var(--psi-field-required-text-fg)}._message_x989o_30{margin:0;font:var(--psi-text-12-16-regular);color:var(--psi-field-message-fg)}._invalid_x989o_36 ._message_x989o_30{color:var(--psi-field-error-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._dialog_qg38y_2{padding:0;border:1px solid var(--psi-dialog-border);border-radius:var(--psi-dialog-radius);background:var(--psi-dialog-bg);color:var(--psi-dialog-fg);max-width:calc(100vw - var(--psi-space-32))}._dialog_qg38y_2::backdrop{background:var(--psi-dialog-backdrop)}._dialog_qg38y_2:focus-visible,._panel_qg38y_20:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-dialog-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._dialog_qg38y_2[open]::backdrop{animation:_backdrop-enter_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _backdrop-enter_qg38y_1{0%{opacity:0}}._center_qg38y_42[open]{animation:_dialog-enter_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _dialog-enter_qg38y_1{0%{opacity:0;transform:scale(.97)}}._inlineStart_qg38y_50,._inlineEnd_qg38y_51{box-sizing:border-box;margin-block:0;height:100dvh;max-height:100dvh;max-width:100vw;border-radius:0}._inlineEnd_qg38y_51{margin-inline-start:auto;margin-inline-end:0;border-start-start-radius:var(--psi-dialog-radius);border-end-start-radius:var(--psi-dialog-radius)}._inlineStart_qg38y_50{margin-inline-start:0;margin-inline-end:auto;border-start-end-radius:var(--psi-dialog-radius);border-end-end-radius:var(--psi-dialog-radius)}._inlineEnd_qg38y_51[open]{animation:_drawer-enter-end_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}._inlineStart_qg38y_50[open]{animation:_drawer-enter-start_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _drawer-enter-end_qg38y_1{0%{transform:translate(100%)}}@keyframes _drawer-enter-start_qg38y_1{0%{transform:translate(-100%)}}._w400_qg38y_100{width:400px}._w560_qg38y_101{width:560px}._w720_qg38y_102{width:720px}._panel_qg38y_20{display:grid;gap:var(--psi-space-16);padding:var(--psi-space-24)}._inlineStart_qg38y_50 ._panel_qg38y_20,._inlineEnd_qg38y_51 ._panel_qg38y_20{height:100%;overflow-y:auto;align-content:start}._header_qg38y_124{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--psi-space-12)}._title_qg38y_131{margin:0;font:var(--psi-text-18-28-medium);color:var(--psi-dialog-title-fg)}._footer_qg38y_137{display:flex;justify-content:flex-end;gap:var(--psi-space-8)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._input_pmr7w_3{display:block;box-sizing:border-box;width:100%;border:1px solid var(--psi-input-border);border-radius:var(--psi-input-radius);background:var(--psi-input-bg);color:var(--psi-input-fg);font-family:var(--psi-font-sans);transition:border-color var(--psi-duration-150) var(--psi-ease-standard),outline var(--psi-duration-150) var(--psi-ease-standard)}._input_pmr7w_3::placeholder{color:var(--psi-input-placeholder)}._input_pmr7w_3:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-input-border-hover)}._input_pmr7w_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-input-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset);border-color:transparent}._input_pmr7w_3:disabled{opacity:.4;cursor:not-allowed}._size24_pmr7w_43{height:var(--psi-input-24-height);padding-inline:var(--psi-input-24-padding-inline);font:var(--psi-input-24-font)}._size32_pmr7w_49{height:var(--psi-input-32-height);padding-inline:var(--psi-input-32-padding-inline);font:var(--psi-input-32-font)}._size40_pmr7w_55{height:var(--psi-input-40-height);padding-inline:var(--psi-input-40-padding-inline);font:var(--psi-input-40-font)}._size48_pmr7w_61{height:var(--psi-input-48-height);padding-inline:var(--psi-input-48-padding-inline);font:var(--psi-input-48-font)}._error_pmr7w_69{border-color:var(--psi-input-border-error)}._error_pmr7w_69:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-input-border-error)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._select_1eqz1_3{display:block;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--psi-select-border);border-radius:var(--psi-select-radius);background-color:var(--psi-select-bg);background-image:linear-gradient(45deg,transparent calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% + .75px),transparent calc(50% + .75px)),linear-gradient(135deg,transparent calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% + .75px),transparent calc(50% + .75px));background-size:4px 4px;background-repeat:no-repeat;color:var(--psi-select-fg);font-family:var(--psi-font-sans);cursor:pointer;transition:border-color var(--psi-duration-150) var(--psi-ease-standard),outline var(--psi-duration-150) var(--psi-ease-standard)}._select_1eqz1_3:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-select-border-hover)}._select_1eqz1_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-select-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset);border-color:transparent}._select_1eqz1_3:disabled{opacity:.4;cursor:not-allowed}._size24_1eqz1_57{height:var(--psi-select-24-height);padding-inline-start:var(--psi-select-24-padding-inline);padding-inline-end:var(--psi-select-24-padding-inline-end);background-position:right calc(var(--psi-select-24-chevron-offset) + 6px) center,right calc(var(--psi-select-24-chevron-offset) + 2px) center;font:var(--psi-select-24-font)}._size32_1eqz1_67{height:var(--psi-select-32-height);padding-inline-start:var(--psi-select-32-padding-inline);padding-inline-end:var(--psi-select-32-padding-inline-end);background-position:right calc(var(--psi-select-32-chevron-offset) + 6px) center,right calc(var(--psi-select-32-chevron-offset) + 2px) center;font:var(--psi-select-32-font)}._size40_1eqz1_77{height:var(--psi-select-40-height);padding-inline-start:var(--psi-select-40-padding-inline);padding-inline-end:var(--psi-select-40-padding-inline-end);background-position:right calc(var(--psi-select-40-chevron-offset) + 6px) center,right calc(var(--psi-select-40-chevron-offset) + 2px) center;font:var(--psi-select-40-font)}._size48_1eqz1_87{height:var(--psi-select-48-height);padding-inline-start:var(--psi-select-48-padding-inline);padding-inline-end:var(--psi-select-48-padding-inline-end);background-position:right calc(var(--psi-select-48-chevron-offset) + 6px) center,right calc(var(--psi-select-48-chevron-offset) + 2px) center;font:var(--psi-select-48-font)}._error_1eqz1_99{border-color:var(--psi-select-border-error)}._error_1eqz1_99:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-select-border-error)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._label_1jm35_3{display:inline-flex;align-items:center;gap:var(--psi-space-8);cursor:pointer;-webkit-user-select:none;user-select:none;font:var(--psi-text-14-20-regular);color:var(--psi-checkbox-fg)}._disabled_1jm35_13{opacity:.4;cursor:not-allowed}._indicator_1jm35_26{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;border:1px solid var(--psi-checkbox-box-border);border-radius:var(--psi-checkbox-box-radius);background:var(--psi-checkbox-box-bg);transition:background-color var(--psi-duration-150) var(--psi-ease-standard),border-color var(--psi-duration-150) var(--psi-ease-standard)}._input_1jm35_42:checked+._indicator_1jm35_26{background:var(--psi-checkbox-box-bg-checked);border-color:var(--psi-checkbox-box-border-checked)}._input_1jm35_42:checked+._indicator_1jm35_26:after{content:"";display:block;width:4px;height:8px;color:var(--psi-checkbox-check-fg);border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-.5px,-.5px)}._input_1jm35_42:focus-visible+._indicator_1jm35_26{outline:var(--psi-focus-ring-width) solid var(--psi-checkbox-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._text_1jm35_67{color:var(--psi-checkbox-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._label_yv464_3{display:inline-flex;align-items:center;gap:var(--psi-space-8);cursor:pointer;-webkit-user-select:none;user-select:none;font:var(--psi-text-14-20-regular);color:var(--psi-switch-fg)}._disabled_yv464_13{opacity:.4;cursor:not-allowed}._track_yv464_26{position:relative;display:inline-flex;align-items:center;width:36px;height:20px;flex-shrink:0;border-radius:var(--psi-radius-full);background:var(--psi-switch-track-bg);transition:background-color var(--psi-duration-150) var(--psi-ease-standard)}._input_yv464_38:checked+._track_yv464_26{background:var(--psi-switch-track-bg-checked)}._input_yv464_38:focus-visible+._track_yv464_26{outline:var(--psi-focus-ring-width) solid var(--psi-switch-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._thumb_yv464_50{position:absolute;width:16px;height:16px;border-radius:var(--psi-radius-full);background:var(--psi-switch-thumb-bg);left:2px;transition:left var(--psi-duration-150) var(--psi-ease-standard);box-shadow:0 1px 2px #00000029}._input_yv464_38:checked+._track_yv464_26 ._thumb_yv464_50{left:18px}._text_yv464_67{color:var(--psi-switch-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._tag_1r2xw_3{display:inline-flex;align-items:center;gap:var(--psi-space-4);height:24px;padding-inline:var(--psi-space-8);border-radius:var(--psi-radius-full);font:var(--psi-text-12-16-medium);white-space:nowrap;-webkit-user-select:none;user-select:none}._dismiss_1r2xw_17{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:inherit;cursor:pointer;opacity:.7;margin-inline-start:var(--psi-space-2);margin-inline-end:calc(-1 * var(--psi-space-4));border-radius:var(--psi-radius-full)}._dismiss_1r2xw_17:hover{opacity:1}._dismiss_1r2xw_17:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-tag-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._neutral_1r2xw_43{background:var(--psi-tag-neutral-bg);color:var(--psi-tag-neutral-fg)}._accent_1r2xw_48{background:var(--psi-tag-accent-bg);color:var(--psi-tag-accent-fg)}._success_1r2xw_53{background:var(--psi-tag-success-bg);color:var(--psi-tag-success-fg)}._warning_1r2xw_58{background:var(--psi-tag-warning-bg);color:var(--psi-tag-warning-fg)}._danger_1r2xw_63{background:var(--psi-tag-danger-bg);color:var(--psi-tag-danger-fg)}._neutralSubtle_1r2xw_70{background:var(--psi-tag-neutral-subtle-bg);color:var(--psi-tag-neutral-subtle-fg)}._accentSubtle_1r2xw_75{background:var(--psi-tag-accent-subtle-bg);color:var(--psi-tag-accent-subtle-fg)}._successSubtle_1r2xw_80{background:var(--psi-tag-success-subtle-bg);color:var(--psi-tag-success-subtle-fg)}._warningSubtle_1r2xw_85{background:var(--psi-tag-warning-subtle-bg);color:var(--psi-tag-warning-subtle-fg)}._dangerSubtle_1r2xw_90{background:var(--psi-tag-danger-subtle-bg);color:var(--psi-tag-danger-subtle-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._wrapper_1eu6z_3{position:relative;display:inline-flex}._tooltip_1eu6z_10{position:absolute;z-index:var(--psi-z-tooltip);padding:var(--psi-space-4) var(--psi-space-8);border-radius:var(--psi-tooltip-radius);background:var(--psi-tooltip-bg);color:var(--psi-tooltip-fg);font:var(--psi-text-12-16-regular);white-space:nowrap;pointer-events:none}._top_1eu6z_24{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--psi-space-4)}._bottom_1eu6z_31{top:100%;left:50%;transform:translate(-50%);margin-top:var(--psi-space-4)}._left_1eu6z_38{right:100%;top:50%;transform:translateY(-50%);margin-right:var(--psi-space-4)}._right_1eu6z_45{left:100%;top:50%;transform:translateY(-50%);margin-left:var(--psi-space-4)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._toolbar_8bwkv_1{display:flex;flex-wrap:wrap;align-items:center}._gap8_8bwkv_7{gap:var(--psi-space-8)}._gap12_8bwkv_8{gap:var(--psi-space-12)}._gap16_8bwkv_9{gap:var(--psi-space-16)}._alignEnd_8bwkv_13{align-items:flex-end}._alignStart_8bwkv_19{align-items:flex-start}._alignStart_8bwkv_19>:is(button,a){margin-block-start:var(--psi-toolbar-action-offset)}._toolbar_8bwkv_1>input,._toolbar_8bwkv_1>select{width:var(--psi-toolbar-control-width)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._trigger_pivae_4{display:inline-flex;width:fit-content}._menu_pivae_16{min-width:180px;margin:var(--psi-space-4);padding:var(--psi-space-4);border:1px solid var(--psi-menu-border);border-radius:var(--psi-menu-radius);background:var(--psi-menu-bg);color:var(--psi-menu-fg);font:var(--psi-text-14-20-regular)}._menu_pivae_16:not([data-open]):not(:popover-open){display:none}._item_pivae_37{display:flex;width:100%;align-items:center;padding:var(--psi-space-8) var(--psi-space-12);border:0;border-radius:var(--psi-radius-6);background:var(--psi-menu-item-bg);color:var(--psi-menu-item-fg);font:inherit;text-align:start;cursor:pointer}._item_pivae_37:hover{background:var(--psi-menu-item-bg-hover)}._item_pivae_37:active{background:var(--psi-menu-item-bg-active)}._item_pivae_37:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-menu-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._item_pivae_37[data-variant=danger]{color:var(--psi-menu-item-fg-danger)}._item_pivae_37[aria-disabled=true]{color:var(--psi-menu-item-fg-disabled);cursor:default}._item_pivae_37[aria-disabled=true]:hover{background:var(--psi-menu-item-bg)}._text_pivae_85{padding:var(--psi-space-8) var(--psi-space-12);color:var(--psi-menu-text-fg);cursor:default}._separator_pivae_93{height:0;margin:var(--psi-space-4) 0;border-top:1px solid var(--psi-menu-separator-border)}@supports (anchor-name: --x){._menu_pivae_16{position:fixed;margin:var(--psi-space-4);position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}._menu_pivae_16[data-placement=bottom-start]{position-area:block-end span-inline-end}._menu_pivae_16[data-placement=bottom-end]{position-area:block-end span-inline-start}._menu_pivae_16[data-placement=top-start]{position-area:block-start span-inline-end}._menu_pivae_16[data-placement=top-end]{position-area:block-start span-inline-start}}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._table_1maek_3{width:100%;border-collapse:collapse;background:var(--psi-table-bg);color:var(--psi-table-fg);font:var(--psi-text-14-20-regular);border:1px solid var(--psi-table-border);border-radius:var(--psi-table-radius)}._caption_1maek_19{caption-side:top;text-align:start;padding-block:var(--psi-space-8);color:var(--psi-table-fg);font:var(--psi-text-14-20-medium)}._captionDetail_1maek_27{display:block;color:var(--psi-table-header-fg);font:var(--psi-text-12-16-regular)}._caption_1maek_19:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-table-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._headerCell_1maek_38{color:var(--psi-table-header-fg);font:var(--psi-text-14-20-medium);text-align:start}._cell_1maek_44,._headerCell_1maek_38{border-bottom:1px solid var(--psi-table-cell-border)}._rowHeader_1maek_51{font:var(--psi-text-14-20-medium);text-align:start}._cell_1maek_44[data-numeric],._headerCell_1maek_38[data-numeric]{text-align:end;font-variant-numeric:var(--psi-font-variant-numeric)}._sortButton_1maek_62{display:inline-flex;align-items:center;gap:var(--psi-space-4);padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}._sortButton_1maek_62:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-table-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._sortIndicator_1maek_79{color:var(--psi-table-sort-indicator-fg)}._table_1maek_3[data-size="32"] ._cell_1maek_44,._table_1maek_3[data-size="32"] ._headerCell_1maek_38{height:var(--psi-table-32-row-height);padding-inline:var(--psi-table-32-cell-padding-x)}._table_1maek_3[data-size="32"] ._caption_1maek_19{padding-inline:var(--psi-table-32-cell-padding-x)}._table_1maek_3[data-size="40"] ._cell_1maek_44,._table_1maek_3[data-size="40"] ._headerCell_1maek_38{height:var(--psi-table-40-row-height);padding-inline:var(--psi-table-40-cell-padding-x)}._table_1maek_3[data-size="40"] ._caption_1maek_19{padding-inline:var(--psi-table-40-cell-padding-x)}._table_1maek_3[data-size="48"] ._cell_1maek_44,._table_1maek_3[data-size="48"] ._headerCell_1maek_38{height:var(--psi-table-48-row-height);padding-inline:var(--psi-table-48-cell-padding-x)}._table_1maek_3[data-size="48"] ._caption_1maek_19{padding-inline:var(--psi-table-48-cell-padding-x)}._table_1maek_3[data-size] ._selectCell_1maek_123{width:1%;padding-inline-end:0}._body_1maek_130 ._row_1maek_51:hover{background:var(--psi-table-row-bg-hover)}._body_1maek_130 ._row_1maek_51[data-selected]:hover,._row_1maek_51[data-selected]{background:var(--psi-table-row-bg-selected)}._row_1maek_51{background:var(--psi-table-row-bg)}._sticky_1maek_155 ._headerCell_1maek_38{position:sticky;inset-block-start:0;z-index:var(--psi-z-sticky);background:var(--psi-table-bg);box-shadow:inset 0 -1px 0 var(--psi-table-cell-border)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._nav_166vs_6{display:flex;align-items:center;gap:var(--psi-space-4)}._ellipsis_166vs_12{padding-inline:var(--psi-space-4)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._nav_jbhk1_5{display:inline-flex;align-items:center;gap:var(--psi-space-8)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._toast_1gxg8_10{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--psi-space-12);min-width:280px;max-width:420px;padding:var(--psi-space-12) var(--psi-space-16);border:1px solid var(--psi-toast-border);border-radius:var(--psi-toast-radius);background:var(--psi-toast-bg);color:var(--psi-toast-fg);font:var(--psi-text-14-20-regular);animation:_toast-enter_1gxg8_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _toast-enter_1gxg8_1{0%{opacity:0;transform:translateY(8px)}}._icon_1gxg8_39{display:inline-flex;align-items:center}._iconNeutral_1gxg8_44{color:var(--psi-toast-icon-fg-neutral)}._iconSuccess_1gxg8_45{color:var(--psi-toast-icon-fg-success)}._iconWarning_1gxg8_46{color:var(--psi-toast-icon-fg-warning)}._iconDanger_1gxg8_47{color:var(--psi-toast-icon-fg-danger)}._body_1gxg8_51{min-width:0}._action_1gxg8_55{display:inline-flex}._region_1gxg8_61{position:fixed;inset:auto;margin:0;padding:var(--psi-space-16);border:0;background:none;overflow:visible;pointer-events:none;display:flex;flex-direction:column;gap:var(--psi-space-8);width:max-content;max-width:100%}._region_1gxg8_61[data-placement=top-start]{top:0;left:0;align-items:flex-start}._region_1gxg8_61[data-placement=top-end]{top:0;right:0;align-items:flex-end}._region_1gxg8_61[data-placement=bottom-start]{bottom:0;left:0;align-items:flex-start}._region_1gxg8_61[data-placement=bottom-end]{bottom:0;right:0;align-items:flex-end}._region_1gxg8_61[data-placement^=bottom] ._live_1gxg8_91{flex-direction:column-reverse}._live_1gxg8_91{display:flex;flex-direction:column;gap:var(--psi-space-8)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._banner_15y1f_7{display:grid;grid-template-columns:auto 1fr auto auto;align-items:start;gap:var(--psi-space-12);width:100%;box-sizing:border-box;padding:var(--psi-space-12) var(--psi-space-16);color:var(--psi-banner-fg);font:var(--psi-text-14-20-regular)}._banner_15y1f_7[data-variant=neutral]{background:var(--psi-banner-bg-neutral)}._banner_15y1f_7[data-variant=success]{background:var(--psi-banner-bg-success)}._banner_15y1f_7[data-variant=warning]{background:var(--psi-banner-bg-warning)}._banner_15y1f_7[data-variant=danger]{background:var(--psi-banner-bg-danger)}._icon_15y1f_26{display:inline-flex;align-items:center}._iconNeutral_15y1f_31{color:var(--psi-banner-icon-fg-neutral)}._iconSuccess_15y1f_32{color:var(--psi-banner-icon-fg-success)}._iconWarning_15y1f_33{color:var(--psi-banner-icon-fg-warning)}._iconDanger_15y1f_34{color:var(--psi-banner-icon-fg-danger)}._body_15y1f_36{min-width:0}._body_15y1f_36>p{margin-block:0}._body_15y1f_36>p+p{margin-block-start:var(--psi-space-8)}._title_15y1f_50{display:block;font:var(--psi-text-14-20-medium)}._action_15y1f_55{display:inline-flex}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._inlineAlert_16390_7{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:var(--psi-space-12);box-sizing:border-box;padding:var(--psi-space-12) var(--psi-space-16);border-radius:var(--psi-inline-alert-radius);color:var(--psi-inline-alert-fg);font:var(--psi-text-14-20-regular)}._inlineAlert_16390_7[data-variant=neutral]{background:var(--psi-inline-alert-bg-neutral);border:1px solid var(--psi-inline-alert-border-neutral)}._inlineAlert_16390_7[data-variant=success]{background:var(--psi-inline-alert-bg-success);border:1px solid var(--psi-inline-alert-border-success)}._inlineAlert_16390_7[data-variant=warning]{background:var(--psi-inline-alert-bg-warning);border:1px solid var(--psi-inline-alert-border-warning)}._inlineAlert_16390_7[data-variant=danger]{background:var(--psi-inline-alert-bg-danger);border:1px solid var(--psi-inline-alert-border-danger)}._icon_16390_38{display:inline-flex;align-items:center}._iconNeutral_16390_43{color:var(--psi-inline-alert-icon-fg-neutral)}._iconSuccess_16390_44{color:var(--psi-inline-alert-icon-fg-success)}._iconWarning_16390_45{color:var(--psi-inline-alert-icon-fg-warning)}._iconDanger_16390_46{color:var(--psi-inline-alert-icon-fg-danger)}._body_16390_48{min-width:0}._body_16390_48>p{margin-block:0}._body_16390_48>p+p{margin-block-start:var(--psi-space-8)}._title_16390_62{display:block;font:var(--psi-text-14-20-medium)}._action_16390_67{display:inline-flex}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{@keyframes _skeleton-pulse_1yo7t_1{0%{opacity:1}to{opacity:.45}}._skeleton_1yo7t_12{width:100%;box-sizing:border-box;animation:_skeleton-pulse_1yo7t_1 var(--psi-duration-600) var(--psi-ease-in-out) infinite alternate}._skeleton_1yo7t_12[data-variant=block]{border-radius:var(--psi-skeleton-radius);background:var(--psi-skeleton-bg)}._skeleton_1yo7t_12[data-size="24"]{height:var(--psi-size-24)}._skeleton_1yo7t_12[data-size="32"]{height:var(--psi-size-32)}._skeleton_1yo7t_12[data-size="40"]{height:var(--psi-size-40)}._skeleton_1yo7t_12[data-size="48"]{height:var(--psi-size-48)}._line_1yo7t_28{display:block;padding-block:var(--psi-space-6);margin-block:var(--psi-space-4);border-radius:var(--psi-skeleton-radius);background:var(--psi-skeleton-bg)}._line_1yo7t_28:last-child:not(:first-child){width:60%}@media(prefers-reduced-motion:reduce){._skeleton_1yo7t_12{animation:none}}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._tabs_1x9om_8{display:flex;flex-direction:column;gap:var(--psi-space-16)}._tabs_1x9om_8[data-orientation=vertical]{flex-direction:row;gap:var(--psi-space-24)}._list_1x9om_21{display:flex;flex-wrap:wrap;gap:var(--psi-space-4);border-bottom:1px solid var(--psi-tabs-list-border)}._tabs_1x9om_8[data-orientation=vertical] ._list_1x9om_21{flex-direction:column;flex-wrap:nowrap;border-bottom:none;border-inline-start:1px solid var(--psi-tabs-list-border)}._tab_1x9om_8{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;height:var(--psi-tabs-40-height);padding-inline:var(--psi-tabs-40-padding-x);font:var(--psi-text-14-20-medium);color:var(--psi-tabs-fg);transition:color var(--psi-duration-150) var(--psi-ease-standard)}._tab_1x9om_8:hover:not([aria-disabled=true]){background:var(--psi-tabs-bg-hover)}._tab_1x9om_8:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-tabs-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._tab_1x9om_8[aria-disabled=true]{color:var(--psi-tabs-fg-disabled);cursor:default}._tab_1x9om_8[aria-selected=true]{color:var(--psi-tabs-fg-selected)}._tab_1x9om_8[aria-selected=true]:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--psi-tabs-indicator)}._tabs_1x9om_8[data-orientation=vertical] ._tab_1x9om_8{text-align:start}._tabs_1x9om_8[data-orientation=vertical] ._tab_1x9om_8[aria-selected=true]:after{inset-inline:auto;inset-block:0;inset-inline-start:-1px;width:2px;height:auto}._panel_1x9om_99{min-width:0}._panel_1x9om_99:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-tabs-focus-ring);outline-offset:var(--psi-focus-ring-offset)}}
|
|
1
|
+
@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._button_1rxq8_3{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--psi-button-radius);cursor:pointer;font-family:var(--psi-font-sans);white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background-color var(--psi-duration-150) var(--psi-ease-standard),color var(--psi-duration-150) var(--psi-ease-standard)}._button_1rxq8_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-button-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._button_1rxq8_3:disabled{opacity:.4;cursor:not-allowed}._button_1rxq8_3>span{max-inline-size:var(--psi-button-label-max-width);overflow:hidden;text-overflow:ellipsis;flex:none}._button_1rxq8_3._disabled_1rxq8_45{opacity:.4;cursor:not-allowed;pointer-events:none}._size24_1rxq8_70{height:var(--psi-button-24-height);padding-inline:var(--psi-button-24-padding-inline);gap:var(--psi-button-24-gap);font:var(--psi-button-font, var(--psi-button-24-font))}._size24_1rxq8_70:has(>svg:first-child){padding-inline-start:var(--psi-button-24-padding-inline-icon)}._size24_1rxq8_70:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-24-padding-inline-icon)}._size24_1rxq8_70>svg{inline-size:var(--psi-button-24-icon-size);block-size:var(--psi-button-24-icon-size);flex:none}._size32_1rxq8_88{height:var(--psi-button-32-height);padding-inline:var(--psi-button-32-padding-inline);gap:var(--psi-button-32-gap);font:var(--psi-button-font, var(--psi-button-32-font))}._size32_1rxq8_88:has(>svg:first-child){padding-inline-start:var(--psi-button-32-padding-inline-icon)}._size32_1rxq8_88:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-32-padding-inline-icon)}._size32_1rxq8_88>svg{inline-size:var(--psi-button-32-icon-size);block-size:var(--psi-button-32-icon-size);flex:none}._size40_1rxq8_106{height:var(--psi-button-40-height);padding-inline:var(--psi-button-40-padding-inline);gap:var(--psi-button-40-gap);font:var(--psi-button-font, var(--psi-button-40-font))}._size40_1rxq8_106:has(>svg:first-child){padding-inline-start:var(--psi-button-40-padding-inline-icon)}._size40_1rxq8_106:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-40-padding-inline-icon)}._size40_1rxq8_106>svg{inline-size:var(--psi-button-40-icon-size);block-size:var(--psi-button-40-icon-size);flex:none}._size48_1rxq8_124{height:var(--psi-button-48-height);padding-inline:var(--psi-button-48-padding-inline);gap:var(--psi-button-48-gap);font:var(--psi-button-font, var(--psi-button-48-font))}._size48_1rxq8_124:has(>svg:first-child){padding-inline-start:var(--psi-button-48-padding-inline-icon)}._size48_1rxq8_124:has(>svg:last-child:not(:first-child)){padding-inline-end:var(--psi-button-48-padding-inline-icon)}._size48_1rxq8_124>svg{inline-size:var(--psi-button-48-icon-size);block-size:var(--psi-button-48-icon-size);flex:none}._accent_1rxq8_145{background:var(--psi-button-accent-bg);color:var(--psi-button-accent-fg)}._accent_1rxq8_145:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-bg-hover)}._accent_1rxq8_145:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-bg-active)}._accentSubtle_1rxq8_157{background:var(--psi-button-accent-subtle-bg);color:var(--psi-button-accent-subtle-fg)}._accentSubtle_1rxq8_157:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-subtle-bg-hover)}._accentSubtle_1rxq8_157:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-accent-subtle-bg-active)}._neutral_1rxq8_169{background:var(--psi-button-neutral-bg);color:var(--psi-button-neutral-fg)}._neutral_1rxq8_169:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-bg-hover)}._neutral_1rxq8_169:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-bg-active)}._neutralSubtle_1rxq8_181{background:var(--psi-button-neutral-subtle-bg);color:var(--psi-button-neutral-subtle-fg)}._neutralSubtle_1rxq8_181:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-subtle-bg-hover)}._neutralSubtle_1rxq8_181:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-neutral-subtle-bg-active)}._ghost_1rxq8_193{background:var(--psi-button-ghost-bg);color:var(--psi-button-ghost-fg)}._ghost_1rxq8_193:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-ghost-bg-hover)}._ghost_1rxq8_193:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-ghost-bg-active)}._danger_1rxq8_205{background:var(--psi-button-danger-bg);color:var(--psi-button-danger-fg)}._danger_1rxq8_205:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-bg-hover)}._danger_1rxq8_205:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-bg-active)}._dangerSubtle_1rxq8_217{background:var(--psi-button-danger-subtle-bg);color:var(--psi-button-danger-subtle-fg)}._dangerSubtle_1rxq8_217:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-subtle-bg-hover)}._dangerSubtle_1rxq8_217:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-danger-subtle-bg-active)}._outline_1rxq8_229{background:var(--psi-button-outline-bg);color:var(--psi-button-outline-fg);border:1px solid var(--psi-button-outline-border)}._outline_1rxq8_229:hover:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-outline-bg-hover);color:var(--psi-button-outline-fg-hover);border-color:transparent}._outline_1rxq8_229:active:not(:disabled):not(._disabled_1rxq8_45){background:var(--psi-button-outline-bg-active)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._iconButton_1q4hx_3{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--psi-button-radius);cursor:pointer;padding:0;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background-color var(--psi-duration-150) var(--psi-ease-standard),color var(--psi-duration-150) var(--psi-ease-standard)}._iconButton_1q4hx_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-button-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._iconButton_1q4hx_3:disabled{opacity:.4;cursor:not-allowed}._iconButton_1q4hx_3._disabled_1q4hx_29{opacity:.4;cursor:not-allowed;pointer-events:none}._size24_1q4hx_37{width:var(--psi-button-24-height);height:var(--psi-button-24-height)}._size32_1q4hx_42{width:var(--psi-button-32-height);height:var(--psi-button-32-height)}._size40_1q4hx_47{width:var(--psi-button-40-height);height:var(--psi-button-40-height)}._size48_1q4hx_52{width:var(--psi-button-48-height);height:var(--psi-button-48-height)}._accent_1q4hx_60{background:var(--psi-button-accent-bg);color:var(--psi-button-accent-fg)}._accent_1q4hx_60:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-accent-bg-hover)}._accent_1q4hx_60:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-accent-bg-active)}._neutral_1q4hx_72{background:var(--psi-button-neutral-bg);color:var(--psi-button-neutral-fg)}._neutral_1q4hx_72:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-neutral-bg-hover)}._neutral_1q4hx_72:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-neutral-bg-active)}._ghost_1q4hx_84{background:var(--psi-button-ghost-bg);color:var(--psi-button-ghost-fg)}._ghost_1q4hx_84:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-ghost-bg-hover)}._ghost_1q4hx_84:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-ghost-bg-active)}._danger_1q4hx_96{background:var(--psi-button-danger-bg);color:var(--psi-button-danger-fg)}._danger_1q4hx_96:hover:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-danger-bg-hover)}._danger_1q4hx_96:active:not(:disabled):not(._disabled_1q4hx_29){background:var(--psi-button-danger-bg-active)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._card_1btb3_1{background:var(--psi-card-bg);border:1px solid var(--psi-card-border);border-radius:var(--psi-card-radius);overflow:hidden}._stacked_1btb3_8{display:flex;flex-direction:column;gap:var(--psi-card-gap)}._featured_1btb3_10{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--psi-card-gap);align-items:start}@media(max-width:960px){._featured_1btb3_10{grid-template-columns:1fr}}._media_1btb3_22{min-width:0}._body_1btb3_23{min-width:0;display:flex;flex-direction:column;gap:var(--psi-card-gap);padding:var(--psi-card-gap)}._hoverLift_1btb3_31{transition:transform var(--psi-duration-350) var(--psi-ease-standard)}._hoverLift_1btb3_31:hover{transform:translateY(-6px)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._panel_jn8w4_1{background:var(--psi-panel-bg);border:1px solid var(--psi-panel-border);border-radius:var(--psi-panel-radius);padding:var(--psi-panel-padding)}._padding16_jn8w4_8{padding:var(--psi-space-16)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._list_1lh3q_8{display:flex;flex-direction:column;gap:var(--psi-space-12);margin:var(--psi-space-0)}._list_1lh3q_8[data-gap="8"]{gap:var(--psi-space-8)}._list_1lh3q_8[data-gap="16"]{gap:var(--psi-space-16)}._item_1lh3q_26{display:flex;flex-direction:column;gap:var(--psi-space-4);min-width:0}._list_1lh3q_8[data-layout=inline] ._item_1lh3q_26{display:grid;grid-template-columns:auto 1fr;column-gap:var(--psi-space-16);row-gap:var(--psi-space-0);align-items:start}._term_1lh3q_44{color:var(--psi-description-list-term-fg);font:var(--psi-text-14-20-medium);min-width:0}._value_1lh3q_50{color:var(--psi-description-list-value-fg);font:var(--psi-text-14-20-regular);margin:var(--psi-space-0);min-width:0;overflow-wrap:anywhere}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._navbar_1w24e_1{font:var(--psi-text-14-20-medium);position:sticky;top:0;z-index:var(--psi-z-nav);background:var(--psi-navbar-bg);backdrop-filter:blur(var(--psi-navbar-blur));-webkit-backdrop-filter:blur(var(--psi-navbar-blur));border-bottom:1px solid var(--psi-navbar-border)}._inner_1w24e_12{display:flex;align-items:center;gap:var(--psi-space-24);height:var(--psi-navbar-height)}._fluid_1w24e_20{padding-inline:var(--psi-navbar-gutter)}._brand_1w24e_22{display:flex;align-items:center}._links_1w24e_23{display:flex;align-items:center;gap:var(--psi-space-20);margin-inline-start:auto}._links_1w24e_23 a,._brand_1w24e_22 a{text-decoration:none;transition:color var(--psi-duration-150) var(--psi-ease-soft)}._links_1w24e_23 a{color:var(--psi-navbar-link-fg)}._links_1w24e_23 a:hover,._brand_1w24e_22 a{color:var(--psi-navbar-link-fg-hover)}._links_1w24e_23 a:focus-visible,._brand_1w24e_22 a:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-navbar-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._actions_1w24e_53{display:flex;align-items:center;gap:var(--psi-space-8)}._brand_1w24e_22+._actions_1w24e_53,._actions_1w24e_53:first-child{margin-inline-start:auto}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._skipLink_1fn0y_4{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}._skipLink_1fn0y_4:focus-visible{position:fixed;inset-block-start:0;inset-inline-start:0;margin:var(--psi-space-8);z-index:var(--psi-z-overlay);display:inline-flex;align-items:center;box-sizing:border-box;width:auto;height:var(--psi-size-32);padding-inline:var(--psi-space-12);overflow:visible;clip:auto;clip-path:none;background:var(--psi-skip-link-bg);color:var(--psi-skip-link-fg);border:1px solid var(--psi-skip-link-border);border-radius:var(--psi-skip-link-radius);font:var(--psi-text-14-20-medium);text-decoration:none;outline:var(--psi-focus-ring-width) solid var(--psi-skip-link-focus-ring);outline-offset:var(--psi-focus-ring-offset)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._navTree_1ktoe_7{display:block}._list_1ktoe_11,._groupList_1ktoe_12{display:flex;flex-direction:column;gap:var(--psi-space-2);margin:0;padding:0;list-style:none}._item_1ktoe_23 a{position:relative;display:flex;align-items:center;box-sizing:border-box;min-height:var(--psi-size-32);padding-block:var(--psi-space-4);padding-inline:var(--psi-space-12);border-radius:var(--psi-nav-tree-radius);color:var(--psi-nav-tree-item-fg);font:var(--psi-text-14-20-regular);text-decoration:none}._item_1ktoe_23 a:hover{background:var(--psi-nav-tree-item-bg-hover)}._item_1ktoe_23 a:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-nav-tree-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._item_1ktoe_23 a[aria-current=page]{background:var(--psi-nav-tree-item-bg-current);color:var(--psi-nav-tree-item-fg-current);font:var(--psi-text-14-20-medium)}._item_1ktoe_23 a[aria-current=page]:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;border-radius:var(--psi-nav-tree-radius);background:var(--psi-nav-tree-indicator)}._item_1ktoe_23 a[aria-current=true]{color:var(--psi-nav-tree-item-fg-current);font:var(--psi-text-14-20-medium)}._groupButton_1ktoe_79{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:var(--psi-space-8);box-sizing:border-box;width:100%;min-height:var(--psi-size-32);padding-block:var(--psi-space-4);padding-inline:var(--psi-space-12);border:0;border-radius:var(--psi-nav-tree-radius);background:none;color:var(--psi-nav-tree-group-fg);font:var(--psi-text-14-20-medium);text-align:start;cursor:pointer}._groupButton_1ktoe_79:hover{background:var(--psi-nav-tree-item-bg-hover)}._groupButton_1ktoe_79:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-nav-tree-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._groupLabel_1ktoe_108{min-width:0}._chevron_1ktoe_112{flex:none;transition:transform var(--psi-duration-150) var(--psi-ease-standard)}._groupButton_1ktoe_79[aria-expanded=true] ._chevron_1ktoe_112{transform:rotate(180deg)}._groupList_1ktoe_12{padding-inline-start:var(--psi-space-12);margin-block-start:var(--psi-space-2)}._groupList_1ktoe_12[hidden]{display:none}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._appShell_i1tds_10{display:grid;grid-template-rows:auto 1fr;grid-template-columns:var(--psi-app-shell-sidebar-width) minmax(0,1fr);height:100dvh}._sidebarClosed_i1tds_18{grid-template-columns:minmax(0,1fr)}._header_i1tds_22{grid-row:1;grid-column:1 / -1;min-width:0}._sidebar_i1tds_18{grid-row:2;min-height:0;overflow:auto;padding:var(--psi-space-8);background:var(--psi-app-shell-sidebar-bg);color:var(--psi-app-shell-sidebar-fg)}._sidebar_i1tds_18[hidden]{display:none}._main_i1tds_45{grid-row:2;min-width:0;min-height:0;overflow:auto}._main_i1tds_45:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-app-shell-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._frame_et4fc_1{overflow:hidden}._frame_et4fc_1>img,._frame_et4fc_1>video{width:100%;height:100%;object-fit:cover;display:block}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._field_x989o_1{display:grid;gap:var(--psi-field-gap);border:0;margin:0;padding:0;min-width:0}._label_x989o_10{font:var(--psi-text-14-20-medium);color:var(--psi-field-label-fg);padding:0;min-block-size:var(--psi-field-label-height)}._marker_x989o_19{color:var(--psi-field-marker-fg)}._requiredText_x989o_25{font:var(--psi-text-14-20-regular);color:var(--psi-field-required-text-fg)}._message_x989o_30{margin:0;font:var(--psi-text-12-16-regular);color:var(--psi-field-message-fg)}._invalid_x989o_36 ._message_x989o_30{color:var(--psi-field-error-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._dialog_qg38y_2{padding:0;border:1px solid var(--psi-dialog-border);border-radius:var(--psi-dialog-radius);background:var(--psi-dialog-bg);color:var(--psi-dialog-fg);max-width:calc(100vw - var(--psi-space-32))}._dialog_qg38y_2::backdrop{background:var(--psi-dialog-backdrop)}._dialog_qg38y_2:focus-visible,._panel_qg38y_20:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-dialog-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._dialog_qg38y_2[open]::backdrop{animation:_backdrop-enter_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _backdrop-enter_qg38y_1{0%{opacity:0}}._center_qg38y_42[open]{animation:_dialog-enter_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _dialog-enter_qg38y_1{0%{opacity:0;transform:scale(.97)}}._inlineStart_qg38y_50,._inlineEnd_qg38y_51{box-sizing:border-box;margin-block:0;height:100dvh;max-height:100dvh;max-width:100vw;border-radius:0}._inlineEnd_qg38y_51{margin-inline-start:auto;margin-inline-end:0;border-start-start-radius:var(--psi-dialog-radius);border-end-start-radius:var(--psi-dialog-radius)}._inlineStart_qg38y_50{margin-inline-start:0;margin-inline-end:auto;border-start-end-radius:var(--psi-dialog-radius);border-end-end-radius:var(--psi-dialog-radius)}._inlineEnd_qg38y_51[open]{animation:_drawer-enter-end_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}._inlineStart_qg38y_50[open]{animation:_drawer-enter-start_qg38y_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _drawer-enter-end_qg38y_1{0%{transform:translate(100%)}}@keyframes _drawer-enter-start_qg38y_1{0%{transform:translate(-100%)}}._w400_qg38y_100{width:400px}._w560_qg38y_101{width:560px}._w720_qg38y_102{width:720px}._panel_qg38y_20{display:grid;gap:var(--psi-space-16);padding:var(--psi-space-24)}._inlineStart_qg38y_50 ._panel_qg38y_20,._inlineEnd_qg38y_51 ._panel_qg38y_20{height:100%;overflow-y:auto;align-content:start}._header_qg38y_124{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--psi-space-12)}._title_qg38y_131{margin:0;font:var(--psi-text-18-28-medium);color:var(--psi-dialog-title-fg)}._footer_qg38y_137{display:flex;justify-content:flex-end;gap:var(--psi-space-8)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._input_pmr7w_3{display:block;box-sizing:border-box;width:100%;border:1px solid var(--psi-input-border);border-radius:var(--psi-input-radius);background:var(--psi-input-bg);color:var(--psi-input-fg);font-family:var(--psi-font-sans);transition:border-color var(--psi-duration-150) var(--psi-ease-standard),outline var(--psi-duration-150) var(--psi-ease-standard)}._input_pmr7w_3::placeholder{color:var(--psi-input-placeholder)}._input_pmr7w_3:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-input-border-hover)}._input_pmr7w_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-input-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset);border-color:transparent}._input_pmr7w_3:disabled{opacity:.4;cursor:not-allowed}._size24_pmr7w_43{height:var(--psi-input-24-height);padding-inline:var(--psi-input-24-padding-inline);font:var(--psi-input-24-font)}._size32_pmr7w_49{height:var(--psi-input-32-height);padding-inline:var(--psi-input-32-padding-inline);font:var(--psi-input-32-font)}._size40_pmr7w_55{height:var(--psi-input-40-height);padding-inline:var(--psi-input-40-padding-inline);font:var(--psi-input-40-font)}._size48_pmr7w_61{height:var(--psi-input-48-height);padding-inline:var(--psi-input-48-padding-inline);font:var(--psi-input-48-font)}._error_pmr7w_69{border-color:var(--psi-input-border-error)}._error_pmr7w_69:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-input-border-error)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._select_1eqz1_3{display:block;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--psi-select-border);border-radius:var(--psi-select-radius);background-color:var(--psi-select-bg);background-image:linear-gradient(45deg,transparent calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% + .75px),transparent calc(50% + .75px)),linear-gradient(135deg,transparent calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% - .75px),var(--psi-select-chevron-fg) calc(50% + .75px),transparent calc(50% + .75px));background-size:4px 4px;background-repeat:no-repeat;color:var(--psi-select-fg);font-family:var(--psi-font-sans);cursor:pointer;transition:border-color var(--psi-duration-150) var(--psi-ease-standard),outline var(--psi-duration-150) var(--psi-ease-standard)}._select_1eqz1_3:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-select-border-hover)}._select_1eqz1_3:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-select-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset);border-color:transparent}._select_1eqz1_3:disabled{opacity:.4;cursor:not-allowed}._size24_1eqz1_57{height:var(--psi-select-24-height);padding-inline-start:var(--psi-select-24-padding-inline);padding-inline-end:var(--psi-select-24-padding-inline-end);background-position:right calc(var(--psi-select-24-chevron-offset) + 6px) center,right calc(var(--psi-select-24-chevron-offset) + 2px) center;font:var(--psi-select-24-font)}._size32_1eqz1_67{height:var(--psi-select-32-height);padding-inline-start:var(--psi-select-32-padding-inline);padding-inline-end:var(--psi-select-32-padding-inline-end);background-position:right calc(var(--psi-select-32-chevron-offset) + 6px) center,right calc(var(--psi-select-32-chevron-offset) + 2px) center;font:var(--psi-select-32-font)}._size40_1eqz1_77{height:var(--psi-select-40-height);padding-inline-start:var(--psi-select-40-padding-inline);padding-inline-end:var(--psi-select-40-padding-inline-end);background-position:right calc(var(--psi-select-40-chevron-offset) + 6px) center,right calc(var(--psi-select-40-chevron-offset) + 2px) center;font:var(--psi-select-40-font)}._size48_1eqz1_87{height:var(--psi-select-48-height);padding-inline-start:var(--psi-select-48-padding-inline);padding-inline-end:var(--psi-select-48-padding-inline-end);background-position:right calc(var(--psi-select-48-chevron-offset) + 6px) center,right calc(var(--psi-select-48-chevron-offset) + 2px) center;font:var(--psi-select-48-font)}._error_1eqz1_99{border-color:var(--psi-select-border-error)}._error_1eqz1_99:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-select-border-error)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._label_eo049_3{display:inline-flex;align-items:center;gap:var(--psi-space-8);cursor:pointer;-webkit-user-select:none;user-select:none;font:var(--psi-text-14-20-regular);color:var(--psi-checkbox-fg)}._disabled_eo049_13{opacity:.4;cursor:not-allowed}._indicator_eo049_26{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;border:1px solid var(--psi-checkbox-box-border);border-radius:var(--psi-checkbox-box-radius);background:var(--psi-checkbox-box-bg);transition:background-color var(--psi-duration-150) var(--psi-ease-standard),border-color var(--psi-duration-150) var(--psi-ease-standard)}._input_eo049_42:checked+._indicator_eo049_26{background:var(--psi-checkbox-box-bg-checked);border-color:var(--psi-checkbox-box-border-checked)}._input_eo049_42:checked+._indicator_eo049_26:after{content:"";display:block;width:4px;height:8px;color:var(--psi-checkbox-check-fg);border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-.5px,-.5px)}._input_eo049_42:indeterminate+._indicator_eo049_26{background:var(--psi-checkbox-box-bg-checked);border-color:var(--psi-checkbox-box-border-checked)}._input_eo049_42:indeterminate+._indicator_eo049_26:after{content:"";display:block;width:8px;height:2px;border:0;border-radius:1px;color:var(--psi-checkbox-check-fg);background:currentColor;transform:none}._input_eo049_42:focus-visible+._indicator_eo049_26{outline:var(--psi-focus-ring-width) solid var(--psi-checkbox-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._text_eo049_90{color:var(--psi-checkbox-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._label_yv464_3{display:inline-flex;align-items:center;gap:var(--psi-space-8);cursor:pointer;-webkit-user-select:none;user-select:none;font:var(--psi-text-14-20-regular);color:var(--psi-switch-fg)}._disabled_yv464_13{opacity:.4;cursor:not-allowed}._track_yv464_26{position:relative;display:inline-flex;align-items:center;width:36px;height:20px;flex-shrink:0;border-radius:var(--psi-radius-full);background:var(--psi-switch-track-bg);transition:background-color var(--psi-duration-150) var(--psi-ease-standard)}._input_yv464_38:checked+._track_yv464_26{background:var(--psi-switch-track-bg-checked)}._input_yv464_38:focus-visible+._track_yv464_26{outline:var(--psi-focus-ring-width) solid var(--psi-switch-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._thumb_yv464_50{position:absolute;width:16px;height:16px;border-radius:var(--psi-radius-full);background:var(--psi-switch-thumb-bg);left:2px;transition:left var(--psi-duration-150) var(--psi-ease-standard);box-shadow:0 1px 2px #00000029}._input_yv464_38:checked+._track_yv464_26 ._thumb_yv464_50{left:18px}._text_yv464_67{color:var(--psi-switch-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._wrap_1twws_6{display:grid;gap:var(--psi-space-4)}._textarea_1twws_11{display:block;box-sizing:border-box;width:100%;min-width:0;padding-block:var(--psi-space-6);padding-inline:var(--psi-textarea-padding-inline);border:1px solid var(--psi-textarea-border);border-radius:var(--psi-textarea-radius);background:var(--psi-textarea-bg);color:var(--psi-textarea-fg);font:var(--psi-textarea-font);font-family:var(--psi-font-sans);resize:vertical;transition:border-color var(--psi-duration-150) var(--psi-ease-standard),outline var(--psi-duration-150) var(--psi-ease-standard)}._textarea_1twws_11::placeholder{color:var(--psi-textarea-placeholder)}._textarea_1twws_11:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-textarea-border-hover)}._textarea_1twws_11:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-textarea-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset);border-color:transparent}._textarea_1twws_11:disabled{opacity:.4;cursor:not-allowed}._error_1twws_49,._error_1twws_49:hover:not(:disabled):not(:focus-visible){border-color:var(--psi-textarea-border-error)}._counter_1twws_55{justify-self:end;font:var(--psi-text-12-16-regular);font-variant-numeric:tabular-nums;color:var(--psi-textarea-counter-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._group_1bv98_5{display:flex;flex-direction:column;align-items:flex-start;gap:var(--psi-space-8)}._horizontal_1bv98_12{flex-direction:row;flex-wrap:wrap;gap:var(--psi-space-16)}._label_1bv98_18{display:inline-flex;align-items:center;gap:var(--psi-space-8);cursor:pointer;-webkit-user-select:none;user-select:none;font:var(--psi-text-14-20-regular);color:var(--psi-radio-group-fg)}._disabled_1bv98_28{opacity:.4;cursor:not-allowed}._circle_1bv98_35{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;flex-shrink:0;border:1px solid var(--psi-radio-group-circle-border);border-radius:var(--psi-radius-full);background:var(--psi-radio-group-circle-bg);transition:background-color var(--psi-duration-150) var(--psi-ease-standard),border-color var(--psi-duration-150) var(--psi-ease-standard)}._input_1bv98_51:checked+._circle_1bv98_35{background:var(--psi-radio-group-circle-bg-checked);border-color:var(--psi-radio-group-circle-border-checked)}._input_1bv98_51:checked+._circle_1bv98_35:after{content:"";display:block;width:6px;height:6px;border-radius:var(--psi-radius-full);color:var(--psi-radio-group-dot-fg);background:currentColor}._input_1bv98_51:focus-visible+._circle_1bv98_35{outline:var(--psi-focus-ring-width) solid var(--psi-radio-group-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._text_1bv98_73{color:var(--psi-radio-group-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._tag_1r2xw_3{display:inline-flex;align-items:center;gap:var(--psi-space-4);height:24px;padding-inline:var(--psi-space-8);border-radius:var(--psi-radius-full);font:var(--psi-text-12-16-medium);white-space:nowrap;-webkit-user-select:none;user-select:none}._dismiss_1r2xw_17{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:inherit;cursor:pointer;opacity:.7;margin-inline-start:var(--psi-space-2);margin-inline-end:calc(-1 * var(--psi-space-4));border-radius:var(--psi-radius-full)}._dismiss_1r2xw_17:hover{opacity:1}._dismiss_1r2xw_17:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-tag-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._neutral_1r2xw_43{background:var(--psi-tag-neutral-bg);color:var(--psi-tag-neutral-fg)}._accent_1r2xw_48{background:var(--psi-tag-accent-bg);color:var(--psi-tag-accent-fg)}._success_1r2xw_53{background:var(--psi-tag-success-bg);color:var(--psi-tag-success-fg)}._warning_1r2xw_58{background:var(--psi-tag-warning-bg);color:var(--psi-tag-warning-fg)}._danger_1r2xw_63{background:var(--psi-tag-danger-bg);color:var(--psi-tag-danger-fg)}._neutralSubtle_1r2xw_70{background:var(--psi-tag-neutral-subtle-bg);color:var(--psi-tag-neutral-subtle-fg)}._accentSubtle_1r2xw_75{background:var(--psi-tag-accent-subtle-bg);color:var(--psi-tag-accent-subtle-fg)}._successSubtle_1r2xw_80{background:var(--psi-tag-success-subtle-bg);color:var(--psi-tag-success-subtle-fg)}._warningSubtle_1r2xw_85{background:var(--psi-tag-warning-subtle-bg);color:var(--psi-tag-warning-subtle-fg)}._dangerSubtle_1r2xw_90{background:var(--psi-tag-danger-subtle-bg);color:var(--psi-tag-danger-subtle-fg)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._wrapper_1eu6z_3{position:relative;display:inline-flex}._tooltip_1eu6z_10{position:absolute;z-index:var(--psi-z-tooltip);padding:var(--psi-space-4) var(--psi-space-8);border-radius:var(--psi-tooltip-radius);background:var(--psi-tooltip-bg);color:var(--psi-tooltip-fg);font:var(--psi-text-12-16-regular);white-space:nowrap;pointer-events:none}._top_1eu6z_24{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--psi-space-4)}._bottom_1eu6z_31{top:100%;left:50%;transform:translate(-50%);margin-top:var(--psi-space-4)}._left_1eu6z_38{right:100%;top:50%;transform:translateY(-50%);margin-right:var(--psi-space-4)}._right_1eu6z_45{left:100%;top:50%;transform:translateY(-50%);margin-left:var(--psi-space-4)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._toolbar_8bwkv_1{display:flex;flex-wrap:wrap;align-items:center}._gap8_8bwkv_7{gap:var(--psi-space-8)}._gap12_8bwkv_8{gap:var(--psi-space-12)}._gap16_8bwkv_9{gap:var(--psi-space-16)}._alignEnd_8bwkv_13{align-items:flex-end}._alignStart_8bwkv_19{align-items:flex-start}._alignStart_8bwkv_19>:is(button,a){margin-block-start:var(--psi-toolbar-action-offset)}._toolbar_8bwkv_1>input,._toolbar_8bwkv_1>select{width:var(--psi-toolbar-control-width)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._trigger_pivae_4{display:inline-flex;width:fit-content}._menu_pivae_16{min-width:180px;margin:var(--psi-space-4);padding:var(--psi-space-4);border:1px solid var(--psi-menu-border);border-radius:var(--psi-menu-radius);background:var(--psi-menu-bg);color:var(--psi-menu-fg);font:var(--psi-text-14-20-regular)}._menu_pivae_16:not([data-open]):not(:popover-open){display:none}._item_pivae_37{display:flex;width:100%;align-items:center;padding:var(--psi-space-8) var(--psi-space-12);border:0;border-radius:var(--psi-radius-6);background:var(--psi-menu-item-bg);color:var(--psi-menu-item-fg);font:inherit;text-align:start;cursor:pointer}._item_pivae_37:hover{background:var(--psi-menu-item-bg-hover)}._item_pivae_37:active{background:var(--psi-menu-item-bg-active)}._item_pivae_37:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-menu-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._item_pivae_37[data-variant=danger]{color:var(--psi-menu-item-fg-danger)}._item_pivae_37[aria-disabled=true]{color:var(--psi-menu-item-fg-disabled);cursor:default}._item_pivae_37[aria-disabled=true]:hover{background:var(--psi-menu-item-bg)}._text_pivae_85{padding:var(--psi-space-8) var(--psi-space-12);color:var(--psi-menu-text-fg);cursor:default}._separator_pivae_93{height:0;margin:var(--psi-space-4) 0;border-top:1px solid var(--psi-menu-separator-border)}@supports (anchor-name: --x){._menu_pivae_16{position:fixed;margin:var(--psi-space-4);position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}._menu_pivae_16[data-placement=bottom-start]{position-area:block-end span-inline-end}._menu_pivae_16[data-placement=bottom-end]{position-area:block-end span-inline-start}._menu_pivae_16[data-placement=top-start]{position-area:block-start span-inline-end}._menu_pivae_16[data-placement=top-end]{position-area:block-start span-inline-start}}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._table_1maek_3{width:100%;border-collapse:collapse;background:var(--psi-table-bg);color:var(--psi-table-fg);font:var(--psi-text-14-20-regular);border:1px solid var(--psi-table-border);border-radius:var(--psi-table-radius)}._caption_1maek_19{caption-side:top;text-align:start;padding-block:var(--psi-space-8);color:var(--psi-table-fg);font:var(--psi-text-14-20-medium)}._captionDetail_1maek_27{display:block;color:var(--psi-table-header-fg);font:var(--psi-text-12-16-regular)}._caption_1maek_19:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-table-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._headerCell_1maek_38{color:var(--psi-table-header-fg);font:var(--psi-text-14-20-medium);text-align:start}._cell_1maek_44,._headerCell_1maek_38{border-bottom:1px solid var(--psi-table-cell-border)}._rowHeader_1maek_51{font:var(--psi-text-14-20-medium);text-align:start}._cell_1maek_44[data-numeric],._headerCell_1maek_38[data-numeric]{text-align:end;font-variant-numeric:var(--psi-font-variant-numeric)}._sortButton_1maek_62{display:inline-flex;align-items:center;gap:var(--psi-space-4);padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}._sortButton_1maek_62:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-table-focus-ring);outline-offset:var(--psi-focus-ring-offset)}._sortIndicator_1maek_79{color:var(--psi-table-sort-indicator-fg)}._table_1maek_3[data-size="32"] ._cell_1maek_44,._table_1maek_3[data-size="32"] ._headerCell_1maek_38{height:var(--psi-table-32-row-height);padding-inline:var(--psi-table-32-cell-padding-x)}._table_1maek_3[data-size="32"] ._caption_1maek_19{padding-inline:var(--psi-table-32-cell-padding-x)}._table_1maek_3[data-size="40"] ._cell_1maek_44,._table_1maek_3[data-size="40"] ._headerCell_1maek_38{height:var(--psi-table-40-row-height);padding-inline:var(--psi-table-40-cell-padding-x)}._table_1maek_3[data-size="40"] ._caption_1maek_19{padding-inline:var(--psi-table-40-cell-padding-x)}._table_1maek_3[data-size="48"] ._cell_1maek_44,._table_1maek_3[data-size="48"] ._headerCell_1maek_38{height:var(--psi-table-48-row-height);padding-inline:var(--psi-table-48-cell-padding-x)}._table_1maek_3[data-size="48"] ._caption_1maek_19{padding-inline:var(--psi-table-48-cell-padding-x)}._table_1maek_3[data-size] ._selectCell_1maek_123{width:1%;padding-inline-end:0}._body_1maek_130 ._row_1maek_51:hover{background:var(--psi-table-row-bg-hover)}._body_1maek_130 ._row_1maek_51[data-selected]:hover,._row_1maek_51[data-selected]{background:var(--psi-table-row-bg-selected)}._row_1maek_51{background:var(--psi-table-row-bg)}._sticky_1maek_155 ._headerCell_1maek_38{position:sticky;inset-block-start:0;z-index:var(--psi-z-sticky);background:var(--psi-table-bg);box-shadow:inset 0 -1px 0 var(--psi-table-cell-border)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._nav_166vs_6{display:flex;align-items:center;gap:var(--psi-space-4)}._ellipsis_166vs_12{padding-inline:var(--psi-space-4)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._nav_jbhk1_5{display:inline-flex;align-items:center;gap:var(--psi-space-8)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._toast_1gxg8_10{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--psi-space-12);min-width:280px;max-width:420px;padding:var(--psi-space-12) var(--psi-space-16);border:1px solid var(--psi-toast-border);border-radius:var(--psi-toast-radius);background:var(--psi-toast-bg);color:var(--psi-toast-fg);font:var(--psi-text-14-20-regular);animation:_toast-enter_1gxg8_1 var(--psi-duration-200) var(--psi-ease-soft)}@keyframes _toast-enter_1gxg8_1{0%{opacity:0;transform:translateY(8px)}}._icon_1gxg8_39{display:inline-flex;align-items:center}._iconNeutral_1gxg8_44{color:var(--psi-toast-icon-fg-neutral)}._iconSuccess_1gxg8_45{color:var(--psi-toast-icon-fg-success)}._iconWarning_1gxg8_46{color:var(--psi-toast-icon-fg-warning)}._iconDanger_1gxg8_47{color:var(--psi-toast-icon-fg-danger)}._body_1gxg8_51{min-width:0}._action_1gxg8_55{display:inline-flex}._region_1gxg8_61{position:fixed;inset:auto;margin:0;padding:var(--psi-space-16);border:0;background:none;overflow:visible;pointer-events:none;display:flex;flex-direction:column;gap:var(--psi-space-8);width:max-content;max-width:100%}._region_1gxg8_61[data-placement=top-start]{top:0;left:0;align-items:flex-start}._region_1gxg8_61[data-placement=top-end]{top:0;right:0;align-items:flex-end}._region_1gxg8_61[data-placement=bottom-start]{bottom:0;left:0;align-items:flex-start}._region_1gxg8_61[data-placement=bottom-end]{bottom:0;right:0;align-items:flex-end}._region_1gxg8_61[data-placement^=bottom] ._live_1gxg8_91{flex-direction:column-reverse}._live_1gxg8_91{display:flex;flex-direction:column;gap:var(--psi-space-8)}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._banner_15y1f_7{display:grid;grid-template-columns:auto 1fr auto auto;align-items:start;gap:var(--psi-space-12);width:100%;box-sizing:border-box;padding:var(--psi-space-12) var(--psi-space-16);color:var(--psi-banner-fg);font:var(--psi-text-14-20-regular)}._banner_15y1f_7[data-variant=neutral]{background:var(--psi-banner-bg-neutral)}._banner_15y1f_7[data-variant=success]{background:var(--psi-banner-bg-success)}._banner_15y1f_7[data-variant=warning]{background:var(--psi-banner-bg-warning)}._banner_15y1f_7[data-variant=danger]{background:var(--psi-banner-bg-danger)}._icon_15y1f_26{display:inline-flex;align-items:center}._iconNeutral_15y1f_31{color:var(--psi-banner-icon-fg-neutral)}._iconSuccess_15y1f_32{color:var(--psi-banner-icon-fg-success)}._iconWarning_15y1f_33{color:var(--psi-banner-icon-fg-warning)}._iconDanger_15y1f_34{color:var(--psi-banner-icon-fg-danger)}._body_15y1f_36{min-width:0}._body_15y1f_36>p{margin-block:0}._body_15y1f_36>p+p{margin-block-start:var(--psi-space-8)}._title_15y1f_50{display:block;font:var(--psi-text-14-20-medium)}._action_15y1f_55{display:inline-flex}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._inlineAlert_16390_7{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:var(--psi-space-12);box-sizing:border-box;padding:var(--psi-space-12) var(--psi-space-16);border-radius:var(--psi-inline-alert-radius);color:var(--psi-inline-alert-fg);font:var(--psi-text-14-20-regular)}._inlineAlert_16390_7[data-variant=neutral]{background:var(--psi-inline-alert-bg-neutral);border:1px solid var(--psi-inline-alert-border-neutral)}._inlineAlert_16390_7[data-variant=success]{background:var(--psi-inline-alert-bg-success);border:1px solid var(--psi-inline-alert-border-success)}._inlineAlert_16390_7[data-variant=warning]{background:var(--psi-inline-alert-bg-warning);border:1px solid var(--psi-inline-alert-border-warning)}._inlineAlert_16390_7[data-variant=danger]{background:var(--psi-inline-alert-bg-danger);border:1px solid var(--psi-inline-alert-border-danger)}._icon_16390_38{display:inline-flex;align-items:center}._iconNeutral_16390_43{color:var(--psi-inline-alert-icon-fg-neutral)}._iconSuccess_16390_44{color:var(--psi-inline-alert-icon-fg-success)}._iconWarning_16390_45{color:var(--psi-inline-alert-icon-fg-warning)}._iconDanger_16390_46{color:var(--psi-inline-alert-icon-fg-danger)}._body_16390_48{min-width:0}._body_16390_48>p{margin-block:0}._body_16390_48>p+p{margin-block-start:var(--psi-space-8)}._title_16390_62{display:block;font:var(--psi-text-14-20-medium)}._action_16390_67{display:inline-flex}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{@keyframes _skeleton-pulse_1yo7t_1{0%{opacity:1}to{opacity:.45}}._skeleton_1yo7t_12{width:100%;box-sizing:border-box;animation:_skeleton-pulse_1yo7t_1 var(--psi-duration-600) var(--psi-ease-in-out) infinite alternate}._skeleton_1yo7t_12[data-variant=block]{border-radius:var(--psi-skeleton-radius);background:var(--psi-skeleton-bg)}._skeleton_1yo7t_12[data-size="24"]{height:var(--psi-size-24)}._skeleton_1yo7t_12[data-size="32"]{height:var(--psi-size-32)}._skeleton_1yo7t_12[data-size="40"]{height:var(--psi-size-40)}._skeleton_1yo7t_12[data-size="48"]{height:var(--psi-size-48)}._line_1yo7t_28{display:block;padding-block:var(--psi-space-6);margin-block:var(--psi-space-4);border-radius:var(--psi-skeleton-radius);background:var(--psi-skeleton-bg)}._line_1yo7t_28:last-child:not(:first-child){width:60%}@media(prefers-reduced-motion:reduce){._skeleton_1yo7t_12{animation:none}}}@layer psi.base,psi.theme,psi.components,psi.utilities;@layer psi.components{._tabs_1x9om_8{display:flex;flex-direction:column;gap:var(--psi-space-16)}._tabs_1x9om_8[data-orientation=vertical]{flex-direction:row;gap:var(--psi-space-24)}._list_1x9om_21{display:flex;flex-wrap:wrap;gap:var(--psi-space-4);border-bottom:1px solid var(--psi-tabs-list-border)}._tabs_1x9om_8[data-orientation=vertical] ._list_1x9om_21{flex-direction:column;flex-wrap:nowrap;border-bottom:none;border-inline-start:1px solid var(--psi-tabs-list-border)}._tab_1x9om_8{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;height:var(--psi-tabs-40-height);padding-inline:var(--psi-tabs-40-padding-x);font:var(--psi-text-14-20-medium);color:var(--psi-tabs-fg);transition:color var(--psi-duration-150) var(--psi-ease-standard)}._tab_1x9om_8:hover:not([aria-disabled=true]){background:var(--psi-tabs-bg-hover)}._tab_1x9om_8:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-tabs-focus-ring);outline-offset:var(--psi-focus-ring-offset-inset)}._tab_1x9om_8[aria-disabled=true]{color:var(--psi-tabs-fg-disabled);cursor:default}._tab_1x9om_8[aria-selected=true]{color:var(--psi-tabs-fg-selected)}._tab_1x9om_8[aria-selected=true]:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--psi-tabs-indicator)}._tabs_1x9om_8[data-orientation=vertical] ._tab_1x9om_8{text-align:start}._tabs_1x9om_8[data-orientation=vertical] ._tab_1x9om_8[aria-selected=true]:after{inset-inline:auto;inset-block:0;inset-inline-start:-1px;width:2px;height:auto}._panel_1x9om_99{min-width:0}._panel_1x9om_99:focus-visible{outline:var(--psi-focus-ring-width) solid var(--psi-tabs-focus-ring);outline-offset:var(--psi-focus-ring-offset)}}
|
package/docs/Checkbox.md
CHANGED
|
@@ -9,6 +9,7 @@ Native checkbox with a built-in label; for independent binary choices.
|
|
|
9
9
|
|---|---|---|---|---|
|
|
10
10
|
| `children` | `ReactNode` | — | no | Label text. |
|
|
11
11
|
| `aria-label` | `string` | — | no | Accessible name when there is no visible label — a table's row-selection checkbox, say. Optional, unlike IconButton's required form (D60): a labelled checkbox is still the common case. |
|
|
12
|
+
| `indeterminate` | `boolean` | — | no | The mixed state, e.g. a "select all" over a partial selection (D103). Sets the input's DOM property, which the platform exposes as aria-checked="mixed", and draws a dash. Re-applied on every render, because a click clears the property before the consumer re-renders. When absent, the property is left alone, so a state set through the ref survives. |
|
|
12
13
|
| `ref` | `Ref<HTMLInputElement>` | — | no | Forwarded ref to the underlying `<input type="checkbox">` element. |
|
|
13
14
|
| `className` | `string` | — | no | Additional CSS class name(s) merged onto the component's root element. |
|
|
14
15
|
|
package/docs/Dialog.md
CHANGED
|
@@ -14,7 +14,10 @@ Modal dialog on the native <dialog> top layer: focus trap, aria-modal and focus
|
|
|
14
14
|
| `footer` | `ReactNode` | — | no | Action row (Buttons — one accent per group, danger for destructive). |
|
|
15
15
|
| `width` | `400 \| 560 \| 720` | 560 | no | Panel width in px (400 \| 560 \| 720). For an `inline-*` placement this is the drawer's width; the height is always the full viewport. |
|
|
16
16
|
| `placement` | `"center" \| "inline-start" \| "inline-end"` | center | no | Where the panel sits. `inline-start` / `inline-end` pin it full-height to that edge, making it a drawer (D66). |
|
|
17
|
-
| `dismissible` | `boolean` | true | no | false = no close button, Esc and backdrop swallowed — footer is the only exit. |
|
|
17
|
+
| `dismissible` | `boolean` | true | no | false = no close button, Esc and backdrop swallowed — footer is the only exit. `closeOnEscape` can give Escape back on its own (D101). |
|
|
18
|
+
| `closeOnEscape` | `boolean` | dismissible | no | Whether Escape reports onClose("esc"), separately from the close button and the backdrop (D101). A consequential confirmation is `dismissible={false} closeOnEscape`: no close button, no backdrop dismissal, and Escape cancels. |
|
|
19
|
+
| `initialFocus` | `RefObject<HTMLElement \| null>` | — | no | The element to focus each time the dialog opens, after the platform's own focusing (D101), e.g. a ref to the footer's Cancel button. Without it, the platform focuses the first focusable control, as before. |
|
|
20
|
+
| `closeLabel` | `string` | — | no | Visible text for the close button (D101). When set, the close button is a ghost Button with this text instead of the icon-only "Close dialog" button. |
|
|
18
21
|
| `ref` | `Ref<HTMLDialogElement>` | — | no | Forwarded ref to the underlying <dialog> element. |
|
|
19
22
|
| `className` | `string` | — | no | Additional CSS class name(s) merged onto the component's root element. |
|
|
20
23
|
|
|
@@ -22,7 +25,7 @@ Modal dialog on the native <dialog> top layer: focus trap, aria-modal and focus
|
|
|
22
25
|
|
|
23
26
|
| Keys | Behavior |
|
|
24
27
|
|---|---|
|
|
25
|
-
| Esc | Dismisses via onClose('esc') when dismissible; swallowed otherwise. |
|
|
28
|
+
| Esc | Dismisses via onClose('esc') when closeOnEscape (default: dismissible); swallowed otherwise (D101). |
|
|
26
29
|
| Tab | Focus is trapped inside by the native <dialog> top layer; restored on close. |
|
|
27
30
|
|
|
28
31
|
Rendered with showModal(): aria-modal, inert background and focus restore come from the platform. title wires aria-labelledby; without title, pass aria-label. Backdrop click dismisses only when dismissible. placement="inline-start"/"inline-end" pins the panel full-height to that edge — that is Psi's drawer, and it changes nothing about modality, the focus trap, focus restore or the dismissal reasons (D66). A drawer's panel scrolls internally so a dismissible={false} footer stays reachable.
|