@gunkin/uiify 0.0.19-alpha → 0.0.20-alpha

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 (209) hide show
  1. package/agents/components.md +1 -1
  2. package/agents/index.md +1 -0
  3. package/agents/reference/components/breadcrumb.md +11 -1
  4. package/agents/reference/components/button.md +4 -4
  5. package/agents/reference/components/candle-chart.md +20 -1
  6. package/agents/reference/components/carousel.md +3 -2
  7. package/agents/reference/components/combobox.md +2 -1
  8. package/agents/reference/components/drawer.md +8 -1
  9. package/agents/reference/components/dropdown-menu.md +1 -1
  10. package/agents/reference/components/file-upload.md +12 -1
  11. package/agents/reference/components/line-chart.md +1 -0
  12. package/agents/reference/components/modal.md +8 -1
  13. package/agents/reference/components/number-field.md +14 -3
  14. package/agents/reference/components/pagination.md +22 -1
  15. package/agents/reference/components/slider.md +9 -1
  16. package/agents/reference/components/spinner.md +8 -1
  17. package/agents/reference/components/toast.md +14 -1
  18. package/dist/components/behavior.css +9 -9
  19. package/dist/components/behavior.css.map +1 -1
  20. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  21. package/dist/components/breadcrumb/Breadcrumb.js +21 -4
  22. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  23. package/dist/components/breadcrumb/index.d.ts +1 -1
  24. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  25. package/dist/components/breadcrumb/index.js.map +1 -1
  26. package/dist/components/breadcrumb/types.d.ts +7 -0
  27. package/dist/components/breadcrumb/types.d.ts.map +1 -1
  28. package/dist/components/button/types.d.ts +4 -0
  29. package/dist/components/button/types.d.ts.map +1 -1
  30. package/dist/components/candle-chart/CandleChart.d.ts +1 -1
  31. package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
  32. package/dist/components/candle-chart/CandleChart.js +81 -46
  33. package/dist/components/candle-chart/CandleChart.js.map +1 -1
  34. package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
  35. package/dist/components/candle-chart/client/CandleChartClient.js +5 -0
  36. package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
  37. package/dist/components/candle-chart/index.d.ts +1 -1
  38. package/dist/components/candle-chart/index.d.ts.map +1 -1
  39. package/dist/components/candle-chart/index.js.map +1 -1
  40. package/dist/components/candle-chart/types.d.ts +17 -0
  41. package/dist/components/candle-chart/types.d.ts.map +1 -1
  42. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  43. package/dist/components/carousel/CarouselMarkup.js +20 -3
  44. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  45. package/dist/components/carousel/carousel-markup.js +2 -2
  46. package/dist/components/carousel/carousel-markup.js.map +1 -1
  47. package/dist/components/carousel/types.d.ts +3 -2
  48. package/dist/components/carousel/types.d.ts.map +1 -1
  49. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  50. package/dist/components/combobox/Combobox.js +37 -23
  51. package/dist/components/combobox/Combobox.js.map +1 -1
  52. package/dist/components/combobox/combobox-store.d.ts.map +1 -1
  53. package/dist/components/combobox/combobox-store.js +5 -2
  54. package/dist/components/combobox/combobox-store.js.map +1 -1
  55. package/dist/components/combobox/types.d.ts +2 -3
  56. package/dist/components/combobox/types.d.ts.map +1 -1
  57. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  58. package/dist/components/context-menu/ContextMenu.js +25 -5
  59. package/dist/components/context-menu/ContextMenu.js.map +1 -1
  60. package/dist/components/drawer/DrawerNative.d.ts +1 -1
  61. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  62. package/dist/components/drawer/DrawerNative.js +5 -2
  63. package/dist/components/drawer/DrawerNative.js.map +1 -1
  64. package/dist/components/drawer/index.d.ts +1 -1
  65. package/dist/components/drawer/index.d.ts.map +1 -1
  66. package/dist/components/drawer/index.js.map +1 -1
  67. package/dist/components/drawer/types.d.ts +4 -0
  68. package/dist/components/drawer/types.d.ts.map +1 -1
  69. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  70. package/dist/components/dropdown-menu/DropdownMenu.js +31 -15
  71. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  72. package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
  73. package/dist/components/dropdown-menu/DropdownMenuBar.js +7 -5
  74. package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
  75. package/dist/components/dropdown-menu/types.d.ts +1 -1
  76. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  77. package/dist/components/file-upload/FileUpload.d.ts.map +1 -1
  78. package/dist/components/file-upload/FileUpload.js +11 -4
  79. package/dist/components/file-upload/FileUpload.js.map +1 -1
  80. package/dist/components/file-upload/FileUploadRoot.d.ts +1 -1
  81. package/dist/components/file-upload/FileUploadRoot.d.ts.map +1 -1
  82. package/dist/components/file-upload/FileUploadRoot.js +9 -0
  83. package/dist/components/file-upload/FileUploadRoot.js.map +1 -1
  84. package/dist/components/file-upload/index.d.ts +1 -1
  85. package/dist/components/file-upload/index.d.ts.map +1 -1
  86. package/dist/components/file-upload/index.js.map +1 -1
  87. package/dist/components/file-upload/types.d.ts +8 -0
  88. package/dist/components/file-upload/types.d.ts.map +1 -1
  89. package/dist/components/line-chart/LineChart.d.ts.map +1 -1
  90. package/dist/components/line-chart/LineChart.js +3 -2
  91. package/dist/components/line-chart/LineChart.js.map +1 -1
  92. package/dist/components/line-chart/line-chart-geometry.d.ts +2 -2
  93. package/dist/components/line-chart/line-chart-geometry.d.ts.map +1 -1
  94. package/dist/components/line-chart/line-chart-geometry.js +6 -6
  95. package/dist/components/line-chart/line-chart-geometry.js.map +1 -1
  96. package/dist/components/line-chart/types.d.ts +2 -0
  97. package/dist/components/line-chart/types.d.ts.map +1 -1
  98. package/dist/components/modal/Modal.d.ts +1 -1
  99. package/dist/components/modal/Modal.d.ts.map +1 -1
  100. package/dist/components/modal/Modal.js +5 -2
  101. package/dist/components/modal/Modal.js.map +1 -1
  102. package/dist/components/modal/index.d.ts +1 -1
  103. package/dist/components/modal/index.d.ts.map +1 -1
  104. package/dist/components/modal/index.js.map +1 -1
  105. package/dist/components/modal/types.d.ts +4 -0
  106. package/dist/components/modal/types.d.ts.map +1 -1
  107. package/dist/components/number-field/NumberField.d.ts +1 -1
  108. package/dist/components/number-field/NumberField.d.ts.map +1 -1
  109. package/dist/components/number-field/NumberField.js +25 -5
  110. package/dist/components/number-field/NumberField.js.map +1 -1
  111. package/dist/components/number-field/format.d.ts +1 -1
  112. package/dist/components/number-field/format.d.ts.map +1 -1
  113. package/dist/components/number-field/format.js +32 -7
  114. package/dist/components/number-field/format.js.map +1 -1
  115. package/dist/components/number-field/index.d.ts +1 -1
  116. package/dist/components/number-field/index.d.ts.map +1 -1
  117. package/dist/components/number-field/index.js.map +1 -1
  118. package/dist/components/number-field/types.d.ts +11 -2
  119. package/dist/components/number-field/types.d.ts.map +1 -1
  120. package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
  121. package/dist/components/otp-input/OtpInput.js +2 -0
  122. package/dist/components/otp-input/OtpInput.js.map +1 -1
  123. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  124. package/dist/components/pagination/Pagination.js +93 -29
  125. package/dist/components/pagination/Pagination.js.map +1 -1
  126. package/dist/components/pagination/PaginationShell.d.ts +2 -1
  127. package/dist/components/pagination/PaginationShell.d.ts.map +1 -1
  128. package/dist/components/pagination/PaginationShell.js +44 -9
  129. package/dist/components/pagination/PaginationShell.js.map +1 -1
  130. package/dist/components/pagination/index.d.ts +1 -1
  131. package/dist/components/pagination/index.d.ts.map +1 -1
  132. package/dist/components/pagination/index.js.map +1 -1
  133. package/dist/components/pagination/types.d.ts +18 -0
  134. package/dist/components/pagination/types.d.ts.map +1 -1
  135. package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
  136. package/dist/components/slider/client/SliderClient.js +11 -2
  137. package/dist/components/slider/client/SliderClient.js.map +1 -1
  138. package/dist/components/slider/index.d.ts +1 -1
  139. package/dist/components/slider/index.d.ts.map +1 -1
  140. package/dist/components/slider/index.js.map +1 -1
  141. package/dist/components/slider/types.d.ts +5 -0
  142. package/dist/components/slider/types.d.ts.map +1 -1
  143. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  144. package/dist/components/spinner/Spinner.js +6 -3
  145. package/dist/components/spinner/Spinner.js.map +1 -1
  146. package/dist/components/spinner/index.d.ts +1 -1
  147. package/dist/components/spinner/index.d.ts.map +1 -1
  148. package/dist/components/spinner/index.js.map +1 -1
  149. package/dist/components/spinner/types.d.ts +4 -0
  150. package/dist/components/spinner/types.d.ts.map +1 -1
  151. package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
  152. package/dist/components/tags-input/TagsInput.js +2 -0
  153. package/dist/components/tags-input/TagsInput.js.map +1 -1
  154. package/dist/components/toast/Toast.d.ts +1 -1
  155. package/dist/components/toast/Toast.d.ts.map +1 -1
  156. package/dist/components/toast/Toast.js +33 -29
  157. package/dist/components/toast/Toast.js.map +1 -1
  158. package/dist/components/toast/ToastElements.d.ts.map +1 -1
  159. package/dist/components/toast/ToastElements.js +24 -12
  160. package/dist/components/toast/ToastElements.js.map +1 -1
  161. package/dist/components/toast/index.d.ts +1 -1
  162. package/dist/components/toast/index.d.ts.map +1 -1
  163. package/dist/components/toast/index.js.map +1 -1
  164. package/dist/components/toast/types.d.ts +10 -0
  165. package/dist/components/toast/types.d.ts.map +1 -1
  166. package/dist/components/toolbar/Toolbar.d.ts +2 -2
  167. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  168. package/dist/components/toolbar/Toolbar.js +8 -4
  169. package/dist/components/toolbar/Toolbar.js.map +1 -1
  170. package/dist/core/direction.d.ts +2 -0
  171. package/dist/core/direction.d.ts.map +1 -1
  172. package/dist/core/direction.js +8 -3
  173. package/dist/core/direction.js.map +1 -1
  174. package/dist/core/dismissable-layer-registry.d.ts.map +1 -1
  175. package/dist/core/dismissable-layer-registry.js +3 -1
  176. package/dist/core/dismissable-layer-registry.js.map +1 -1
  177. package/dist/core/format-label.d.ts +2 -0
  178. package/dist/core/format-label.d.ts.map +1 -0
  179. package/dist/core/format-label.js +13 -0
  180. package/dist/core/format-label.js.map +1 -0
  181. package/dist/core/ime.d.ts +16 -0
  182. package/dist/core/ime.d.ts.map +1 -0
  183. package/dist/core/ime.js +7 -0
  184. package/dist/core/ime.js.map +1 -0
  185. package/dist/core/index.d.ts +3 -0
  186. package/dist/core/index.d.ts.map +1 -1
  187. package/dist/core/index.js +3 -0
  188. package/dist/core/index.js.map +1 -1
  189. package/dist/core/roving-focus-store.d.ts +3 -2
  190. package/dist/core/roving-focus-store.d.ts.map +1 -1
  191. package/dist/core/roving-focus-store.js +5 -3
  192. package/dist/core/roving-focus-store.js.map +1 -1
  193. package/dist/core/roving-focus.d.ts.map +1 -1
  194. package/dist/core/roving-focus.js +10 -5
  195. package/dist/core/roving-focus.js.map +1 -1
  196. package/dist/core/text-direction.d.ts +7 -0
  197. package/dist/core/text-direction.d.ts.map +1 -0
  198. package/dist/core/text-direction.js +7 -0
  199. package/dist/core/text-direction.js.map +1 -0
  200. package/dist/styles/index.css +1 -1
  201. package/package.json +2 -1
  202. package/skills/uiify/SKILL.md +3 -0
  203. package/skills/uiify/references/elements/button.md +5 -5
  204. package/skills/uiify/references/elements/candle-chart.md +2 -0
  205. package/skills/uiify/references/elements/carousel.md +2 -0
  206. package/skills/uiify/references/elements/number-field.md +2 -0
  207. package/skills/uiify/references/elements/pagination.md +2 -0
  208. package/skills/uiify/references/guides/i18n.md +21 -0
  209. package/skills/uiify/scripts/static.mjs +79 -0
