agnosticui-core 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (249) hide show
  1. package/README.md +67 -33
  2. package/dist/{VueButton.vue_vue_type_script_setup_true_lang-Bq8IPXqd.js → VueButton.vue_vue_type_script_setup_true_lang-D1jGatE9.js} +17 -15
  3. package/dist/{VueButtonFx.vue_vue_type_script_setup_true_lang-BUudF-lg.js → VueButtonFx.vue_vue_type_script_setup_true_lang-BRrt6Nxs.js} +1 -0
  4. package/dist/{VueCheckbox.vue_vue_type_script_setup_true_lang-DERDRO2P.js → VueCheckbox.vue_vue_type_script_setup_true_lang-VtQfJ-6f.js} +9 -10
  5. package/dist/{VueCombobox.vue_vue_type_script_setup_true_lang-C7gDMrYJ.js → VueCombobox.vue_vue_type_script_setup_true_lang-BSTZGX2X.js} +15 -13
  6. package/dist/VueIcon.vue_vue_type_script_setup_true_lang-C2Sky3bU.js +22 -0
  7. package/dist/{VueImage.vue_vue_type_script_setup_true_lang-CUwbK3NF.js → VueImage.vue_vue_type_script_setup_true_lang-SddK93SB.js} +23 -17
  8. package/dist/{VueInput.vue_vue_type_script_setup_true_lang-Dsxo7DuX.js → VueInput.vue_vue_type_script_setup_true_lang-wYdAqg-i.js} +19 -19
  9. package/dist/{VueMenu.vue_vue_type_script_setup_true_lang-bnn7ochj.js → VueMenu.vue_vue_type_script_setup_true_lang-BXc7397e.js} +5 -4
  10. package/dist/{VueRadio.vue_vue_type_script_setup_true_lang-DxNhH12d.js → VueRadio.vue_vue_type_script_setup_true_lang-C7Z-sWpa.js} +10 -12
  11. package/dist/{VueRating.vue_vue_type_script_setup_true_lang-CICncp71.js → VueRating.vue_vue_type_script_setup_true_lang-Bm2nRrqr.js} +11 -9
  12. package/dist/VueSelectionButton.vue_vue_type_script_setup_true_lang-DJN-Uk6n.js +24 -0
  13. package/dist/VueSelectionButtonGroup.vue_vue_type_script_setup_true_lang-DwYrIMVO.js +46 -0
  14. package/dist/VueSelectionCard.vue_vue_type_script_setup_true_lang-DJiyPsXH.js +24 -0
  15. package/dist/VueSelectionCardGroup.vue_vue_type_script_setup_true_lang-D5CycLY5.js +40 -0
  16. package/dist/{VueToggle.vue_vue_type_script_setup_true_lang-BxrvAsse.js → VueToggle.vue_vue_type_script_setup_true_lang-DLPCBOqZ.js} +18 -16
  17. package/dist/components/Alert/core/_Alert.d.ts.map +1 -1
  18. package/dist/components/Alert/core/_Alert.js +38 -19
  19. package/dist/components/Button/core/_Button.d.ts +5 -0
  20. package/dist/components/Button/core/_Button.d.ts.map +1 -1
  21. package/dist/components/Button/core/_Button.js +147 -65
  22. package/dist/components/Button/vue/VueButton.js +1 -1
  23. package/dist/components/Button/vue/VueButton.vue.d.ts +3 -0
  24. package/dist/components/Button/vue/VueButton.vue.d.ts.map +1 -1
  25. package/dist/components/Button/vue/index.js +1 -1
  26. package/dist/components/ButtonFx/vue/VueButtonFx.js +1 -1
  27. package/dist/components/ButtonFx/vue/index.js +1 -1
  28. package/dist/components/Card/core/_Card.d.ts +9 -1
  29. package/dist/components/Card/core/_Card.d.ts.map +1 -1
  30. package/dist/components/Card/core/_Card.js +83 -29
  31. package/dist/components/Card/vue/VueCard.js +29 -16
  32. package/dist/components/Card/vue/VueCard.vue.d.ts +25 -5
  33. package/dist/components/Card/vue/VueCard.vue.d.ts.map +1 -1
  34. package/dist/components/Checkbox/core/_Checkbox.d.ts +37 -11
  35. package/dist/components/Checkbox/core/_Checkbox.d.ts.map +1 -1
  36. package/dist/components/Checkbox/core/_Checkbox.js +73 -42
  37. package/dist/components/Checkbox/vue/VueCheckbox.js +1 -1
  38. package/dist/components/Checkbox/vue/VueCheckbox.vue.d.ts +3 -3
  39. package/dist/components/Checkbox/vue/VueCheckbox.vue.d.ts.map +1 -1
  40. package/dist/components/Checkbox/vue/index.js +1 -1
  41. package/dist/components/Combobox/core/_Combobox.d.ts +24 -1
  42. package/dist/components/Combobox/core/_Combobox.d.ts.map +1 -1
  43. package/dist/components/Combobox/core/_Combobox.js +141 -92
  44. package/dist/components/Combobox/vue/VueCombobox.js +1 -1
  45. package/dist/components/Combobox/vue/index.js +1 -1
  46. package/dist/components/Fieldset/vue/VueFieldset.vue.d.ts +1 -1
  47. package/dist/components/Icon/vue/VueIcon.js +1 -1
  48. package/dist/components/Icon/vue/VueIcon.vue.d.ts.map +1 -1
  49. package/dist/components/Icon/vue/index.js +1 -1
  50. package/dist/components/Image/vue/VueImage.js +1 -1
  51. package/dist/components/Image/vue/VueImage.vue.d.ts.map +1 -1
  52. package/dist/components/Image/vue/index.js +1 -1
  53. package/dist/components/Input/core/_Input.d.ts +21 -2
  54. package/dist/components/Input/core/_Input.d.ts.map +1 -1
  55. package/dist/components/Input/core/_Input.js +71 -35
  56. package/dist/components/Input/vue/VueInput.js +1 -1
  57. package/dist/components/Input/vue/VueInput.vue.d.ts.map +1 -1
  58. package/dist/components/Input/vue/index.js +1 -1
  59. package/dist/components/Link/core/_Link.d.ts.map +1 -1
  60. package/dist/components/Link/core/_Link.js +1 -0
  61. package/dist/components/Link/vue/VueLink.js +6 -5
  62. package/dist/components/Link/vue/VueLink.vue.d.ts.map +1 -1
  63. package/dist/components/Menu/vue/VueMenu.js +1 -1
  64. package/dist/components/Menu/vue/index.js +1 -1
  65. package/dist/components/Pagination/core/_Pagination.d.ts +0 -1
  66. package/dist/components/Pagination/core/_Pagination.d.ts.map +1 -1
  67. package/dist/components/Pagination/core/_Pagination.js +6 -9
  68. package/dist/components/Radio/core/_Radio.d.ts +55 -10
  69. package/dist/components/Radio/core/_Radio.d.ts.map +1 -1
  70. package/dist/components/Radio/core/_Radio.js +165 -116
  71. package/dist/components/Radio/vue/VueRadio.js +1 -1
  72. package/dist/components/Radio/vue/VueRadio.vue.d.ts.map +1 -1
  73. package/dist/components/Radio/vue/index.js +1 -1
  74. package/dist/components/Rating/core/_Rating.d.ts +23 -2
  75. package/dist/components/Rating/core/_Rating.d.ts.map +1 -1
  76. package/dist/components/Rating/core/_Rating.js +97 -64
  77. package/dist/components/Rating/vue/VueRating.js +1 -1
  78. package/dist/components/Rating/vue/VueRating.vue.d.ts +2 -0
  79. package/dist/components/Rating/vue/VueRating.vue.d.ts.map +1 -1
  80. package/dist/components/Rating/vue/index.js +1 -1
  81. package/dist/components/Select/core/_Select.d.ts +20 -2
  82. package/dist/components/Select/core/_Select.d.ts.map +1 -1
  83. package/dist/components/Select/core/_Select.js +99 -69
  84. package/dist/components/SelectionButton/core/SelectionButton.d.ts +9 -0
  85. package/dist/components/SelectionButton/core/SelectionButton.d.ts.map +1 -0
  86. package/dist/components/SelectionButton/core/SelectionButton.js +5 -0
  87. package/dist/components/SelectionButton/core/_SelectionButton.d.ts +47 -0
  88. package/dist/components/SelectionButton/core/_SelectionButton.d.ts.map +1 -0
  89. package/dist/components/SelectionButton/core/_SelectionButton.js +474 -0
  90. package/dist/components/SelectionButton/react/ReactSelectionButton.d.ts +9 -0
  91. package/dist/components/SelectionButton/react/ReactSelectionButton.d.ts.map +1 -0
  92. package/dist/components/SelectionButton/react/ReactSelectionButton.js +12 -0
  93. package/dist/components/SelectionButton/react/index.d.ts +3 -0
  94. package/dist/components/SelectionButton/react/index.d.ts.map +1 -0
  95. package/dist/components/SelectionButton/react/index.js +4 -0
  96. package/dist/components/SelectionButton/vue/VueSelectionButton.js +4 -0
  97. package/dist/components/SelectionButton/vue/VueSelectionButton.vue.d.ts +55 -0
  98. package/dist/components/SelectionButton/vue/VueSelectionButton.vue.d.ts.map +1 -0
  99. package/dist/components/SelectionButton/vue/index.d.ts +6 -0
  100. package/dist/components/SelectionButton/vue/index.d.ts.map +1 -0
  101. package/dist/components/SelectionButton/vue/index.js +4 -0
  102. package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.d.ts +9 -0
  103. package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.d.ts.map +1 -0
  104. package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.js +5 -0
  105. package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.d.ts +87 -0
  106. package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.d.ts.map +1 -0
  107. package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.js +235 -0
  108. package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.d.ts +13 -0
  109. package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.d.ts.map +1 -0
  110. package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.js +15 -0
  111. package/dist/components/SelectionButtonGroup/react/index.d.ts +3 -0
  112. package/dist/components/SelectionButtonGroup/react/index.d.ts.map +1 -0
  113. package/dist/components/SelectionButtonGroup/react/index.js +4 -0
  114. package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.js +4 -0
  115. package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue.d.ts +101 -0
  116. package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue.d.ts.map +1 -0
  117. package/dist/components/SelectionButtonGroup/vue/index.d.ts +6 -0
  118. package/dist/components/SelectionButtonGroup/vue/index.d.ts.map +1 -0
  119. package/dist/components/SelectionButtonGroup/vue/index.js +4 -0
  120. package/dist/components/SelectionCard/core/SelectionCard.d.ts +9 -0
  121. package/dist/components/SelectionCard/core/SelectionCard.d.ts.map +1 -0
  122. package/dist/components/SelectionCard/core/SelectionCard.js +5 -0
  123. package/dist/components/SelectionCard/core/_SelectionCard.d.ts +39 -0
  124. package/dist/components/SelectionCard/core/_SelectionCard.d.ts.map +1 -0
  125. package/dist/components/SelectionCard/core/_SelectionCard.js +318 -0
  126. package/dist/components/SelectionCard/react/ReactSelectionCard.d.ts +9 -0
  127. package/dist/components/SelectionCard/react/ReactSelectionCard.d.ts.map +1 -0
  128. package/dist/components/SelectionCard/react/ReactSelectionCard.js +12 -0
  129. package/dist/components/SelectionCard/react/index.d.ts +3 -0
  130. package/dist/components/SelectionCard/react/index.d.ts.map +1 -0
  131. package/dist/components/SelectionCard/react/index.js +4 -0
  132. package/dist/components/SelectionCard/vue/VueSelectionCard.js +4 -0
  133. package/dist/components/SelectionCard/vue/VueSelectionCard.vue.d.ts +55 -0
  134. package/dist/components/SelectionCard/vue/VueSelectionCard.vue.d.ts.map +1 -0
  135. package/dist/components/SelectionCard/vue/index.d.ts +6 -0
  136. package/dist/components/SelectionCard/vue/index.d.ts.map +1 -0
  137. package/dist/components/SelectionCard/vue/index.js +4 -0
  138. package/dist/components/SelectionCardGroup/core/SelectionCardGroup.d.ts +9 -0
  139. package/dist/components/SelectionCardGroup/core/SelectionCardGroup.d.ts.map +1 -0
  140. package/dist/components/SelectionCardGroup/core/SelectionCardGroup.js +5 -0
  141. package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.d.ts +69 -0
  142. package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.d.ts.map +1 -0
  143. package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.js +220 -0
  144. package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.d.ts +13 -0
  145. package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.d.ts.map +1 -0
  146. package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.js +15 -0
  147. package/dist/components/SelectionCardGroup/react/index.d.ts +3 -0
  148. package/dist/components/SelectionCardGroup/react/index.d.ts.map +1 -0
  149. package/dist/components/SelectionCardGroup/react/index.js +4 -0
  150. package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.js +4 -0
  151. package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue.d.ts +86 -0
  152. package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue.d.ts.map +1 -0
  153. package/dist/components/SelectionCardGroup/vue/index.d.ts +6 -0
  154. package/dist/components/SelectionCardGroup/vue/index.d.ts.map +1 -0
  155. package/dist/components/SelectionCardGroup/vue/index.js +4 -0
  156. package/dist/components/Slider/core/_Slider.d.ts +10 -16
  157. package/dist/components/Slider/core/_Slider.d.ts.map +1 -1
  158. package/dist/components/Slider/core/_Slider.js +28 -39
  159. package/dist/components/Timeline/core/_Timeline.d.ts.map +1 -1
  160. package/dist/components/Timeline/core/_Timeline.js +8 -3
  161. package/dist/components/Timeline/react/ReactTimeline.d.ts +23 -9
  162. package/dist/components/Timeline/react/ReactTimeline.d.ts.map +1 -1
  163. package/dist/components/Timeline/react/ReactTimeline.js +18 -14
  164. package/dist/components/Toggle/core/_Toggle.d.ts +36 -6
  165. package/dist/components/Toggle/core/_Toggle.d.ts.map +1 -1
  166. package/dist/components/Toggle/core/_Toggle.js +117 -77
  167. package/dist/components/Toggle/vue/VueToggle.js +1 -1
  168. package/dist/components/Toggle/vue/VueToggle.vue.d.ts.map +1 -1
  169. package/dist/components/Toggle/vue/index.js +1 -1
  170. package/dist/shared/face-mixin.d.ts +82 -0
  171. package/dist/shared/face-mixin.d.ts.map +1 -0
  172. package/dist/shared/face-mixin.js +86 -0
  173. package/dist/shared/form-control-styles.js +1 -1
  174. package/dist/styles/ag-tokens-dark.css +4 -0
  175. package/dist/styles/ag-tokens.css +18 -13
  176. package/dist/test-setup.js +340 -255
  177. package/package.json +51 -13
  178. package/src/components/Alert/core/_Alert.ts +21 -2
  179. package/src/components/Button/core/_Button.ts +111 -21
  180. package/src/components/Button/vue/VueButton.vue +2 -0
  181. package/src/components/Card/core/_Card.ts +70 -3
  182. package/src/components/Card/vue/VueCard.vue +19 -3
  183. package/src/components/Checkbox/core/_Checkbox.ts +78 -18
  184. package/src/components/Checkbox/vue/VueCheckbox.vue +0 -6
  185. package/src/components/Combobox/core/_Combobox.ts +84 -2
  186. package/src/components/Combobox/vue/VueCombobox.vue +1 -0
  187. package/src/components/Drawer/v1/dialog--drawer-bottom.hbs +48 -0
  188. package/src/components/Drawer/v1/dialog--drawer-end.hbs +48 -0
  189. package/src/components/Drawer/v1/dialog--drawer-start.hbs +48 -0
  190. package/src/components/Drawer/v1/dialog--drawer-top.hbs +48 -0
  191. package/src/components/Drawer/v1/dialog-demo.css +13 -0
  192. package/src/components/Drawer/v1/dialog.config.yml +5 -0
  193. package/src/components/Drawer/v1/dialog.css +99 -0
  194. package/src/components/Drawer/v1/dialog.hbs +48 -0
  195. package/src/components/Drawer/v1/drawer-animations.css +52 -0
  196. package/src/components/Drawer/v1/drawer.css +50 -0
  197. package/src/components/Icon/vue/VueIcon.vue +2 -5
  198. package/src/components/Image/vue/VueImage.vue +17 -13
  199. package/src/components/Input/core/_Input.ts +58 -3
  200. package/src/components/Input/vue/VueInput.vue +2 -6
  201. package/src/components/Link/core/_Link.ts +1 -0
  202. package/src/components/Link/vue/VueLink.vue +1 -0
  203. package/src/components/Pagination/core/_Pagination.ts +10 -18
  204. package/src/components/Radio/core/_Radio.ts +131 -41
  205. package/src/components/Radio/vue/VueRadio.vue +1 -5
  206. package/src/components/Rating/core/_Rating.ts +62 -5
  207. package/src/components/Rating/vue/VueRating.vue +3 -0
  208. package/src/components/Select/core/_Select.ts +55 -6
  209. package/src/components/SelectionButton/core/SelectionButton.ts +13 -0
  210. package/src/components/SelectionButton/core/_SelectionButton.ts +551 -0
  211. package/src/components/SelectionButton/react/ReactSelectionButton.tsx +16 -0
  212. package/src/components/SelectionButton/react/index.ts +4 -0
  213. package/src/components/SelectionButton/vue/VueSelectionButton.vue +33 -0
  214. package/src/components/SelectionButton/vue/index.ts +5 -0
  215. package/src/components/SelectionButtonGroup/core/SelectionButtonGroup.ts +13 -0
  216. package/src/components/SelectionButtonGroup/core/_SelectionButtonGroup.ts +423 -0
  217. package/src/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.tsx +29 -0
  218. package/src/components/SelectionButtonGroup/react/index.ts +9 -0
  219. package/src/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue +89 -0
  220. package/src/components/SelectionButtonGroup/vue/index.ts +5 -0
  221. package/src/components/SelectionCard/core/SelectionCard.ts +13 -0
  222. package/src/components/SelectionCard/core/_SelectionCard.ts +384 -0
  223. package/src/components/SelectionCard/react/ReactSelectionCard.tsx +16 -0
  224. package/src/components/SelectionCard/react/index.ts +4 -0
  225. package/src/components/SelectionCard/vue/VueSelectionCard.vue +33 -0
  226. package/src/components/SelectionCard/vue/index.ts +5 -0
  227. package/src/components/SelectionCardGroup/core/SelectionCardGroup.ts +13 -0
  228. package/src/components/SelectionCardGroup/core/_SelectionCardGroup.ts +396 -0
  229. package/src/components/SelectionCardGroup/react/ReactSelectionCardGroup.tsx +29 -0
  230. package/src/components/SelectionCardGroup/react/index.ts +9 -0
  231. package/src/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue +71 -0
  232. package/src/components/SelectionCardGroup/vue/index.ts +5 -0
  233. package/src/components/Slider/core/_Slider.ts +28 -28
  234. package/src/components/Timeline/core/_Timeline.ts +5 -0
  235. package/src/components/Timeline/react/ReactTimeline.tsx +47 -24
  236. package/src/components/Toggle/core/_Toggle.ts +83 -9
  237. package/src/components/Toggle/vue/VueToggle.vue +2 -0
  238. package/src/shared/face-mixin.ts +233 -0
  239. package/src/shared/form-control-styles.ts +1 -1
  240. package/src/styles/ag-tokens-dark.css +4 -0
  241. package/src/styles/ag-tokens.css +18 -13
  242. package/RTL_IMPLEMENTATION_PLAN.md +0 -295
  243. package/dist/VueIcon.vue_vue_type_script_setup_true_lang-kC-nzMyu.js +0 -25
  244. package/dist/components/Input/core/_Input.BACKUP.d.ts +0 -114
  245. package/dist/components/Input/core/_Input.BACKUP.d.ts.map +0 -1
  246. package/dist/components/Input/core/_Input.BACKUP.js +0 -511
  247. package/dist/global.d.js +0 -1
  248. package/src/components/Input/core/_Input.BACKUP.ts +0 -710
  249. package/src/global.d.ts +0 -43
