@brightspot/ui 6.7.1-pr.401.2026.10.22 → 6.8.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.
Files changed (105) hide show
  1. package/dist/components/radio/Radio.d.ts +112 -0
  2. package/dist/components/radio/Radio.d.ts.map +1 -0
  3. package/dist/components/radio/Radio.js +228 -0
  4. package/dist/components/radio/Radio.js.map +1 -0
  5. package/dist/components/radio/RadioGroup.d.ts +94 -0
  6. package/dist/components/radio/RadioGroup.d.ts.map +1 -0
  7. package/dist/components/radio/RadioGroup.js +249 -0
  8. package/dist/components/radio/RadioGroup.js.map +1 -0
  9. package/dist/custom-elements.json +840 -0
  10. package/dist/storybook/assets/{ActionBar.stories-h4LZnjPi.js → ActionBar.stories-CJBn-mku.js} +1 -1
  11. package/dist/storybook/assets/{ActionItem.stories-DrtiuK_q.js → ActionItem.stories-DXzC9C1u.js} +1 -1
  12. package/dist/storybook/assets/{AiSparkle.stories-vyk5EN2Y.js → AiSparkle.stories-BfjT5jrJ.js} +1 -1
  13. package/dist/storybook/assets/{Avatar.stories-y9T1MrQQ.js → Avatar.stories-D8lnIZaY.js} +1 -1
  14. package/dist/storybook/assets/{AvatarGroup.stories-52-tqOb2.js → AvatarGroup.stories-Cz9oVah0.js} +1 -1
  15. package/dist/storybook/assets/{Badge.stories-oHJYKBIM.js → Badge.stories-DEpoJpUZ.js} +1 -1
  16. package/dist/storybook/assets/{Banner.stories-BXYde1iZ.js → Banner.stories--jeU6fKq.js} +1 -1
  17. package/dist/storybook/assets/{Button-CAMYBU_U.js → Button-2ucj5lUP.js} +1 -1
  18. package/dist/storybook/assets/{Button.stories-DSDjifLT.js → Button.stories-ndl1RJd7.js} +1 -1
  19. package/dist/storybook/assets/{ButtonGroup.stories-Ch1Tu6Kj.js → ButtonGroup.stories-CerE_0AC.js} +1 -1
  20. package/dist/storybook/assets/{Card.stories-Nl10FlTb.js → Card.stories-5SxHtU3Y.js} +1 -1
  21. package/dist/storybook/assets/{Celebrate.stories-Ds1-srNO.js → Celebrate.stories-COS789GX.js} +1 -1
  22. package/dist/storybook/assets/{Checkbox.stories-Bk9fNdcL.js → Checkbox.stories-DuQu38Gv.js} +1 -1
  23. package/dist/storybook/assets/{CircularProgress.stories-DzhTWHYN.js → CircularProgress.stories-Lf2Ws46Y.js} +1 -1
  24. package/dist/storybook/assets/{ClipboardMixin.stories-BnFXCiFJ.js → ClipboardMixin.stories-BT5KfLZ_.js} +1 -1
  25. package/dist/storybook/assets/{Color-6BZIO3FS-BntnPWZM.js → Color-6BZIO3FS-BNBxjqrS.js} +1 -1
  26. package/dist/storybook/assets/{Colors.stories-0AeeEVVw.js → Colors.stories-Ck6bXbd0.js} +1 -1
  27. package/dist/storybook/assets/{CombinedEffects.stories-kjjXfgj6.js → CombinedEffects.stories-DLELdAMr.js} +1 -1
  28. package/dist/storybook/assets/{ComponentStatesMixin-Bf5gvpXs.js → ComponentStatesMixin-B6uJL_2c.js} +1 -1
  29. package/dist/storybook/assets/{ComponentStatesMixin.stories-BwDY3N5N.js → ComponentStatesMixin.stories-fiyrALkY.js} +1 -1
  30. package/dist/storybook/assets/{CopyToClipboard.stories-DHz4lvAk.js → CopyToClipboard.stories-2OfBH19_.js} +1 -1
  31. package/dist/storybook/assets/{Debounce.stories-3QSaZZAP.js → Debounce.stories-C9qo3lIN.js} +1 -1
  32. package/dist/storybook/assets/{DocsRenderer-LL677BLK-DvuqJl5p.js → DocsRenderer-LL677BLK-CBVYZYjR.js} +3 -3
  33. package/dist/storybook/assets/{Dropdown.stories-B_SUX4kQ.js → Dropdown.stories-15ZDMkRz.js} +1 -1
  34. package/dist/storybook/assets/{EmptyState.stories-EL9oDdMl.js → EmptyState.stories-Bjb8hzYj.js} +1 -1
  35. package/dist/storybook/assets/{EscaAvatar.stories-CckR2oJo.js → EscaAvatar.stories-Rc2MSzCX.js} +1 -1
  36. package/dist/storybook/assets/{Events.stories-BijV4stG.js → Events.stories-BV0vMF2I.js} +1 -1
  37. package/dist/storybook/assets/{Heading.stories-BEWjqFbE.js → Heading.stories-CEUJqUbQ.js} +1 -1
  38. package/dist/storybook/assets/{HueRipple.stories-Z4lM_TPD.js → HueRipple.stories-CwvtcOM_.js} +1 -1
  39. package/dist/storybook/assets/{Icon.stories-DAMHb2XQ.js → Icon.stories-AB_v-61c.js} +1 -1
  40. package/dist/storybook/assets/{IconButton.stories-DQ7WseyR.js → IconButton.stories-BHuHsM3k.js} +1 -1
  41. package/dist/storybook/assets/{LinearProgress.stories-v9OOfaD3.js → LinearProgress.stories-BNN5SXe3.js} +1 -1
  42. package/dist/storybook/assets/{Message.stories-0GFTbybz.js → Message.stories-DdLhMXnb.js} +1 -1
  43. package/dist/storybook/assets/{OnFindMixin.stories-DbGsd7N-.js → OnFindMixin.stories-B-5TeBOF.js} +1 -1
  44. package/dist/storybook/assets/{Pagination.stories-W-Fg9qDN.js → Pagination.stories-C9zsOdb2.js} +1 -1
  45. package/dist/storybook/assets/{Popover.stories-CvB5GueC.js → Popover.stories-BiqIwebU.js} +1 -1
  46. package/dist/storybook/assets/Radio.stories-BmrEdPkm.js +71 -0
  47. package/dist/storybook/assets/RadioGroup.stories-ChARVXs3.js +221 -0
  48. package/dist/storybook/assets/{ReadyMixin-Br9owaZV.js → ReadyMixin-BbuzH3uO.js} +1 -1
  49. package/dist/storybook/assets/{RovingTabindexMixin.stories-anjAbAzC.js → RovingTabindexMixin.stories-xm4b394_.js} +1 -1
  50. package/dist/storybook/assets/{Rtc.stories-VHR68JiM.js → Rtc.stories-DdcMaELA.js} +1 -1
  51. package/dist/storybook/assets/{ScrollShadow.stories-D_D-r-JK.js → ScrollShadow.stories-CI67Ougx.js} +1 -1
  52. package/dist/storybook/assets/{Switch.stories-BBc3Ddok.js → Switch.stories-DOqrRkxc.js} +1 -1
  53. package/dist/storybook/assets/{Tab.stories-Co1bcV-c.js → Tab.stories-DN8o4cf_.js} +1 -1
  54. package/dist/storybook/assets/{Tabs.stories-uhbYgv3l.js → Tabs.stories-BEowfCcl.js} +1 -1
  55. package/dist/storybook/assets/{Throttle.stories-Lq5D5WmY.js → Throttle.stories-BZ_nsuw1.js} +1 -1
  56. package/dist/storybook/assets/{Tooltip.stories-CJ8sPHvm.js → Tooltip.stories-3bar43ZN.js} +1 -1
  57. package/dist/storybook/assets/{Upload.stories-CLtYPw8U.js → Upload.stories-sAEiabwq.js} +1 -1
  58. package/dist/storybook/assets/{UploadItem.stories-CsikX2BV.js → UploadItem.stories-C19JMfmB.js} +1 -1
  59. package/dist/storybook/assets/{Welcome.stories-Dgl9qFjv.js → Welcome.stories-C30jg0r1.js} +1 -1
  60. package/dist/storybook/assets/{Widget.stories-Dmg4GwlK.js → Widget.stories-9-1XpZNl.js} +1 -1
  61. package/dist/storybook/assets/{WithTooltip-65CFNBJE-tGrEodOE.js → WithTooltip-65CFNBJE-PFRy5maL.js} +1 -1
  62. package/dist/storybook/assets/{blocks-BXvz9yPY.js → blocks-DLjjvsFT.js} +5 -5
  63. package/dist/storybook/assets/{formatter-EIJCOSYU-D4wnoi50.js → formatter-EIJCOSYU-D39uscG_.js} +1 -1
  64. package/dist/storybook/assets/if-defined-BwWBCoAU.js +1 -0
  65. package/dist/storybook/assets/{iframe-BJAXLO__.js → iframe-B9buZjP7.js} +153 -153
  66. package/dist/storybook/assets/{iframe-DM45AEWn.css → iframe-BzrT7trF.css} +1 -1
  67. package/dist/storybook/assets/{index-Vq-HO77I.js → index-BdEHup-4.js} +1 -1
  68. package/dist/storybook/assets/{onFind-DvWzOs0i.js → onFind-CGzSFqNN.js} +1 -1
  69. package/dist/storybook/assets/{onFind.stories-CYhYy57J.js → onFind.stories-Dq71qO14.js} +1 -1
  70. package/dist/storybook/assets/{onRemove.stories-BGlN20MR.js → onRemove.stories-B1GqLH_U.js} +1 -1
  71. package/dist/storybook/assets/{onVisible.stories-g7Yr3k3S.js → onVisible.stories-BNKxOfLw.js} +1 -1
  72. package/dist/storybook/assets/{style-map-B-NBwRI-.js → style-map-qCiIYcp5.js} +1 -1
  73. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-CiAkaRF_.js → syntaxhighlighter-ED5Y7EFY-CUM-CaRF.js} +1 -1
  74. package/dist/storybook/iframe.html +2 -2
  75. package/dist/storybook/index.json +1 -1
  76. package/dist/storybook/project.json +1 -1
  77. package/dist/tailwind-plugin-radio.d.ts +2 -0
  78. package/dist/tailwind-plugin-radio.d.ts.map +1 -0
  79. package/dist/tailwind-plugin-radio.js +264 -0
  80. package/dist/tailwind-plugin-radio.js.map +1 -0
  81. package/dist/tailwind-plugin-radio.ts +301 -0
  82. package/dist/tailwind.config.d.ts.map +1 -1
  83. package/dist/tailwind.config.js +2 -0
  84. package/dist/tailwind.config.js.map +1 -1
  85. package/dist/tailwind.config.ts +2 -0
  86. package/dist/util/EventEmitterMixin.d.ts +9 -0
  87. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  88. package/dist/util/EventEmitterMixin.js.map +1 -1
  89. package/docs/components/README.md +2 -0
  90. package/docs/components/Radio.md +105 -0
  91. package/docs/components/RadioGroup.md +63 -0
  92. package/package.json +1 -1
  93. package/src/legacy/tool-ui/src/ContentInputGroup.ts +18 -13
  94. package/src/legacy/tool-ui/src/ListManager.css +22 -1
  95. package/src/legacy/tool-ui/src/SkipLinks.css +3 -3
  96. package/src/legacy/tool-ui/src/SkipLinks.ts +93 -84
  97. package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.54b4c735cf930827fa7c.js → RTEProseMirror.8773fe3756519d83608e.js} +8 -8
  98. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.eea68972e75f531f0f9c.js → v4.5311585e2e77268a6386.js} +3 -3
  99. package/src/legacy/tool-ui/src/main/webapp/dist/v5.990bf181d01e0cbb18e8.css +140 -0
  100. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.dab916118c83ba0a0fdb.js → v5.c96a164f24a2a102bde0.js} +4 -4
  101. package/dist/storybook/assets/if-defined-BqGMNNFr.js +0 -1
  102. package/src/legacy/tool-ui/src/main/webapp/dist/v5.c39ee07e5ec4ce2be423.css +0 -140
  103. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.54b4c735cf930827fa7c.js.LICENSE.txt → RTEProseMirror.8773fe3756519d83608e.js.LICENSE.txt} +0 -0
  104. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.eea68972e75f531f0f9c.js.LICENSE.txt → v4.5311585e2e77268a6386.js.LICENSE.txt} +0 -0
  105. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.dab916118c83ba0a0fdb.js.LICENSE.txt → v5.c96a164f24a2a102bde0.js.LICENSE.txt} +0 -0