@@ -97,6 +97,73 @@ function jsxTarget(tagName, bindings, typescript) {
97
97
  : null;
98
98
  }
99
99
 
100
+ const PHYSICAL_STYLE_PROPERTIES = new Set([
101
+ "marginLeft",
102
+ "marginRight",
103
+ "paddingLeft",
104
+ "paddingRight",
105
+ "left",
106
+ "right",
107
+ "borderLeft",
108
+ "borderRight",
109
+ "borderLeftWidth",
110
+ "borderRightWidth",
111
+ ]);
112
+
113
+ function literalStyleViolation(attribute, typescript) {
114
+ if (attribute.name.text !== "style" || !attribute.initializer || !typescript.isJsxExpression(attribute.initializer)) {
115
+ return false;
116
+ }
117
+ let value = attribute.initializer.expression;
118
+ while (value && typescript.isParenthesizedExpression(value)) value = value.expression;
119
+ if (!value || !typescript.isObjectLiteralExpression(value)) return false;
120
+
121
+ return value.properties.some((property) => {
122
+ if (!typescript.isPropertyAssignment(property)) return false;
123
+ const name = property.name;
124
+ const key = typescript.isIdentifier(name) || typescript.isStringLiteral(name) ? name.text : null;
125
+ if (key === null) return false;
126
+ if (PHYSICAL_STYLE_PROPERTIES.has(key)) return true;
127
+ let initializer = property.initializer;
128
+ while (initializer && typescript.isParenthesizedExpression(initializer)) initializer = initializer.expression;
129
+ return (
130
+ key === "textAlign" &&
131
+ initializer &&
132
+ typescript.isStringLiteral(initializer) &&
133
+ (initializer.text === "left" || initializer.text === "right")
134
+ );
135
+ });
136
+ }
137
+
138
+ function concatenatedLabel(attribute, typescript) {
139
+ if (attribute.name.text !== "aria-label" || !attribute.initializer || !typescript.isJsxExpression(attribute.initializer)) {
140
+ return false;
141
+ }
142
+ const value = attribute.initializer.expression;
143
+ if (!value) return false;
144
+
145
+ if (typescript.isTemplateExpression(value)) {
146
+ return value.templateSpans.length > 0 &&
147
+ (value.head.text.trim() !== "" || value.templateSpans.some((span) => span.literal.text.trim() !== ""));
148
+ }
149
+
150
+ let found = false;
151
+ const visit = (node) => {
152
+ if (
153
+ typescript.isBinaryExpression(node) &&
154
+ node.operatorToken.kind === typescript.SyntaxKind.PlusToken &&
155
+ ((typescript.isStringLiteral(node.left) && !typescript.isStringLiteral(node.right)) ||
156
+ (typescript.isStringLiteral(node.right) && !typescript.isStringLiteral(node.left)))
157
+ ) {
158
+ found = true;
159
+ return;
160
+ }
161
+ typescript.forEachChild(node, visit);
162
+ };
163
+ visit(value);
164
+ return found;
165
+ }
166
+
100
167
  function sourceCheck(id, law, message, violates) {
101
168
  return {
102
169
  id,
@@ -149,4 +216,16 @@ export const staticChecks = [
149
216
  (target, attrs) =>
150
217
  target.kind === "intrinsic" && target.tag === "img" && !attrs.some((attr) => attr.name.text === "alt"),
151
218
  ),
219
+ sourceCheck(
220
+ "logical-inline-style",
221
+ "localization",
222
+ "Use logical properties (marginInlineStart, insetInlineEnd, textAlign: \"start\").",
223
+ (_, attrs, typescript) => attrs.some((attribute) => literalStyleViolation(attribute, typescript)),
224
+ ),
225
+ sourceCheck(
226
+ "concatenated-aria-label",
227
+ "localization",
228
+ "Use one translated string with a placeholder.",
229
+ (_, attrs, typescript) => attrs.some((attribute) => concatenatedLabel(attribute, typescript)),
230
+ ),
152
231
  ];