@@ -1,295 +0,0 @@
1
- # RTL Support Implementation Plan - AgnosticUI v2
2
-
3
- ## Goal
4
- Convert all directional CSS properties to logical properties to support RTL (Right-to-Left) languages without breaking existing functionality.
5
-
6
- ## Overview
7
- This is primarily a search-and-replace task to convert directional properties (left/right) to logical properties (inline-start/inline-end). However, there are edge cases that need careful handling.
8
-
9
- ---
10
-
11
- ## Implementation Steps
12
-
13
- ### Step 1: Convert Spacing Properties (Margin & Padding) ✅ COMPLETED
14
- **Scope:** 17 occurrences in main library (`v2/lib/src/`) - all converted
15
-
16
- **Search & Replace:**
17
- - `margin-left:` → `margin-inline-start:`
18
- - `margin-right:` → `margin-inline-end:`
19
- - `padding-left:` → `padding-inline-start:`
20
- - `padding-right:` → `padding-inline-end:`
21
-
22
- **Priority Files:**
23
- - AspectRatio component
24
- - Loader component
25
- - SidebarNav component
26
- - Input component (backup file)
27
- - Checkbox component (mixed usage)
28
- - Pagination component (mixed usage)
29
-
30
- **Gotchas:**
31
- - None - these are safe to replace
32
-
33
- ---
34
-
35
- ### Step 2: Convert Border Properties ✅ COMPLETED
36
- **Scope:** 56 occurrences in main library (`v2/lib/src/`) - all converted (42 borders + 14 border-radius)
37
-
38
- **Search & Replace:**
39
- - `border-left:` → `border-inline-start:`
40
- - `border-right:` → `border-inline-end:`
41
- - `border-left-width:` → `border-inline-start-width:`
42
- - `border-right-width:` → `border-inline-end-width:`
43
- - `border-left-color:` → `border-inline-start-color:`
44
- - `border-right-color:` → `border-inline-end-color:`
45
- - `border-left-style:` → `border-inline-start-style:`
46
- - `border-right-style:` → `border-inline-end-style:`
47
-
48
- **Priority Files:**
49
- - Alert component (`border-left-width`, `border-left-color`)
50
- - Combobox component (`border-right-color`, `border-right`)
51
-
52
- **Gotchas:**
53
- - Border radius properties (if any) need special handling:
54
- - `border-top-left-radius` → `border-start-start-radius`
55
- - `border-top-right-radius` → `border-start-end-radius`
56
- - `border-bottom-left-radius` → `border-end-start-radius`
57
- - `border-bottom-right-radius` → `border-end-end-radius`
58
-
59
- ---
60
-
61
- ### Step 3: Convert Text Alignment ✅ COMPLETED
62
- **Scope:** 7 occurrences in main library (`v2/lib/src/`) - all converted
63
-
64
- **Search & Replace:**
65
- - `text-align: left` → `text-align: start`
66
- - `text-align: right` → `text-align: end`
67
-
68
- **Priority Files:**
69
- - Table component (v2/lib/src/styles/table.css:16, 24, 180, 192)
70
-
71
- **Gotchas:**
72
- - `text-align: center` stays as-is
73
- - Double-check that `start`/`end` work in your target browser support matrix (modern browsers only)
74
-
75
- ---
76
-
77
- ### Step 4: Convert Positioning Properties ✅
78
-
79
- **Scope:** ~50+ occurrences across 15+ files
80
-
81
- **Search & Replace:**
82
- - `left:` → `inset-inline-start:`
83
- - `right:` → `inset-inline-end:`
84
- - `left: 0; right: 0;` → `inset-inline: 0;`
85
- - `top: 0; left: 0; right: 0; bottom: 0;` → `inset: 0;`
86
-
87
- **Files Converted:**
88
- - table.css, positioning.ts (utility)
89
- - BadgeFx, SkeletonLoader, ScrollProgress, Dialog
90
- - Sidebar, ScrollToButton, CloseButton
91
- - MessageBubble, Toggle, Loader, ButtonFx
92
- - Menu, Slider, Combobox
93
- - Toast, Checkbox
94
-
95
- **Gotchas:**
96
- - **CRITICAL**: Only for `position: absolute`, `position: fixed`, or `position: sticky` elements
97
- - Check for instances where `left: 0; right: 0;` is used together (might be better as `inset-inline: 0;`)
98
- - Do NOT convert `left`/`right` in transform functions (see Step 5)
99
-
100
- **Manual Review Needed:**
101
- - Search for `position: absolute` and check nearby `left`/`right` properties
102
- - Search for `position: fixed` and check nearby `left`/`right` properties
103
-
104
- ---
105
-
106
- ### Step 5: Handle Transforms & Animations ✅
107
-
108
- **Scope:** Reviewed all `translateX` usage, added RTL support to 5 components with directional animations
109
-
110
- **Components with RTL Support Added:**
111
- - **positioning.ts** - Utility for drawer start/end slide animations
112
- - **Dialog** - Drawer mode start/end positioning
113
- - **Toast** - Start/end position slide animations
114
- - **Toggle** - Handle movement (checked state)
115
- - **ButtonFx** - Side-slide hover effect
116
-
117
- **Components Skipped (decorative/centering only):**
118
- - Sidebar - Already has RTL support ✓
119
- - Slider - Uses `translateX(-50%)` for centering only
120
- - BadgeFx, SkeletonLoader - Shimmer effects (decorative)
121
- - motion.styles.ts - Shake and highlight-sweep animations (decorative)
122
-
123
- **Pattern Used:**
124
- All RTL overrides follow the Sidebar pattern using `:host-context([dir="rtl"])`:
125
- ```css
126
- /* LTR (default) */
127
- .element {
128
- transform: translateX(-100%);
129
- }
130
-
131
- /* RTL override */
132
- :host-context([dir="rtl"]) .element {
133
- transform: translateX(100%);
134
- }
135
- ```
136
-
137
- **Gotchas:**
138
- - Cannot simply replace `translateX` with a logical property
139
- - Requires `:host-context([dir="rtl"])` or `[dir="rtl"]` selectors for overrides
140
- - Only directional animations need RTL support; centering and decorative effects don't
141
-
142
- ---
143
-
144
- ### Step 6: Convert Size Properties (Width & Height)
145
-
146
- **Scope:** ~74 CSS property occurrences (excluding media queries, docs, and tests)
147
-
148
- **Search & Replace:**
149
- - `min-width:` → `min-inline-size:`
150
- - `max-width:` → `max-inline-size:`
151
- - `min-height:` → `min-block-size:`
152
- - `max-height:` → `max-block-size:`
153
-
154
- **CRITICAL Gotcha - Media Queries:**
155
- Logical properties do NOT work in media queries yet. You CANNOT replace:
156
- - `@media (min-width: 640px)` - Must stay as-is ❌
157
- - `@media (max-width: 1024px)` - Must stay as-is ❌
158
-
159
- Only replace size properties in CSS property declarations:
160
- ```css
161
- /* ✅ CAN REPLACE */
162
- .element {
163
- min-width: 200px; → min-inline-size: 200px;
164
- max-width: 100%; → max-inline-size: 100%;
165
- min-height: 100px; → min-block-size: 100px;
166
- max-height: 90vh; → max-block-size: 90vh;
167
- }
168
-
169
- /* ❌ CANNOT REPLACE */
170
- @media (min-width: 640px) { → Leave as-is!
171
- /* styles */
172
- }
173
- ```
174
-
175
- **Action:**
176
- 1. Search for `min-width:`, `max-width:`, `min-height:`, `max-height:` in CSS property declarations
177
- 2. Verify each occurrence is NOT in a media query
178
- 3. Replace with logical equivalent
179
- 4. Skip .md, .spec.ts, and demo files (documentation/tests)
180
-
181
- **Priority Files:**
182
- - form-control-styles.ts (4 occurrences)
183
- - positioning.ts (4 occurrences)
184
- - Popover, Dialog, Toast, Combobox components
185
- - Button, Icon, IconButton components
186
- - Many other components (~30 files total)
187
-
188
- **Gotchas:**
189
- - Media queries MUST stay as physical properties (min-width/max-width)
190
- - Only convert actual CSS property declarations
191
- - Watch for dynamically generated styles in TypeScript/JavaScript
192
-
193
- ---
194
-
195
- ### Step 7: Update Class Names (Semantic Cleanup)
196
-
197
- **Optional but Recommended:**
198
- Update class names to be semantically correct:
199
- - `.alert-border-left` → `.alert-border-start`
200
- - `.margin-left-*` → `.margin-inline-start-*`
201
- - Any other directional class names
202
-
203
- **Action:**
204
- - Search for class names containing "left" or "right"
205
- - Rename to "start" or "end" where appropriate
206
- - Update corresponding CSS and component usage
207
-
208
- **Gotchas:**
209
- - This is a breaking change if classes are exposed as public API
210
- - Consider deprecation strategy if needed
211
-
212
- ---
213
-
214
- ### Step 8: Test RTL Rendering
215
-
216
- **Action:**
217
- 1. Create test HTML files with `dir="rtl"` attribute
218
- 2. Visually test critical components:
219
- - Alert (border should appear on the right in RTL)
220
- - Table (text alignment should flip)
221
- - Combobox (borders should flip)
222
- - Form controls (labels should flip with start/end positioning)
223
- - Sidebar (should slide from correct direction)
224
- 3. Run existing test suite to ensure no regressions
225
-
226
- **Test Checklist:**
227
- - [ ] Alert component border appears on correct side in RTL
228
- - [ ] Table text aligns correctly in RTL
229
- - [ ] Form controls with `labelPosition="start"` appear on right side in RTL
230
- - [ ] Form controls with `labelPosition="end"` appear on left side in RTL
231
- - [ ] Sidebar animations work correctly in RTL
232
- - [ ] No visual regressions in LTR mode
233
-
234
- ---
235
-
236
- ## Execution Strategy
237
-
238
- ### Recommended Approach
239
- 1. Start with Steps 1-3 (spacing, borders, text-align) - these are safest
240
- 2. Do Step 4 (positioning) with manual review of each file
241
- 3. Do Step 5 (transforms) with careful testing
242
- 4. Do Step 6 (size properties) - safe but watch for media queries
243
- 5. Optionally do Step 7 (class names) if you want semantic correctness
244
- 6. Do Step 8 (testing) throughout the process
245
-
246
- ### Automation
247
- You can use global find-and-replace for Steps 1-3, but recommend:
248
- - Do it file-by-file or component-by-component
249
- - Test after each component to catch issues early
250
- - Commit after each component for easy rollback
251
-
252
- ### Browser Support
253
- CSS logical properties are supported in:
254
- - Chrome 87+
255
- - Firefox 66+
256
- - Safari 14.1+
257
- - Edge 87+
258
-
259
- If you need to support older browsers, you'll need fallbacks or a different strategy.
260
-
261
- ---
262
-
263
- ## Risks & Mitigations
264
-
265
- | Risk | Mitigation |
266
- |------|------------|
267
- | Breaking existing layouts | Test each component after changes; commit frequently |
268
- | Transform animations not flipping | Use `:host-context([dir="rtl"])` overrides (see Sidebar example) |
269
- | Class name changes breaking user code | Skip Step 6, or provide deprecation warning |
270
- | Browser compatibility | Check caniuse.com for logical properties support |
271
-
272
- ---
273
-
274
- ## Estimated Effort
275
-
276
- - Step 1 (spacing): 1-2 hours (bulk search-replace + testing) ✅ COMPLETED
277
- - Step 2 (borders): 30 minutes
278
- - Step 3 (text-align): 15 minutes
279
- - Step 4 (positioning): 1 hour (manual review needed)
280
- - Step 5 (transforms): 1 hour (manual review + testing)
281
- - Step 6 (size properties): 1-2 hours (careful to avoid media queries)
282
- - Step 7 (class names): 1 hour (optional)
283
- - Step 8 (testing): 1-2 hours
284
-
285
- **Total: 6-10 hours** (without class name changes: 5-9 hours)
286
-
287
- ---
288
-
289
- ## Success Criteria
290
-
291
- - [ ] All directional properties converted to logical properties
292
- - [ ] All existing tests pass
293
- - [ ] Visual testing with `dir="rtl"` shows correct rendering
294
- - [ ] No regressions in LTR mode
295
- - [ ] Components handle RTL without explicit RTL-specific code (except transforms)
@@ -1,25 +0,0 @@
1
- import { defineComponent as n, ref as l, createElementBlock as r, openBlock as i, mergeProps as s, renderSlot as a } from "vue";
2
- import "./components/Icon/core/Icon.js";
3
- const p = [".size", ".type", ".noFill"], u = /* @__PURE__ */ n({
4
- __name: "VueIcon",
5
- props: {
6
- size: { default: "16" },
7
- type: { default: "" },
8
- noFill: { type: Boolean }
9
- },
10
- setup(e) {
11
- const t = l(null);
12
- return (o, c) => (i(), r("ag-icon", s({
13
- ref_key: "agComponent",
14
- ref: t,
15
- ".size": e.size,
16
- ".type": e.type,
17
- ".noFill": e.noFill
18
- }, o.$attrs), [
19
- a(o.$slots, "default")
20
- ], 48, p));
21
- }
22
- });
23
- export {
24
- u as _
25
- };
@@ -1,114 +0,0 @@
1
- import { LitElement } from 'lit';
2
-
3
- export interface InputProps {
4
- label?: string;
5
- labelHidden?: boolean;
6
- noLabel?: boolean;
7
- ariaLabel?: string;
8
- labelledBy?: string;
9
- type?: string;
10
- value?: string;
11
- placeholder?: string;
12
- rows?: number;
13
- cols?: number;
14
- size?: 'small' | 'default' | 'large';
15
- capsule?: boolean;
16
- rounded?: boolean;
17
- underlined?: boolean;
18
- underlinedWithBackground?: boolean;
19
- inline?: boolean;
20
- required?: boolean;
21
- disabled?: boolean;
22
- readonly?: boolean;
23
- invalid?: boolean;
24
- errorMessage?: string;
25
- helpText?: string;
26
- onClick?: (event: MouseEvent) => void;
27
- onInput?: (event: InputEvent) => void;
28
- onChange?: (event: Event) => void;
29
- onFocus?: (event: FocusEvent) => void;
30
- onBlur?: (event: FocusEvent) => void;
31
- }
32
- /**
33
- * AgInput - Foundation input component (starting minimal)
34
- *
35
- * Starting with basic label + input functionality, will build up incrementally
36
- */
37
- export declare class AgInput extends LitElement implements InputProps {
38
- static styles: import('lit').CSSResult;
39
- private _inputId;
40
- /**
41
- * Label Architecture - Flexible but Accessible by Default
42
- */
43
- label: string;
44
- labelHidden: boolean;
45
- noLabel: boolean;
46
- ariaLabel: string;
47
- labelledBy: string;
48
- /**
49
- * Input properties
50
- */
51
- type: string;
52
- value: string;
53
- placeholder: string;
54
- /**
55
- * Textarea-specific properties (when type="textarea")
56
- */
57
- rows: number;
58
- cols: number;
59
- /**
60
- * v1 Parity - Size Variants
61
- */
62
- size: 'small' | 'default' | 'large';
63
- /**
64
- * v1 Parity - Styling Variants
65
- */
66
- capsule: boolean;
67
- rounded: boolean;
68
- underlined: boolean;
69
- underlinedWithBackground: boolean;
70
- inline: boolean;
71
- /**
72
- * v1 Parity - Addon Support
73
- * REMOVED: hasLeftAddon and hasRightAddon props - now auto-detected
74
- */
75
- private _hasLeftAddon;
76
- private _hasRightAddon;
77
- /**
78
- * Validation & State
79
- */
80
- required: boolean;
81
- disabled: boolean;
82
- readonly: boolean;
83
- invalid: boolean;
84
- errorMessage: string;
85
- helpText: string;
86
- /**
87
- * Event callback props (not reflected as attributes)
88
- * Following AgnosticUI v2 event conventions for native events
89
- */
90
- onClick?: (event: MouseEvent) => void;
91
- onInput?: (event: InputEvent) => void;
92
- onChange?: (event: Event) => void;
93
- onFocus?: (event: FocusEvent) => void;
94
- onBlur?: (event: FocusEvent) => void;
95
- constructor();
96
- /**
97
- * Event Handlers
98
- * Following AgnosticUI v2 event conventions:
99
- * - Native composed events (input, change, click) just invoke callbacks
100
- * - Native non-bubbling events (focus, blur) re-dispatch from host + invoke callbacks
101
- */
102
- private _handleClick;
103
- private _handleInput;
104
- private _handleChange;
105
- private _handleFocus;
106
- private _handleBlur;
107
- /**
108
- * Handle slot changes to detect if addons are present
109
- */
110
- private _handleSlotChange;
111
- firstUpdated(): void;
112
- render(): import('lit').TemplateResult<1>;
113
- }
114
- //# sourceMappingURL=_Input.BACKUP.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_Input.BACKUP.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/core/_Input.BACKUP.ts"],"names":[],"mappings":"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"}