@@ -7845,6 +7845,846 @@
7845
7845
  }
7846
7846
  ]
7847
7847
  },
7848
+ {
7849
+ "kind": "javascript-module",
7850
+ "path": "src/components/radio/Radio.ts",
7851
+ "declarations": [
7852
+ {
7853
+ "kind": "class",
7854
+ "description": "A single radio option, selectable from a set of mutually exclusive choices.\n\nUses a hidden native radio input internally for accessibility and form\nparticipation. Styled via the `btu-radio` Tailwind plugin classes. Typically\nplaced inside a `btu-radio-group`, which owns the shared `name`, selection\nstate, and arrow-key navigation; a standalone radio also works but manages\nonly its own checked state. The component manages its own `className` — do not\nmodify it externally after initialization (classes present at connection time\nare preserved).",
7855
+ "name": "Radio",
7856
+ "cssProperties": [
7857
+ {
7858
+ "description": "Fill and border color when selected (default: oklch(var(--btu-theme-primary-700)))",
7859
+ "name": "--radio-color-primary"
7860
+ },
7861
+ {
7862
+ "description": "Border color in the unselected state (default: oklch(var(--btu-theme-gray-300)))",
7863
+ "name": "--radio-color-border"
7864
+ },
7865
+ {
7866
+ "description": "Border and text color in the error state (default: oklch(var(--btu-theme-error-600)))",
7867
+ "name": "--radio-color-error"
7868
+ },
7869
+ {
7870
+ "description": "Distance between the radio and the label (default: 0.75rem)",
7871
+ "name": "--radio-label-spacing"
7872
+ },
7873
+ {
7874
+ "description": "[Internal] Diameter of the radio control, set by the size variant (sm: 1rem, md: 1.25rem). Use the `size` attribute instead of overriding directly — the dot must scale in tandem.",
7875
+ "name": "--radio-box-size"
7876
+ },
7877
+ {
7878
+ "description": "[Internal] Diameter of the selected dot, set by the size variant (sm: 0.375rem, md: 0.5rem). Use the `size` attribute instead of overriding directly.",
7879
+ "name": "--radio-dot-size"
7880
+ }
7881
+ ],
7882
+ "members": [
7883
+ {
7884
+ "kind": "field",
7885
+ "name": "label",
7886
+ "type": {
7887
+ "text": "string | undefined"
7888
+ },
7889
+ "description": "The text label displayed next to the radio.",
7890
+ "attribute": "label"
7891
+ },
7892
+ {
7893
+ "kind": "field",
7894
+ "name": "description",
7895
+ "type": {
7896
+ "text": "string | undefined"
7897
+ },
7898
+ "description": "Optional helper text displayed below the label.",
7899
+ "attribute": "description"
7900
+ },
7901
+ {
7902
+ "kind": "field",
7903
+ "name": "size",
7904
+ "type": {
7905
+ "text": "'sm' | 'md'"
7906
+ },
7907
+ "default": "'sm'",
7908
+ "description": "Controls the scale of the radio and associated typography.",
7909
+ "attribute": "size",
7910
+ "reflects": true
7911
+ },
7912
+ {
7913
+ "kind": "field",
7914
+ "name": "checked",
7915
+ "type": {
7916
+ "text": "boolean"
7917
+ },
7918
+ "default": "false",
7919
+ "description": "Whether this option is currently selected.",
7920
+ "attribute": "checked",
7921
+ "reflects": true
7922
+ },
7923
+ {
7924
+ "kind": "field",
7925
+ "name": "disabled",
7926
+ "type": {
7927
+ "text": "boolean"
7928
+ },
7929
+ "default": "false",
7930
+ "description": "If true, the radio is non-interactive and visually muted.",
7931
+ "attribute": "disabled",
7932
+ "reflects": true
7933
+ },
7934
+ {
7935
+ "kind": "field",
7936
+ "name": "invalid",
7937
+ "type": {
7938
+ "text": "boolean"
7939
+ },
7940
+ "default": "false",
7941
+ "description": "If true, displays error styling on the radio.",
7942
+ "attribute": "invalid",
7943
+ "reflects": true
7944
+ },
7945
+ {
7946
+ "kind": "field",
7947
+ "name": "error",
7948
+ "type": {
7949
+ "text": "string | undefined"
7950
+ },
7951
+ "description": "Error message text displayed below the radio when validation fails.\nSetting this also activates error styling without needing to set invalid.",
7952
+ "attribute": "error"
7953
+ },
7954
+ {
7955
+ "kind": "field",
7956
+ "name": "value",
7957
+ "type": {
7958
+ "text": "string | undefined"
7959
+ },
7960
+ "description": "Value submitted with the form when this option is selected.",
7961
+ "attribute": "value"
7962
+ },
7963
+ {
7964
+ "kind": "field",
7965
+ "name": "name",
7966
+ "type": {
7967
+ "text": "string | undefined"
7968
+ },
7969
+ "description": "Name of the form control. Usually set by the parent `btu-radio-group` so\nevery option in the group shares one name.",
7970
+ "attribute": "name"
7971
+ },
7972
+ {
7973
+ "kind": "field",
7974
+ "name": "_userInitiated",
7975
+ "type": {
7976
+ "text": "boolean"
7977
+ },
7978
+ "privacy": "private",
7979
+ "default": "false"
7980
+ },
7981
+ {
7982
+ "kind": "field",
7983
+ "name": "_initialClasses",
7984
+ "type": {
7985
+ "text": "string[]"
7986
+ },
7987
+ "privacy": "private",
7988
+ "default": "[]"
7989
+ },
7990
+ {
7991
+ "kind": "field",
7992
+ "name": "_initialClassesCaptured",
7993
+ "type": {
7994
+ "text": "boolean"
7995
+ },
7996
+ "privacy": "private",
7997
+ "default": "false"
7998
+ },
7999
+ {
8000
+ "kind": "field",
8001
+ "name": "_descId",
8002
+ "privacy": "private",
8003
+ "default": "`radio-desc-${crypto.randomUUID()}`"
8004
+ },
8005
+ {
8006
+ "kind": "field",
8007
+ "name": "_errorId",
8008
+ "privacy": "private",
8009
+ "default": "`radio-error-${crypto.randomUUID()}`"
8010
+ },
8011
+ {
8012
+ "kind": "method",
8013
+ "name": "_onInputChange",
8014
+ "privacy": "private",
8015
+ "return": {
8016
+ "type": {
8017
+ "text": "void"
8018
+ }
8019
+ },
8020
+ "parameters": [
8021
+ {
8022
+ "name": "e",
8023
+ "type": {
8024
+ "text": "Event"
8025
+ }
8026
+ }
8027
+ ]
8028
+ },
8029
+ {
8030
+ "kind": "field",
8031
+ "name": "_handleClick",
8032
+ "privacy": "private"
8033
+ },
8034
+ {
8035
+ "kind": "field",
8036
+ "name": "_describedBy",
8037
+ "type": {
8038
+ "text": "string | undefined"
8039
+ },
8040
+ "privacy": "private",
8041
+ "readonly": true
8042
+ },
8043
+ {
8044
+ "kind": "field",
8045
+ "name": "tooltip",
8046
+ "type": {
8047
+ "text": "string"
8048
+ },
8049
+ "default": "''",
8050
+ "description": "Tooltip text content. Set to empty string to remove the tooltip.",
8051
+ "attribute": "tooltip",
8052
+ "inheritedFrom": {
8053
+ "name": "TooltipMixin",
8054
+ "module": "src/util/TooltipMixin.ts"
8055
+ }
8056
+ },
8057
+ {
8058
+ "kind": "field",
8059
+ "name": "tooltipPosition",
8060
+ "type": {
8061
+ "text": "'top' | 'bottom' | 'left' | 'right'"
8062
+ },
8063
+ "default": "'top'",
8064
+ "description": "Position relative to the host element. Auto-flips when constrained by the viewport.",
8065
+ "attribute": "tooltip-position",
8066
+ "inheritedFrom": {
8067
+ "name": "TooltipMixin",
8068
+ "module": "src/util/TooltipMixin.ts"
8069
+ }
8070
+ },
8071
+ {
8072
+ "kind": "field",
8073
+ "name": "tooltipDelay",
8074
+ "type": {
8075
+ "text": "number"
8076
+ },
8077
+ "default": "300",
8078
+ "description": "Show delay in milliseconds (hover trigger only).",
8079
+ "attribute": "tooltip-delay",
8080
+ "inheritedFrom": {
8081
+ "name": "TooltipMixin",
8082
+ "module": "src/util/TooltipMixin.ts"
8083
+ }
8084
+ },
8085
+ {
8086
+ "kind": "field",
8087
+ "name": "tooltipOffset",
8088
+ "type": {
8089
+ "text": "TooltipOffset | null"
8090
+ },
8091
+ "default": "null",
8092
+ "description": "Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).",
8093
+ "attribute": "tooltip-offset",
8094
+ "inheritedFrom": {
8095
+ "name": "TooltipMixin",
8096
+ "module": "src/util/TooltipMixin.ts"
8097
+ }
8098
+ },
8099
+ {
8100
+ "kind": "field",
8101
+ "name": "tooltipNoArrow",
8102
+ "type": {
8103
+ "text": "boolean"
8104
+ },
8105
+ "default": "false",
8106
+ "description": "Hide the arrow pseudo-element.",
8107
+ "attribute": "tooltip-no-arrow",
8108
+ "inheritedFrom": {
8109
+ "name": "TooltipMixin",
8110
+ "module": "src/util/TooltipMixin.ts"
8111
+ }
8112
+ },
8113
+ {
8114
+ "kind": "field",
8115
+ "name": "tooltipTrigger",
8116
+ "type": {
8117
+ "text": "string"
8118
+ },
8119
+ "default": "'hover focus'",
8120
+ "description": "Space-separated trigger types: 'hover', 'focus', 'click'.",
8121
+ "attribute": "tooltip-trigger",
8122
+ "inheritedFrom": {
8123
+ "name": "TooltipMixin",
8124
+ "module": "src/util/TooltipMixin.ts"
8125
+ }
8126
+ },
8127
+ {
8128
+ "kind": "field",
8129
+ "name": "_onMouseLeave",
8130
+ "privacy": "private",
8131
+ "inheritedFrom": {
8132
+ "name": "TooltipMixin",
8133
+ "module": "src/util/TooltipMixin.ts"
8134
+ }
8135
+ },
8136
+ {
8137
+ "kind": "field",
8138
+ "name": "_onFocusIn",
8139
+ "privacy": "private",
8140
+ "inheritedFrom": {
8141
+ "name": "TooltipMixin",
8142
+ "module": "src/util/TooltipMixin.ts"
8143
+ }
8144
+ },
8145
+ {
8146
+ "kind": "field",
8147
+ "name": "_onFocusOut",
8148
+ "privacy": "private",
8149
+ "inheritedFrom": {
8150
+ "name": "TooltipMixin",
8151
+ "module": "src/util/TooltipMixin.ts"
8152
+ }
8153
+ },
8154
+ {
8155
+ "kind": "field",
8156
+ "name": "_onClick",
8157
+ "privacy": "private",
8158
+ "inheritedFrom": {
8159
+ "name": "TooltipMixin",
8160
+ "module": "src/util/TooltipMixin.ts"
8161
+ }
8162
+ },
8163
+ {
8164
+ "kind": "field",
8165
+ "name": "_onNativeToggle",
8166
+ "privacy": "private",
8167
+ "inheritedFrom": {
8168
+ "name": "TooltipMixin",
8169
+ "module": "src/util/TooltipMixin.ts"
8170
+ }
8171
+ },
8172
+ {
8173
+ "kind": "field",
8174
+ "name": "_onKeyDown",
8175
+ "privacy": "private",
8176
+ "inheritedFrom": {
8177
+ "name": "TooltipMixin",
8178
+ "module": "src/util/TooltipMixin.ts"
8179
+ }
8180
+ },
8181
+ {
8182
+ "kind": "field",
8183
+ "name": "_onDocumentClick",
8184
+ "type": {
8185
+ "text": "((e: MouseEvent) => void) | null"
8186
+ },
8187
+ "privacy": "private",
8188
+ "default": "null",
8189
+ "inheritedFrom": {
8190
+ "name": "TooltipMixin",
8191
+ "module": "src/util/TooltipMixin.ts"
8192
+ }
8193
+ },
8194
+ {
8195
+ "kind": "method",
8196
+ "name": "emit",
8197
+ "parameters": [
8198
+ {
8199
+ "name": "type",
8200
+ "type": {
8201
+ "text": "K"
8202
+ },
8203
+ "description": "Event name from CustomEventMap"
8204
+ },
8205
+ {
8206
+ "name": "detail",
8207
+ "optional": true,
8208
+ "type": {
8209
+ "text": "UnpackCustomEvent<CustomEventMap[K]>"
8210
+ },
8211
+ "description": "Optional event detail payload"
8212
+ }
8213
+ ],
8214
+ "description": "Dispatches a type-safe CustomEvent with standardized configuration.\n\nAll events are configured with:\n- bubbles: true (event propagates up the DOM tree)\n- cancelable: false (event cannot be cancelled)\n- composed: true (event crosses shadow DOM boundaries)",
8215
+ "return": {
8216
+ "type": {
8217
+ "text": "boolean"
8218
+ }
8219
+ },
8220
+ "inheritedFrom": {
8221
+ "name": "EventEmitterMixin",
8222
+ "module": "src/util/EventEmitterMixin.ts"
8223
+ }
8224
+ }
8225
+ ],
8226
+ "events": [
8227
+ {
8228
+ "type": {
8229
+ "text": "CustomEvent"
8230
+ },
8231
+ "description": "Fired after the radio is first rendered and initialized",
8232
+ "name": "btu-radio-ready"
8233
+ },
8234
+ {
8235
+ "type": {
8236
+ "text": "CustomEvent<{ checked: boolean; value: string }>"
8237
+ },
8238
+ "description": "Fired when the user selects this option",
8239
+ "name": "btu-radio-change"
8240
+ }
8241
+ ],
8242
+ "attributes": [
8243
+ {
8244
+ "name": "label",
8245
+ "type": {
8246
+ "text": "string | undefined"
8247
+ },
8248
+ "description": "The text label displayed next to the radio.",
8249
+ "fieldName": "label",
8250
+ "attribute": "label"
8251
+ },
8252
+ {
8253
+ "name": "description",
8254
+ "type": {
8255
+ "text": "string | undefined"
8256
+ },
8257
+ "description": "Optional helper text displayed below the label.",
8258
+ "fieldName": "description",
8259
+ "attribute": "description"
8260
+ },
8261
+ {
8262
+ "name": "size",
8263
+ "type": {
8264
+ "text": "'sm' | 'md'"
8265
+ },
8266
+ "default": "'sm'",
8267
+ "description": "Controls the scale of the radio and associated typography.",
8268
+ "fieldName": "size",
8269
+ "attribute": "size"
8270
+ },
8271
+ {
8272
+ "name": "checked",
8273
+ "type": {
8274
+ "text": "boolean"
8275
+ },
8276
+ "default": "false",
8277
+ "description": "Whether this option is currently selected.",
8278
+ "fieldName": "checked",
8279
+ "attribute": "checked"
8280
+ },
8281
+ {
8282
+ "name": "disabled",
8283
+ "type": {
8284
+ "text": "boolean"
8285
+ },
8286
+ "default": "false",
8287
+ "description": "If true, the radio is non-interactive and visually muted.",
8288
+ "fieldName": "disabled",
8289
+ "attribute": "disabled"
8290
+ },
8291
+ {
8292
+ "name": "invalid",
8293
+ "type": {
8294
+ "text": "boolean"
8295
+ },
8296
+ "default": "false",
8297
+ "description": "If true, displays error styling on the radio.",
8298
+ "fieldName": "invalid",
8299
+ "attribute": "invalid"
8300
+ },
8301
+ {
8302
+ "name": "error",
8303
+ "type": {
8304
+ "text": "string | undefined"
8305
+ },
8306
+ "description": "Error message text displayed below the radio when validation fails.\nSetting this also activates error styling without needing to set invalid.",
8307
+ "fieldName": "error",
8308
+ "attribute": "error"
8309
+ },
8310
+ {
8311
+ "name": "value",
8312
+ "type": {
8313
+ "text": "string | undefined"
8314
+ },
8315
+ "description": "Value submitted with the form when this option is selected.",
8316
+ "fieldName": "value",
8317
+ "attribute": "value"
8318
+ },
8319
+ {
8320
+ "name": "name",
8321
+ "type": {
8322
+ "text": "string | undefined"
8323
+ },
8324
+ "description": "Name of the form control. Usually set by the parent `btu-radio-group` so\nevery option in the group shares one name.",
8325
+ "fieldName": "name",
8326
+ "attribute": "name"
8327
+ },
8328
+ {
8329
+ "name": "tooltip",
8330
+ "type": {
8331
+ "text": "string"
8332
+ },
8333
+ "default": "''",
8334
+ "description": "Tooltip text content. Set to empty string to remove the tooltip.",
8335
+ "fieldName": "tooltip",
8336
+ "attribute": "tooltip",
8337
+ "inheritedFrom": {
8338
+ "name": "TooltipMixin",
8339
+ "module": "src/util/TooltipMixin.ts"
8340
+ }
8341
+ },
8342
+ {
8343
+ "name": "tooltip-position",
8344
+ "type": {
8345
+ "text": "'top' | 'bottom' | 'left' | 'right'"
8346
+ },
8347
+ "default": "'top'",
8348
+ "description": "Position relative to the host element. Auto-flips when constrained by the viewport.",
8349
+ "fieldName": "tooltipPosition",
8350
+ "attribute": "tooltip-position",
8351
+ "inheritedFrom": {
8352
+ "name": "TooltipMixin",
8353
+ "module": "src/util/TooltipMixin.ts"
8354
+ }
8355
+ },
8356
+ {
8357
+ "name": "tooltip-delay",
8358
+ "type": {
8359
+ "text": "number"
8360
+ },
8361
+ "default": "300",
8362
+ "description": "Show delay in milliseconds (hover trigger only).",
8363
+ "fieldName": "tooltipDelay",
8364
+ "attribute": "tooltip-delay",
8365
+ "inheritedFrom": {
8366
+ "name": "TooltipMixin",
8367
+ "module": "src/util/TooltipMixin.ts"
8368
+ }
8369
+ },
8370
+ {
8371
+ "name": "tooltip-offset",
8372
+ "type": {
8373
+ "text": "TooltipOffset | null"
8374
+ },
8375
+ "default": "null",
8376
+ "description": "Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).",
8377
+ "fieldName": "tooltipOffset",
8378
+ "attribute": "tooltip-offset",
8379
+ "inheritedFrom": {
8380
+ "name": "TooltipMixin",
8381
+ "module": "src/util/TooltipMixin.ts"
8382
+ }
8383
+ },
8384
+ {
8385
+ "name": "tooltip-no-arrow",
8386
+ "type": {
8387
+ "text": "boolean"
8388
+ },
8389
+ "default": "false",
8390
+ "description": "Hide the arrow pseudo-element.",
8391
+ "fieldName": "tooltipNoArrow",
8392
+ "attribute": "tooltip-no-arrow",
8393
+ "inheritedFrom": {
8394
+ "name": "TooltipMixin",
8395
+ "module": "src/util/TooltipMixin.ts"
8396
+ }
8397
+ },
8398
+ {
8399
+ "name": "tooltip-trigger",
8400
+ "type": {
8401
+ "text": "string"
8402
+ },
8403
+ "default": "'hover focus'",
8404
+ "description": "Space-separated trigger types: 'hover', 'focus', 'click'.",
8405
+ "fieldName": "tooltipTrigger",
8406
+ "attribute": "tooltip-trigger",
8407
+ "inheritedFrom": {
8408
+ "name": "TooltipMixin",
8409
+ "module": "src/util/TooltipMixin.ts"
8410
+ }
8411
+ }
8412
+ ],
8413
+ "mixins": [
8414
+ {
8415
+ "name": "TooltipMixin",
8416
+ "module": "/src/util/TooltipMixin.js"
8417
+ },
8418
+ {
8419
+ "name": "EventEmitterMixin",
8420
+ "module": "/src/util/EventEmitterMixin.js"
8421
+ },
8422
+ {
8423
+ "name": "ReadyMixin",
8424
+ "module": "/src/util/ReadyMixin.js"
8425
+ }
8426
+ ],
8427
+ "superclass": {
8428
+ "name": "LitElement",
8429
+ "package": "lit"
8430
+ },
8431
+ "tagName": "btu-radio",
8432
+ "customElement": true
8433
+ }
8434
+ ],
8435
+ "exports": [
8436
+ {
8437
+ "kind": "js",
8438
+ "name": "default",
8439
+ "declaration": {
8440
+ "name": "Radio",
8441
+ "module": "src/components/radio/Radio.ts"
8442
+ }
8443
+ },
8444
+ {
8445
+ "kind": "custom-element-definition",
8446
+ "name": "btu-radio",
8447
+ "declaration": {
8448
+ "name": "Radio",
8449
+ "module": "src/components/radio/Radio.ts"
8450
+ }
8451
+ }
8452
+ ]
8453
+ },
8454
+ {
8455
+ "kind": "javascript-module",
8456
+ "path": "src/components/radio/RadioGroup.ts",
8457
+ "declarations": [
8458
+ {
8459
+ "kind": "class",
8460
+ "description": "A container that groups `btu-radio` options into a single-select control.\n\nOwns the shared form `name`, the selected `value`, and keyboard navigation\nfollowing the WAI-ARIA radio group pattern: a single roving tabstop, and\narrow keys that move focus and select in one step. Selection state and the\n`disabled` / `size` properties are propagated down to child radios.",
8461
+ "name": "RadioGroup",
8462
+ "members": [
8463
+ {
8464
+ "kind": "field",
8465
+ "name": "name",
8466
+ "type": {
8467
+ "text": "string | undefined"
8468
+ },
8469
+ "description": "Form field name shared by every radio in the group.",
8470
+ "attribute": "name"
8471
+ },
8472
+ {
8473
+ "kind": "field",
8474
+ "name": "value",
8475
+ "type": {
8476
+ "text": "string | undefined"
8477
+ },
8478
+ "description": "Value of the currently selected option.",
8479
+ "attribute": "value"
8480
+ },
8481
+ {
8482
+ "kind": "field",
8483
+ "name": "orientation",
8484
+ "type": {
8485
+ "text": "'vertical' | 'horizontal'"
8486
+ },
8487
+ "default": "'vertical'",
8488
+ "description": "Layout direction of the options.",
8489
+ "attribute": "orientation",
8490
+ "reflects": true
8491
+ },
8492
+ {
8493
+ "kind": "field",
8494
+ "name": "size",
8495
+ "type": {
8496
+ "text": "'sm' | 'md'"
8497
+ },
8498
+ "default": "'sm'",
8499
+ "description": "Controls the scale of every radio in the group.",
8500
+ "attribute": "size",
8501
+ "reflects": true
8502
+ },
8503
+ {
8504
+ "kind": "field",
8505
+ "name": "required",
8506
+ "type": {
8507
+ "text": "boolean"
8508
+ },
8509
+ "default": "false",
8510
+ "description": "Marks a selection as mandatory for form submission.",
8511
+ "attribute": "required",
8512
+ "reflects": true
8513
+ },
8514
+ {
8515
+ "kind": "field",
8516
+ "name": "disabled",
8517
+ "type": {
8518
+ "text": "boolean"
8519
+ },
8520
+ "default": "false",
8521
+ "description": "Disables every option in the group.",
8522
+ "attribute": "disabled",
8523
+ "reflects": true
8524
+ },
8525
+ {
8526
+ "kind": "method",
8527
+ "name": "emit",
8528
+ "parameters": [
8529
+ {
8530
+ "name": "type",
8531
+ "type": {
8532
+ "text": "K"
8533
+ },
8534
+ "description": "Event name from CustomEventMap"
8535
+ },
8536
+ {
8537
+ "name": "detail",
8538
+ "optional": true,
8539
+ "type": {
8540
+ "text": "UnpackCustomEvent<CustomEventMap[K]>"
8541
+ },
8542
+ "description": "Optional event detail payload"
8543
+ }
8544
+ ],
8545
+ "description": "Dispatches a type-safe CustomEvent with standardized configuration.\n\nAll events are configured with:\n- bubbles: true (event propagates up the DOM tree)\n- cancelable: false (event cannot be cancelled)\n- composed: true (event crosses shadow DOM boundaries)",
8546
+ "return": {
8547
+ "type": {
8548
+ "text": "boolean"
8549
+ }
8550
+ },
8551
+ "inheritedFrom": {
8552
+ "name": "EventEmitterMixin",
8553
+ "module": "src/util/EventEmitterMixin.ts"
8554
+ }
8555
+ }
8556
+ ],
8557
+ "events": [
8558
+ {
8559
+ "type": {
8560
+ "text": "CustomEvent"
8561
+ },
8562
+ "description": "Fired after first render and initialization",
8563
+ "name": "btu-radio-group-ready"
8564
+ },
8565
+ {
8566
+ "type": {
8567
+ "text": "CustomEvent<{ value: string }>"
8568
+ },
8569
+ "description": "Fired when the selected value changes",
8570
+ "name": "btu-radio-group-change"
8571
+ },
8572
+ {
8573
+ "type": {
8574
+ "text": "CustomEvent"
8575
+ },
8576
+ "description": "Fired when a child radio finishes initialization (bubbles from btu-radio)",
8577
+ "name": "btu-radio-ready"
8578
+ },
8579
+ {
8580
+ "type": {
8581
+ "text": "CustomEvent<{ checked: boolean; value: string }>"
8582
+ },
8583
+ "description": "Fired when a child radio is selected (bubbles from btu-radio)",
8584
+ "name": "btu-radio-change"
8585
+ }
8586
+ ],
8587
+ "attributes": [
8588
+ {
8589
+ "name": "name",
8590
+ "type": {
8591
+ "text": "string | undefined"
8592
+ },
8593
+ "description": "Form field name shared by every radio in the group.",
8594
+ "fieldName": "name",
8595
+ "attribute": "name"
8596
+ },
8597
+ {
8598
+ "name": "value",
8599
+ "type": {
8600
+ "text": "string | undefined"
8601
+ },
8602
+ "description": "Value of the currently selected option.",
8603
+ "fieldName": "value",
8604
+ "attribute": "value"
8605
+ },
8606
+ {
8607
+ "name": "orientation",
8608
+ "type": {
8609
+ "text": "'vertical' | 'horizontal'"
8610
+ },
8611
+ "default": "'vertical'",
8612
+ "description": "Layout direction of the options.",
8613
+ "fieldName": "orientation",
8614
+ "attribute": "orientation"
8615
+ },
8616
+ {
8617
+ "name": "size",
8618
+ "type": {
8619
+ "text": "'sm' | 'md'"
8620
+ },
8621
+ "default": "'sm'",
8622
+ "description": "Controls the scale of every radio in the group.",
8623
+ "fieldName": "size",
8624
+ "attribute": "size"
8625
+ },
8626
+ {
8627
+ "name": "required",
8628
+ "type": {
8629
+ "text": "boolean"
8630
+ },
8631
+ "default": "false",
8632
+ "description": "Marks a selection as mandatory for form submission.",
8633
+ "fieldName": "required",
8634
+ "attribute": "required"
8635
+ },
8636
+ {
8637
+ "name": "disabled",
8638
+ "type": {
8639
+ "text": "boolean"
8640
+ },
8641
+ "default": "false",
8642
+ "description": "Disables every option in the group.",
8643
+ "fieldName": "disabled",
8644
+ "attribute": "disabled"
8645
+ }
8646
+ ],
8647
+ "mixins": [
8648
+ {
8649
+ "name": "RovingTabindexMixin",
8650
+ "module": "/src/util/RovingTabindexMixin.js"
8651
+ },
8652
+ {
8653
+ "name": "EventEmitterMixin",
8654
+ "module": "/src/util/EventEmitterMixin.js"
8655
+ },
8656
+ {
8657
+ "name": "ReadyMixin",
8658
+ "module": "/src/util/ReadyMixin.js"
8659
+ }
8660
+ ],
8661
+ "superclass": {
8662
+ "name": "LitElement",
8663
+ "package": "lit"
8664
+ },
8665
+ "tagName": "btu-radio-group",
8666
+ "customElement": true
8667
+ }
8668
+ ],
8669
+ "exports": [
8670
+ {
8671
+ "kind": "js",
8672
+ "name": "default",
8673
+ "declaration": {
8674
+ "name": "RadioGroup",
8675
+ "module": "src/components/radio/RadioGroup.ts"
8676
+ }
8677
+ },
8678
+ {
8679
+ "kind": "custom-element-definition",
8680
+ "name": "btu-radio-group",
8681
+ "declaration": {
8682
+ "name": "RadioGroup",
8683
+ "module": "src/components/radio/RadioGroup.ts"
8684
+ }
8685
+ }
8686
+ ]
8687
+ },
7848
8688
  {
7849
8689
  "kind": "javascript-module",
7850
8690
  "path": "src/components/switch/Switch.ts",