@rfdtech/components 1.1.0 → 1.5.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 (170) hide show
  1. package/README.md +192 -447
  2. package/dist/components/app-switcher/AppSwitcher.d.ts +1 -2
  3. package/dist/components/app-switcher/AppSwitcher.d.ts.map +1 -1
  4. package/dist/components/app-switcher/AppSwitcherItem.d.ts.map +1 -1
  5. package/dist/components/app-switcher/hooks/useAppSwitcher.d.ts.map +1 -1
  6. package/dist/components/app-switcher/index.d.ts +1 -5
  7. package/dist/components/app-switcher/index.d.ts.map +1 -1
  8. package/dist/components/bulk-import-modal/BulkImportModal.d.ts +1 -2
  9. package/dist/components/bulk-import-modal/BulkImportModal.d.ts.map +1 -1
  10. package/dist/components/bulk-import-modal/hooks/useBulkImportFlow.d.ts.map +1 -1
  11. package/dist/components/bulk-import-modal/internal/FieldMappingSelect.d.ts +14 -0
  12. package/dist/components/bulk-import-modal/internal/FieldMappingSelect.d.ts.map +1 -0
  13. package/dist/components/bulk-import-modal/steps/MatchColumnsStep.d.ts.map +1 -1
  14. package/dist/components/bulk-import-modal/steps/SelectHeaderRowStep.d.ts.map +1 -1
  15. package/dist/components/bulk-import-modal/steps/ValidateDataStep.d.ts +2 -1
  16. package/dist/components/bulk-import-modal/steps/ValidateDataStep.d.ts.map +1 -1
  17. package/dist/components/button/Button.d.ts +4 -0
  18. package/dist/components/button/Button.d.ts.map +1 -0
  19. package/dist/components/button/Button.test.d.ts +2 -0
  20. package/dist/components/button/Button.test.d.ts.map +1 -0
  21. package/dist/components/button/Spinner.d.ts +8 -0
  22. package/dist/components/button/Spinner.d.ts.map +1 -0
  23. package/dist/components/button/index.d.ts +3 -0
  24. package/dist/components/button/index.d.ts.map +1 -0
  25. package/dist/components/checkbox/Checkbox.d.ts +4 -0
  26. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  27. package/dist/components/checkbox/Checkbox.test.d.ts +2 -0
  28. package/dist/components/checkbox/Checkbox.test.d.ts.map +1 -0
  29. package/dist/components/checkbox/index.d.ts +3 -0
  30. package/dist/components/checkbox/index.d.ts.map +1 -0
  31. package/dist/components/dropdown/Dropdown.d.ts +1 -2
  32. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  33. package/dist/components/dropdown/index.d.ts +1 -3
  34. package/dist/components/dropdown/index.d.ts.map +1 -1
  35. package/dist/components/popover/Popover.d.ts +10 -0
  36. package/dist/components/popover/Popover.d.ts.map +1 -0
  37. package/dist/components/popover/Popover.test.d.ts +2 -0
  38. package/dist/components/popover/Popover.test.d.ts.map +1 -0
  39. package/dist/components/popover/index.d.ts +3 -0
  40. package/dist/components/popover/index.d.ts.map +1 -0
  41. package/dist/components/radio-group/Radio.d.ts +3 -0
  42. package/dist/components/radio-group/Radio.d.ts.map +1 -0
  43. package/dist/components/radio-group/RadioGroup.d.ts +4 -0
  44. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -0
  45. package/dist/components/radio-group/RadioGroup.test.d.ts +2 -0
  46. package/dist/components/radio-group/RadioGroup.test.d.ts.map +1 -0
  47. package/dist/components/radio-group/RadioGroupContext.d.ts +12 -0
  48. package/dist/components/radio-group/RadioGroupContext.d.ts.map +1 -0
  49. package/dist/components/radio-group/index.d.ts +4 -0
  50. package/dist/components/radio-group/index.d.ts.map +1 -0
  51. package/dist/components/tabs/Tabs.d.ts +7 -0
  52. package/dist/components/tabs/Tabs.d.ts.map +1 -0
  53. package/dist/components/tabs/Tabs.test.d.ts +2 -0
  54. package/dist/components/tabs/Tabs.test.d.ts.map +1 -0
  55. package/dist/components/tabs/TabsContext.d.ts +12 -0
  56. package/dist/components/tabs/TabsContext.d.ts.map +1 -0
  57. package/dist/components/tabs/hooks/useTabsLineIndicator.d.ts +8 -0
  58. package/dist/components/tabs/hooks/useTabsLineIndicator.d.ts.map +1 -0
  59. package/dist/components/tabs/index.d.ts +3 -0
  60. package/dist/components/tabs/index.d.ts.map +1 -0
  61. package/dist/components/theme/ThemeContext.d.ts +3 -0
  62. package/dist/components/theme/ThemeContext.d.ts.map +1 -0
  63. package/dist/components/theme/ThemeProvider.d.ts +3 -0
  64. package/dist/components/theme/ThemeProvider.d.ts.map +1 -0
  65. package/dist/components/theme/ThemeProvider.test.d.ts +2 -0
  66. package/dist/components/theme/ThemeProvider.test.d.ts.map +1 -0
  67. package/dist/components/theme/index.d.ts +4 -0
  68. package/dist/components/theme/index.d.ts.map +1 -0
  69. package/dist/components/theme/resolveTheme.d.ts +3 -0
  70. package/dist/components/theme/resolveTheme.d.ts.map +1 -0
  71. package/dist/components/theme/useTheme.d.ts +3 -0
  72. package/dist/components/theme/useTheme.d.ts.map +1 -0
  73. package/dist/index.cjs +81 -31
  74. package/dist/index.css +1 -1
  75. package/dist/index.d.ts +7 -3
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +6321 -6670
  78. package/dist/types/app-switcher.d.ts +7 -46
  79. package/dist/types/app-switcher.d.ts.map +1 -1
  80. package/dist/types/bulk-import-modal.d.ts +1 -0
  81. package/dist/types/bulk-import-modal.d.ts.map +1 -1
  82. package/dist/types/button.d.ts +17 -0
  83. package/dist/types/button.d.ts.map +1 -0
  84. package/dist/types/checkbox.d.ts +23 -0
  85. package/dist/types/checkbox.d.ts.map +1 -0
  86. package/dist/types/dropdown.d.ts +9 -76
  87. package/dist/types/dropdown.d.ts.map +1 -1
  88. package/dist/types/popover.d.ts +8 -0
  89. package/dist/types/popover.d.ts.map +1 -0
  90. package/dist/types/radio-group.d.ts +37 -0
  91. package/dist/types/radio-group.d.ts.map +1 -0
  92. package/dist/types/tabs.d.ts +35 -0
  93. package/dist/types/tabs.d.ts.map +1 -0
  94. package/dist/types/theme.d.ts +18 -0
  95. package/dist/types/theme.d.ts.map +1 -0
  96. package/dist/utils/cn.d.ts +2 -0
  97. package/dist/utils/cn.d.ts.map +1 -0
  98. package/package.json +13 -3
  99. package/dist/components/app-switcher/api/fetchMeApps.d.ts +0 -6
  100. package/dist/components/app-switcher/api/fetchMeApps.d.ts.map +0 -1
  101. package/dist/components/app-switcher/api/fetchMeApps.test.d.ts +0 -2
  102. package/dist/components/app-switcher/api/fetchMeApps.test.d.ts.map +0 -1
  103. package/dist/components/app-switcher/api/mapMeAppToAppItem.d.ts +0 -4
  104. package/dist/components/app-switcher/api/mapMeAppToAppItem.d.ts.map +0 -1
  105. package/dist/components/app-switcher/api/mapMeAppToAppItem.test.d.ts +0 -2
  106. package/dist/components/app-switcher/api/mapMeAppToAppItem.test.d.ts.map +0 -1
  107. package/dist/components/app-switcher/api/meAppsClient.d.ts +0 -3
  108. package/dist/components/app-switcher/api/meAppsClient.d.ts.map +0 -1
  109. package/dist/components/app-switcher/api/meAppsClient.test.d.ts +0 -2
  110. package/dist/components/app-switcher/api/meAppsClient.test.d.ts.map +0 -1
  111. package/dist/components/app-switcher/hooks/useMeApps.d.ts +0 -3
  112. package/dist/components/app-switcher/hooks/useMeApps.d.ts.map +0 -1
  113. package/dist/components/app-switcher/hooks/useMeApps.test.d.ts +0 -2
  114. package/dist/components/app-switcher/hooks/useMeApps.test.d.ts.map +0 -1
  115. package/dist/components/data-table/DataTable.d.ts +0 -5
  116. package/dist/components/data-table/DataTable.d.ts.map +0 -1
  117. package/dist/components/data-table/DataTable.test.d.ts +0 -2
  118. package/dist/components/data-table/DataTable.test.d.ts.map +0 -1
  119. package/dist/components/data-table/hooks/useDataTable.d.ts +0 -3
  120. package/dist/components/data-table/hooks/useDataTable.d.ts.map +0 -1
  121. package/dist/components/data-table/index.d.ts +0 -3
  122. package/dist/components/data-table/index.d.ts.map +0 -1
  123. package/dist/components/data-table/utils/dataTableClient.d.ts +0 -4
  124. package/dist/components/data-table/utils/dataTableClient.d.ts.map +0 -1
  125. package/dist/components/data-table/utils/dataTableClient.test.d.ts +0 -2
  126. package/dist/components/data-table/utils/dataTableClient.test.d.ts.map +0 -1
  127. package/dist/components/dropdown/Combobox.d.ts +0 -5
  128. package/dist/components/dropdown/Combobox.d.ts.map +0 -1
  129. package/dist/components/dropdown/Combobox.test.d.ts +0 -2
  130. package/dist/components/dropdown/Combobox.test.d.ts.map +0 -1
  131. package/dist/components/dropdown/DropdownMenu.d.ts +0 -5
  132. package/dist/components/dropdown/DropdownMenu.d.ts.map +0 -1
  133. package/dist/components/dropdown/DropdownMenu.test.d.ts +0 -2
  134. package/dist/components/dropdown/DropdownMenu.test.d.ts.map +0 -1
  135. package/dist/components/dropdown/hooks/useComboboxSearch.d.ts +0 -3
  136. package/dist/components/dropdown/hooks/useComboboxSearch.d.ts.map +0 -1
  137. package/dist/components/dropdown/hooks/useDropdown.d.ts +0 -4
  138. package/dist/components/dropdown/hooks/useDropdown.d.ts.map +0 -1
  139. package/dist/components/dropdown/hooks/useDropdownPosition.d.ts +0 -4
  140. package/dist/components/dropdown/hooks/useDropdownPosition.d.ts.map +0 -1
  141. package/dist/components/input-mask/InputMask.d.ts +0 -5
  142. package/dist/components/input-mask/InputMask.d.ts.map +0 -1
  143. package/dist/components/input-mask/InputMask.test.d.ts +0 -2
  144. package/dist/components/input-mask/InputMask.test.d.ts.map +0 -1
  145. package/dist/components/input-mask/hooks/useInputMask.d.ts +0 -18
  146. package/dist/components/input-mask/hooks/useInputMask.d.ts.map +0 -1
  147. package/dist/components/input-mask/index.d.ts +0 -5
  148. package/dist/components/input-mask/index.d.ts.map +0 -1
  149. package/dist/components/input-mask/presets.d.ts +0 -8
  150. package/dist/components/input-mask/presets.d.ts.map +0 -1
  151. package/dist/components/input-mask/utils/maskUtils.d.ts +0 -13
  152. package/dist/components/input-mask/utils/maskUtils.d.ts.map +0 -1
  153. package/dist/components/pagination/Pagination.d.ts +0 -5
  154. package/dist/components/pagination/Pagination.d.ts.map +0 -1
  155. package/dist/components/pagination/Pagination.test.d.ts +0 -2
  156. package/dist/components/pagination/Pagination.test.d.ts.map +0 -1
  157. package/dist/components/pagination/index.d.ts +0 -4
  158. package/dist/components/pagination/index.d.ts.map +0 -1
  159. package/dist/components/pagination/utils.d.ts +0 -6
  160. package/dist/components/pagination/utils.d.ts.map +0 -1
  161. package/dist/components/pagination/utils.test.d.ts +0 -2
  162. package/dist/components/pagination/utils.test.d.ts.map +0 -1
  163. package/dist/test/fixtures.d.ts +0 -4
  164. package/dist/test/fixtures.d.ts.map +0 -1
  165. package/dist/types/data-table.d.ts +0 -41
  166. package/dist/types/data-table.d.ts.map +0 -1
  167. package/dist/types/input-mask.d.ts +0 -17
  168. package/dist/types/input-mask.d.ts.map +0 -1
  169. package/dist/types/pagination.d.ts +0 -14
  170. package/dist/types/pagination.d.ts.map +0 -1
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- :root{--gsl-bg: #ffffff;--gsl-text: #3c4043;--gsl-text-secondary: #5f6368;--gsl-text-muted: #9ca3af;--gsl-border: #dadce0;--gsl-border-strong: #d1d5db;--gsl-hover: #f1f3f4;--gsl-surface-subtle: #fafafa;--gsl-page-bg: #f8f9fa;--gsl-primary: #dc2626;--gsl-primary-light: #fef2f2;--gsl-focus: var(--gsl-primary);--gsl-on-primary: #ffffff;--gsl-error: #dc2626;--gsl-error-text: #be123c;--gsl-error-bg: #fef2f2;--gsl-success: #16a34a;--gsl-warning: #eab308;--gsl-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--gsl-radius: 8px;--gsl-shadow-sm: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15);--gsl-shadow-md: 0 10px 24px rgba(60, 64, 67, .12);--gsl-shadow-lg: 0 20px 40px rgba(60, 64, 67, .18);--gsl-overlay: rgba(60, 64, 67, .45)}.gsl-app-switcher{--gsl-shadow: var(--gsl-shadow-sm);--gsl-item-size: 96px;--gsl-icon-size: 48px;color-scheme:light;position:relative;display:inline-block;font-family:var(--gsl-font)}.gsl-app-switcher__trigger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--gsl-text-secondary);cursor:pointer;transition:background-color .15s ease}.gsl-app-switcher__trigger:hover{background-color:var(--gsl-hover)}.gsl-app-switcher__trigger:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-app-switcher__panel{position:absolute;z-index:1000;min-width:320px;max-width:360px;padding:8px 0;background:var(--gsl-bg);border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);box-shadow:var(--gsl-shadow);opacity:0;transform:translateY(-4px);animation:gsl-panel-in .15s ease forwards}.gsl-app-switcher__panel--bottom-end{top:calc(100% + 8px);right:0}.gsl-app-switcher__panel--bottom-start{top:calc(100% + 8px);left:0}.gsl-app-switcher__panel--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);animation-name:gsl-panel-in-center}@keyframes gsl-panel-in{to{opacity:1;transform:translateY(0)}}@keyframes gsl-panel-in-center{to{opacity:1;transform:translate(-50%) translateY(0)}}.gsl-app-switcher__title{padding:8px 24px 4px;font-size:14px;font-weight:500;color:var(--gsl-text)}.gsl-app-switcher__grid{display:grid;grid-template-columns:repeat(var(--gsl-columns, 3),1fr);gap:0;padding:8px}.gsl-app-switcher__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:var(--gsl-item-size);height:var(--gsl-item-size);padding:8px;border:none;border-radius:var(--gsl-radius);background:transparent;color:var(--gsl-text);text-decoration:none;cursor:pointer;transition:background-color .15s ease;position:relative}.gsl-app-switcher__item:hover:not(:disabled):not(.gsl-app-switcher__item--disabled){background-color:var(--gsl-hover)}.gsl-app-switcher__item:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:-2px}.gsl-app-switcher__item--disabled{opacity:.4;cursor:not-allowed}.gsl-app-switcher__icon{display:flex;align-items:center;justify-content:center;width:var(--gsl-icon-size);height:var(--gsl-icon-size);flex-shrink:0}.gsl-app-switcher__icon-image{width:100%;height:100%;object-fit:contain;border-radius:4px}.gsl-app-switcher__icon-emoji{font-size:32px;line-height:1}.gsl-app-switcher__icon-initials{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--gsl-hover);color:var(--gsl-focus);font-size:16px;font-weight:600;letter-spacing:.02em}.gsl-app-switcher__status{padding:24px 16px;text-align:center;font-size:13px;color:var(--gsl-text-secondary)}.gsl-app-switcher__status--error{color:var(--gsl-error)}.gsl-app-switcher__name{font-size:12px;line-height:1.3;text-align:center;word-break:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gsl-app-switcher__badge{position:absolute;top:4px;right:4px;padding:1px 6px;font-size:10px;font-weight:500;color:var(--gsl-on-primary);background:var(--gsl-focus);border-radius:4px}.gsl-app-switcher__footer{padding:8px 16px;border-top:1px solid var(--gsl-border);text-align:center;font-size:13px;color:var(--gsl-text-secondary)}.gsl-app-switcher__footer a{color:var(--gsl-focus);text-decoration:none}.gsl-app-switcher__footer a:hover{text-decoration:underline}.gsl-dropdown{position:relative;display:block;min-width:0;width:100%;font-family:var(--gsl-font)}.gsl-dropdown__trigger{display:flex;align-items:center;width:100%;height:40px;padding:0 32px 0 12px;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background-color:var(--gsl-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%235f6368' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font-family:inherit;font-size:14px;line-height:1.4;color:var(--gsl-text);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.gsl-dropdown__trigger:hover:not(:disabled){border-color:var(--gsl-border-strong);background-color:var(--gsl-hover)}.gsl-dropdown__trigger--open{border-color:var(--gsl-primary);box-shadow:0 0 0 1px var(--gsl-primary)}.gsl-dropdown__trigger--placeholder{color:var(--gsl-text-secondary)}.gsl-dropdown__trigger:disabled{opacity:.6;cursor:not-allowed}.gsl-dropdown__trigger:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-dropdown__trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit}.gsl-dropdown__menu{position:fixed;margin:0;padding:4px 0;list-style:none;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background:var(--gsl-bg);box-shadow:var(--gsl-shadow-md);overflow-y:auto;font-family:inherit;font-size:14px;line-height:1.4}.gsl-dropdown__option{padding:10px 12px;font-size:14px;font-weight:400;color:var(--gsl-text);cursor:pointer;transition:background-color .12s ease}.gsl-dropdown__option:hover:not(.gsl-dropdown__option--disabled){background:var(--gsl-hover)}.gsl-dropdown__option--selected{background:var(--gsl-primary-light);font-weight:500}.gsl-dropdown__option--disabled{opacity:.5;cursor:not-allowed}.gsl-dropdown-menu{position:relative;display:inline-block;font-family:var(--gsl-font)}.gsl-dropdown-menu__trigger{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit}.gsl-dropdown-menu__trigger:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-dropdown-menu__panel{position:absolute;z-index:1000;min-width:180px;padding:4px 0;background:var(--gsl-bg);border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);box-shadow:var(--gsl-shadow-sm)}.gsl-dropdown-menu__panel--bottom-end{top:calc(100% + 4px);right:0}.gsl-dropdown-menu__panel--bottom-start{top:calc(100% + 4px);left:0}.gsl-dropdown-menu__panel--bottom{top:calc(100% + 4px);left:50%;transform:translate(-50%)}.gsl-dropdown-menu__item{display:block;width:100%;padding:10px 16px;border:none;background:transparent;font-family:inherit;font-size:14px;line-height:1.4;color:var(--gsl-text);text-align:left;text-decoration:none;cursor:pointer;transition:background-color .12s ease}.gsl-dropdown-menu__item:hover:not(:disabled):not(.gsl-dropdown-menu__item--disabled){background:var(--gsl-hover)}.gsl-dropdown-menu__item--destructive{color:var(--gsl-error)}.gsl-dropdown-menu__item--disabled{opacity:.5;cursor:not-allowed}.gsl-combobox{position:relative;display:block;min-width:0;width:100%;font-family:var(--gsl-font)}.gsl-combobox__control{position:relative;display:flex;align-items:center;width:100%}.gsl-combobox__control--open .gsl-combobox__input{border-color:var(--gsl-primary);box-shadow:0 0 0 1px var(--gsl-primary)}.gsl-combobox__input{width:100%;height:40px;padding:0 32px 0 12px;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background-color:var(--gsl-bg);font-family:inherit;font-size:14px;line-height:1.4;color:var(--gsl-text);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.gsl-combobox__control--clearable .gsl-combobox__input{padding-right:56px}.gsl-combobox__input:hover:not(:disabled){border-color:var(--gsl-border-strong);background-color:var(--gsl-hover)}.gsl-combobox__input--placeholder::placeholder{color:var(--gsl-text-secondary)}.gsl-combobox__input:disabled{opacity:.6;cursor:not-allowed}.gsl-combobox__input:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-combobox__clear{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--gsl-text-secondary);font-size:18px;line-height:1;cursor:pointer}.gsl-combobox__clear:hover{background:var(--gsl-hover);color:var(--gsl-text)}.gsl-combobox__clear:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-combobox__status{padding:10px 12px;font-size:14px;color:var(--gsl-text-secondary);cursor:default}.gsl-combobox__status--loading{display:flex;align-items:center;justify-content:center;padding:16px 12px}.gsl-combobox__spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--gsl-border);border-top-color:var(--gsl-primary);border-radius:50%;animation:gsl-combobox-spin .6s linear infinite}@keyframes gsl-combobox-spin{to{transform:rotate(360deg)}}.gsl-combobox__status--error{color:var(--gsl-error)}.gsl-bulk-import{--gsl-bulk-import-primary: var(--gsl-primary);--gsl-bulk-import-primary-light: var(--gsl-primary-light);--gsl-bulk-import-success: var(--gsl-success);--gsl-bulk-import-warning: var(--gsl-warning);--gsl-bulk-import-error-bg: var(--gsl-error-bg);--gsl-shadow: var(--gsl-shadow-lg);--gsl-radius: 12px;position:relative;color-scheme:light;font-family:var(--gsl-font);width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;background:var(--gsl-bg);border-radius:var(--gsl-radius);box-shadow:var(--gsl-shadow);overflow:hidden;animation:gsl-bulk-import-dialog-in .22s cubic-bezier(.4,0,.2,1) forwards}.gsl-bulk-import--closing{animation:gsl-bulk-import-dialog-out .18s ease forwards}.gsl-bulk-import__overlay{--gsl-bulk-import-gutter: 24px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--gsl-bulk-import-gutter);background:var(--gsl-overlay);animation:gsl-bulk-import-overlay-in .2s ease forwards}.gsl-bulk-import__overlay--closing{animation:gsl-bulk-import-overlay-out .18s ease forwards}@keyframes gsl-bulk-import-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes gsl-bulk-import-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes gsl-bulk-import-dialog-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes gsl-bulk-import-dialog-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes gsl-bulk-import-exit-confirm-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.gsl-bulk-import__close{position:absolute;top:18px;right:18px;z-index:2;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--gsl-text-secondary);font-size:24px;line-height:1;cursor:pointer}.gsl-bulk-import__close:hover{background:var(--gsl-hover)}.gsl-bulk-import__header{position:relative;flex-shrink:0;background:var(--gsl-hover);border-bottom:1px solid var(--gsl-border);padding:20px 64px 20px 56px}.gsl-bulk-import__stepper{position:relative}.gsl-bulk-import__stepper-list{display:flex;align-items:center;width:100%;gap:0;list-style:none;margin:0;padding:0}.gsl-bulk-import__stepper-item{display:flex;flex:1;flex-direction:row;align-items:center;gap:10px;min-width:0;color:var(--gsl-text-secondary);font-size:14px}.gsl-bulk-import__stepper-item:last-child{flex:0 0 auto}.gsl-bulk-import__stepper-marker{position:relative;z-index:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--gsl-bg);border:2px solid var(--gsl-border);color:var(--gsl-text-secondary);font-size:12px;font-weight:600;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}.gsl-bulk-import__stepper-item--active .gsl-bulk-import__stepper-marker{border-color:var(--gsl-bulk-import-success);color:var(--gsl-bulk-import-success);transition:border-color .3s ease,color .3s ease,background .3s ease}.gsl-bulk-import__stepper-number{transition:opacity .2s ease,transform .2s ease}.gsl-bulk-import__stepper-number--hidden{position:absolute;pointer-events:none;opacity:0;transform:scale(.6)}.gsl-bulk-import__stepper-item--complete .gsl-bulk-import__stepper-marker{border-color:var(--gsl-bulk-import-success);background:var(--gsl-bulk-import-success);color:var(--gsl-on-primary);animation:gsl-bulk-import-check-pop .3s ease}.gsl-bulk-import__stepper-check{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.gsl-bulk-import__stepper-check path{stroke-dasharray:16;stroke-dashoffset:16;animation:gsl-bulk-import-check-draw .35s ease .15s forwards}.gsl-bulk-import__stepper-label{flex-shrink:0;line-height:1.3;white-space:nowrap}.gsl-bulk-import__stepper-connector{position:relative;flex:1;min-width:24px;height:2px;margin-right:10px}.gsl-bulk-import__stepper-connector-track,.gsl-bulk-import__stepper-connector-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1px}.gsl-bulk-import__stepper-connector-track{background:var(--gsl-border)}.gsl-bulk-import__stepper-connector-fill{background:var(--gsl-bulk-import-success);transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.4,0,.2,1)}.gsl-bulk-import__stepper-connector-fill--visible{transform:scaleX(1)}.gsl-bulk-import__stepper-item--active .gsl-bulk-import__stepper-label,.gsl-bulk-import__stepper-item--complete .gsl-bulk-import__stepper-label{color:var(--gsl-text)}@keyframes gsl-bulk-import-check-pop{0%{transform:scale(.85)}to{transform:scale(1)}}@keyframes gsl-bulk-import-check-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.gsl-bulk-import__stepper-marker,.gsl-bulk-import__stepper-number,.gsl-bulk-import__stepper-connector-fill{transition:none}.gsl-bulk-import__stepper-number--hidden{opacity:0;transform:none}.gsl-bulk-import__stepper-connector-fill--visible{transform:scaleX(1)}.gsl-bulk-import__stepper-item--complete .gsl-bulk-import__stepper-marker{animation:none}.gsl-bulk-import__stepper-check path{animation:none;stroke-dashoffset:0}.gsl-bulk-import__mapping-status--complete{animation:none}.gsl-bulk-import__mapping-status-check path{animation:none;stroke-dashoffset:0}.gsl-bulk-import__overlay,.gsl-bulk-import__overlay--closing,.gsl-bulk-import,.gsl-bulk-import--closing,.gsl-bulk-import__exit-confirm-overlay,.gsl-bulk-import__exit-confirm{animation:none}}.gsl-bulk-import__body{flex:1;min-height:0;padding:0 32px 24px;overflow:auto}.gsl-bulk-import__body--upload{display:flex;flex-direction:column;padding-top:32px}.gsl-bulk-import__body--upload .gsl-bulk-import__step--upload{flex:1;min-height:0}.gsl-bulk-import__step--upload{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__body--header{display:flex;flex-direction:column;padding-top:32px;overflow:hidden}.gsl-bulk-import__body--header .gsl-bulk-import__step--header{flex:1;min-height:0}.gsl-bulk-import__step--header{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__step-note{margin:-16px 0 24px;font-size:14px;color:var(--gsl-text-secondary)}.gsl-bulk-import__step--header .gsl-bulk-import__step-title,.gsl-bulk-import__step--header .gsl-bulk-import__step-note{flex-shrink:0}.gsl-bulk-import__step--header .gsl-bulk-import__table-wrap--header{flex:1;min-height:0;max-height:none}.gsl-bulk-import__body--match{display:flex;flex-direction:column;padding-top:32px;overflow:hidden}.gsl-bulk-import__body--match .gsl-bulk-import__step--match{flex:1;min-height:0}.gsl-bulk-import__step--match{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__step--match .gsl-bulk-import__step-title{flex-shrink:0}.gsl-bulk-import__body--validate{display:flex;flex-direction:column;padding-top:32px;overflow:hidden}.gsl-bulk-import__body--validate .gsl-bulk-import__step--validate{flex:1;min-height:0}.gsl-bulk-import__step--validate{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__step--validate .gsl-bulk-import__step-title{flex-shrink:0}.gsl-bulk-import__validate-board{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--gsl-border);border-radius:8px;overflow:hidden;background:var(--gsl-bg)}.gsl-bulk-import__step--validate .gsl-bulk-import__table-wrap--validate{flex:1;min-height:0;max-height:none;overflow:auto;border:none;border-radius:0}.gsl-bulk-import__match-layout{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.gsl-bulk-import__match-board{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--gsl-border);border-radius:8px;background:var(--gsl-bg);overflow:hidden}.gsl-bulk-import__match-board>.gsl-bulk-import__match-heading{padding:16px 16px 0}.gsl-bulk-import__match-board>.gsl-bulk-import__match-heading--target{margin-top:0;padding:20px 16px 0;border-top:1px solid var(--gsl-border)}.gsl-bulk-import__match-scroll{overflow-x:hidden;overflow-y:hidden;flex-shrink:0}.gsl-bulk-import__match-scroll--target{flex:1;min-height:0;padding-bottom:16px}.gsl-bulk-import__match-track{display:flex;gap:0;width:100%}.gsl-bulk-import__match-track--source{border-bottom:1px solid var(--gsl-border)}.gsl-bulk-import__match-column{flex:1 1 0;min-width:0;padding:16px;border-right:1px solid var(--gsl-border)}.gsl-bulk-import__match-column:last-child{border-right:none}.gsl-bulk-import__step-title{margin:0 0 24px;font-size:28px;font-weight:700;color:var(--gsl-text)}.gsl-bulk-import__expected{margin-bottom:24px}.gsl-bulk-import__step--upload .gsl-bulk-import__expected{flex-shrink:0;margin-bottom:32px}.gsl-bulk-import__expected-title{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--gsl-text)}.gsl-bulk-import__expected-note{margin:0 0 20px;font-size:14px;color:var(--gsl-text-secondary)}.gsl-bulk-import__expected-table-wrap{overflow:auto;border:1px solid var(--gsl-border);border-radius:8px;background:var(--gsl-bg)}.gsl-bulk-import__expected-table{width:100%;border-collapse:collapse;font-size:13px}.gsl-bulk-import__expected-table th,.gsl-bulk-import__expected-table td{padding:14px 20px;border-bottom:1px solid var(--gsl-border);text-align:left;white-space:nowrap}.gsl-bulk-import__expected-table tbody tr:last-child td{border-bottom:none}.gsl-bulk-import__expected-table th{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gsl-text-secondary)}.gsl-bulk-import__expected-table td{color:var(--gsl-text-muted)}.gsl-bulk-import__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:220px;padding:32px;border:2px dashed var(--gsl-bulk-import-primary);border-radius:var(--gsl-radius);background:var(--gsl-surface-subtle)}.gsl-bulk-import__step--upload .gsl-bulk-import__dropzone{flex:1;min-height:280px;margin-top:auto}.gsl-bulk-import__file-input{display:none}.gsl-bulk-import__dropzone-title{margin:0;font-size:16px;color:var(--gsl-text)}.gsl-bulk-import__select-file{min-width:140px;cursor:pointer}.gsl-bulk-import__file-name{margin:12px 0 0;font-size:13px;color:var(--gsl-text-secondary)}.gsl-bulk-import__error{margin:12px 0 0;color:var(--gsl-error);font-size:13px}.gsl-bulk-import__table-wrap{overflow:auto;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius)}.gsl-bulk-import__table-wrap--header tbody tr{cursor:pointer}.gsl-bulk-import__table-wrap--header tbody tr:not(.gsl-bulk-import__table-row--selected):hover{background:var(--gsl-hover)}.gsl-bulk-import__table{width:100%;border-collapse:collapse;font-size:13px}.gsl-bulk-import__table td,.gsl-bulk-import__table th{padding:10px 12px;border-bottom:1px solid var(--gsl-border);text-align:left;vertical-align:middle}.gsl-bulk-import__radio-cell,.gsl-bulk-import__checkbox-cell{width:44px;text-align:center}.gsl-bulk-import__radio,.gsl-bulk-import__checkbox-cell input{width:16px;height:16px;accent-color:var(--gsl-bulk-import-primary)}.gsl-bulk-import__table-row--selected{background:var(--gsl-bulk-import-primary-light)}.gsl-bulk-import__match-heading{margin:0 0 12px;font-size:18px;font-weight:700;color:var(--gsl-text);flex-shrink:0}.gsl-bulk-import__source-column-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--gsl-border)}.gsl-bulk-import__source-column-label{font-size:14px;font-weight:600;color:var(--gsl-text);line-height:1.3}.gsl-bulk-import__exclude-column{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--gsl-border);border-radius:50%;background:var(--gsl-bg);color:var(--gsl-text-secondary);font-size:14px;line-height:1;cursor:pointer}.gsl-bulk-import__exclude-column:hover{background:var(--gsl-hover)}.gsl-bulk-import__source-column-preview{display:flex;flex-direction:column;gap:8px}.gsl-bulk-import__source-column-preview-row{min-height:20px;color:var(--gsl-text-muted);font-size:13px;line-height:1.4}.gsl-bulk-import__target-column-control{display:flex;align-items:center;gap:8px}.gsl-bulk-import__mapping-status{flex-shrink:0;width:20px;height:20px;border-radius:50%}.gsl-bulk-import__mapping-status--complete{display:inline-flex;align-items:center;justify-content:center;background:var(--gsl-bulk-import-success);color:var(--gsl-on-primary);animation:gsl-bulk-import-check-pop .3s ease}.gsl-bulk-import__mapping-status-check{display:block}.gsl-bulk-import__mapping-status-check path{stroke-dasharray:12;stroke-dashoffset:12;animation:gsl-bulk-import-check-draw .3s ease .12s forwards}.gsl-bulk-import__mapping-status--pending{border:2px solid var(--gsl-warning);background:var(--gsl-bg);transition:border-color .2s ease,background-color .2s ease}.gsl-bulk-import__target-column-control .gsl-dropdown{flex:1;min-width:0}.gsl-bulk-import__validate-toolbar{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-bottom:16px}.gsl-bulk-import__validate-empty{display:flex;flex:1;align-items:center;justify-content:center;margin:0;padding:32px;font-size:14px;color:var(--gsl-text-secondary);text-align:center}.gsl-bulk-import__switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.gsl-bulk-import__switch-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gsl-bulk-import__switch-track{position:relative;flex-shrink:0;width:44px;height:24px;border-radius:999px;background:var(--gsl-border-strong);transition:background-color .15s ease}.gsl-bulk-import__switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--gsl-bg);box-shadow:var(--gsl-shadow-sm);transition:transform .15s ease}.gsl-bulk-import__switch-input:checked+.gsl-bulk-import__switch-track{background:var(--gsl-bulk-import-primary)}.gsl-bulk-import__switch-input:checked+.gsl-bulk-import__switch-track .gsl-bulk-import__switch-thumb{transform:translate(20px)}.gsl-bulk-import__switch-input:focus-visible+.gsl-bulk-import__switch-track{outline:2px solid var(--gsl-bulk-import-primary);outline-offset:2px}.gsl-bulk-import__switch-label{font-size:13px;color:var(--gsl-text-secondary)}.gsl-bulk-import__table--validate th{position:sticky;top:0;z-index:1;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gsl-text-secondary);background:var(--gsl-surface-subtle)}.gsl-bulk-import__table--validate tbody tr{height:44px}.gsl-bulk-import__table--validate tbody td:not(.gsl-bulk-import__checkbox-cell){padding:0;vertical-align:top;height:44px}.gsl-bulk-import__table--validate .gsl-bulk-import__checkbox-cell{vertical-align:middle}.gsl-bulk-import__table--validate tbody tr:not(.gsl-bulk-import__table-row--selected):hover{background:var(--gsl-hover)}.gsl-bulk-import__table--validate tbody tr.gsl-bulk-import__table-row--selected{background:var(--gsl-bulk-import-primary-light)}.gsl-bulk-import__table--validate tbody tr:not(.gsl-bulk-import__table-row--selected):hover .gsl-bulk-import__cell--error{background:var(--gsl-bulk-import-error-bg)}.gsl-bulk-import__cell--error{position:relative;background:var(--gsl-bulk-import-error-bg)}.gsl-bulk-import__cell-input{display:block;width:100%;height:100%;min-height:0;padding:10px 12px;box-sizing:border-box;border:none;border-radius:0;background:transparent;font:inherit;color:var(--gsl-text)}.gsl-bulk-import__cell--error .gsl-bulk-import__cell-input,.gsl-bulk-import__cell-input--error{background:var(--gsl-bulk-import-error-bg)}.gsl-bulk-import__cell-input:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--gsl-bulk-import-primary)}.gsl-bulk-import__cell-error-tooltip{position:absolute;z-index:2;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);width:max-content;max-width:min(240px,90vw);padding:6px 10px;border-radius:6px;background:var(--gsl-text);color:var(--gsl-on-primary);font-size:11px;line-height:1.35;text-align:center;white-space:normal;box-shadow:var(--gsl-shadow-sm);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}.gsl-bulk-import__cell-error-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--gsl-text)}.gsl-bulk-import__cell--error:hover .gsl-bulk-import__cell-error-tooltip{opacity:1;visibility:visible}.gsl-bulk-import__exit-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--gsl-overlay);animation:gsl-bulk-import-overlay-in .15s ease forwards}.gsl-bulk-import__exit-confirm{width:100%;max-width:480px;padding:28px 32px 24px;border:1px solid var(--gsl-border);border-radius:12px;background:var(--gsl-bg);box-shadow:var(--gsl-shadow-lg);animation:gsl-bulk-import-exit-confirm-in .18s cubic-bezier(.4,0,.2,1) forwards}.gsl-bulk-import__exit-confirm-title{margin:0 0 12px;font-size:18px;font-weight:700;color:var(--gsl-text);text-align:left}.gsl-bulk-import__exit-confirm-message{margin:0 0 28px;font-size:14px;line-height:1.5;color:var(--gsl-text-secondary);text-align:left}.gsl-bulk-import__exit-confirm-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px}.gsl-bulk-import__footer{flex-shrink:0;display:flex;justify-content:center;padding:8px 32px 28px}.gsl-bulk-import__footer-action{min-width:280px;padding:12px 24px;font-size:15px;font-weight:600}.gsl-bulk-import__button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:1px solid var(--gsl-border);border-radius:8px;background:var(--gsl-bg);color:var(--gsl-text);font-size:14px;cursor:pointer}.gsl-bulk-import__button:disabled{opacity:.5;cursor:not-allowed}.gsl-bulk-import__button--primary{border-color:var(--gsl-bulk-import-primary);background:var(--gsl-bulk-import-primary);color:var(--gsl-on-primary)}.gsl-bulk-import__button--ghost{border:none;background:transparent;padding:8px 12px;font-weight:600;color:var(--gsl-text)}.gsl-bulk-import__button--ghost:hover:not(:disabled){background:var(--gsl-hover)}.gsl-bulk-import__button--outline{border-color:var(--gsl-bulk-import-primary);color:var(--gsl-bulk-import-primary);background:var(--gsl-bg)}.gsl-bulk-import__button--outline:hover:not(:disabled){background:var(--gsl-bulk-import-primary-light)}.gsl-bulk-import__button--primary:hover:not(:disabled){filter:brightness(.95)}.gsl-bulk-import__button:focus-visible,.gsl-bulk-import__close:focus-visible,.gsl-bulk-import__exclude-column:focus-visible,.gsl-bulk-import__radio:focus-visible{outline:2px solid var(--gsl-bulk-import-primary);outline-offset:2px}.gsl-bulk-import__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){.gsl-bulk-import__overlay{--gsl-bulk-import-gutter: 16px;padding:var(--gsl-bulk-import-gutter)}.gsl-bulk-import__header{padding:16px 48px 16px 24px}.gsl-bulk-import__stepper-label{font-size:11px}.gsl-bulk-import__body{padding:0 20px 20px}.gsl-bulk-import__validate-toolbar{flex-wrap:wrap}.gsl-bulk-import__footer-action{width:100%;min-width:0}}.gsl-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--gsl-font);font-size:14px;color:var(--gsl-text-secondary)}.gsl-pagination__meta{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap}.gsl-pagination__summary{color:var(--gsl-text-secondary)}.gsl-pagination__page-size{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--gsl-text-secondary)}.gsl-pagination__page-size-dropdown{width:72px}.gsl-pagination__controls{display:inline-flex;align-items:center;gap:8px}.gsl-pagination__button{height:36px;padding:0 12px;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background:var(--gsl-bg);font-family:inherit;font-size:14px;color:var(--gsl-text);cursor:pointer}.gsl-pagination__button:hover:not(:disabled){background:var(--gsl-hover)}.gsl-pagination__button:disabled{opacity:.5;cursor:not-allowed}.gsl-pagination__button:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-pagination__page-indicator{min-width:88px;text-align:center;color:var(--gsl-text)}.gsl-data-table{display:flex;flex-direction:column;gap:12px;width:100%;font-family:var(--gsl-font);color:var(--gsl-text)}.gsl-data-table__table-wrap{overflow-x:auto;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background:var(--gsl-bg)}.gsl-data-table__table{width:100%;border-collapse:collapse;font-size:14px}.gsl-data-table__table th,.gsl-data-table__table td{padding:12px 16px;border-bottom:1px solid var(--gsl-border);text-align:left;vertical-align:middle}.gsl-data-table__table thead th{background:var(--gsl-surface-subtle);color:var(--gsl-text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.gsl-data-table__table tbody tr:last-child td{border-bottom:none}.gsl-data-table__header-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer}.gsl-data-table__header-button:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-data-table__sort-indicator{font-size:10px;color:var(--gsl-text-muted)}.gsl-data-table__row--clickable{cursor:pointer}.gsl-data-table__row--clickable:hover{background:var(--gsl-hover)}.gsl-data-table__empty,.gsl-data-table__status{padding:24px 16px;text-align:center;color:var(--gsl-text-secondary)}.gsl-data-table__status--error{color:var(--gsl-error)}.gsl-data-table__loading{display:flex;align-items:center;justify-content:center;padding:32px 16px}.gsl-data-table__spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--gsl-border);border-top-color:var(--gsl-primary);border-radius:50%;animation:gsl-data-table-spin .6s linear infinite}@keyframes gsl-data-table-spin{to{transform:rotate(360deg)}}.gsl-input-mask{position:relative;display:block;min-width:0;width:100%;font-family:var(--gsl-font)}.gsl-input-mask__input{width:100%;height:40px;padding:0 12px;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background-color:var(--gsl-bg);font-family:inherit;font-size:14px;line-height:1.4;color:var(--gsl-text);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.gsl-input-mask__input:hover:not(:disabled){border-color:var(--gsl-border-strong);background-color:var(--gsl-hover)}.gsl-input-mask__input::placeholder{color:var(--gsl-text-secondary)}.gsl-input-mask__input:disabled{opacity:.6;cursor:not-allowed}.gsl-input-mask__input:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px;border-color:var(--gsl-primary);box-shadow:0 0 0 1px var(--gsl-primary)}
1
+ .gsl-theme{color-scheme:light dark}:root,.gsl-theme{--gsl-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--gsl-radius: 8px;--gsl-shadow-sm: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15);--gsl-shadow-md: 0 10px 24px rgba(60, 64, 67, .12);--gsl-shadow-lg: 0 20px 40px rgba(60, 64, 67, .18);--gsl-z-popover: 1000;--gsl-z-overlay: 1100;--gsl-z-modal: 1101;--gsl-z-select: 1200;--gsl-z-alert: 1200;--gsl-z-alert-content: 1201}:root,:root[data-gsl-theme=light],.gsl-theme[data-gsl-theme=light]{--gsl-bg: #ffffff;--gsl-text: #3c4043;--gsl-text-secondary: #5f6368;--gsl-text-muted: #9ca3af;--gsl-border: #dadce0;--gsl-border-strong: #d1d5db;--gsl-hover: #f1f3f4;--gsl-surface-subtle: #fafafa;--gsl-page-bg: #f8f9fa;--gsl-primary: #dc2626;--gsl-primary-light: #fef2f2;--gsl-focus: var(--gsl-primary);--gsl-on-primary: #ffffff;--gsl-error: #dc2626;--gsl-error-text: #be123c;--gsl-error-bg: #fef2f2;--gsl-success: #16a34a;--gsl-warning: #eab308;--gsl-overlay: rgba(60, 64, 67, .45)}:root[data-gsl-theme=dark],.gsl-theme[data-gsl-theme=dark]{--gsl-bg: #1f1f1f;--gsl-text: #e8eaed;--gsl-text-secondary: #9aa0a6;--gsl-text-muted: #80868b;--gsl-border: #3c4043;--gsl-border-strong: #5f6368;--gsl-hover: #2d2e31;--gsl-surface-subtle: #282828;--gsl-page-bg: #141414;--gsl-primary: #ef4444;--gsl-primary-light: #3f1515;--gsl-focus: var(--gsl-primary);--gsl-on-primary: #ffffff;--gsl-error: #f87171;--gsl-error-text: #fca5a5;--gsl-error-bg: #3f1515;--gsl-success: #4ade80;--gsl-warning: #facc15;--gsl-overlay: rgba(0, 0, 0, .6)}.gsl-app-switcher{--gsl-shadow: var(--gsl-shadow-sm);--gsl-item-size: 80px;--gsl-icon-size: 32px;position:relative;display:inline-block;font-family:var(--gsl-font)}.gsl-app-switcher__trigger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--gsl-text-secondary);cursor:pointer;transition:background-color .15s ease}.gsl-app-switcher__trigger:hover{background-color:var(--gsl-hover)}.gsl-app-switcher__trigger:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-app-switcher__panel{z-index:var(--gsl-z-popover);min-width:320px;max-width:360px;padding:8px 0;background:var(--gsl-bg);border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);box-shadow:var(--gsl-shadow);opacity:0;transform:translateY(-4px)}.gsl-app-switcher__panel[data-state=open]{animation:gsl-panel-in .15s ease forwards}.gsl-app-switcher__panel[data-state=closed]{animation:gsl-panel-out .1s ease forwards}@keyframes gsl-panel-in{to{opacity:1;transform:translateY(0)}}@keyframes gsl-panel-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.gsl-app-switcher__title{padding:8px 24px 4px;font-size:14px;font-weight:500;color:var(--gsl-text)}.gsl-app-switcher__grid{display:grid;grid-template-columns:repeat(var(--gsl-columns, 3),1fr);gap:0;padding:8px}.gsl-app-switcher__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:var(--gsl-item-size);height:var(--gsl-item-size);padding:8px;border:none;border-radius:var(--gsl-radius);background:transparent;color:var(--gsl-text);text-decoration:none;cursor:pointer;transition:background-color .15s ease;position:relative}.gsl-app-switcher__item:hover:not(:disabled):not(.gsl-app-switcher__item--disabled){background-color:var(--gsl-hover)}.gsl-app-switcher__item:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:-2px}.gsl-app-switcher__item--disabled{opacity:.4;cursor:not-allowed}.gsl-app-switcher__icon{display:flex;align-items:center;justify-content:center;width:var(--gsl-icon-size);height:var(--gsl-icon-size);flex-shrink:0;overflow:hidden;border-radius:50%;background:var(--gsl-hover)}.gsl-app-switcher__icon-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.gsl-app-switcher__icon-emoji{font-size:18px;line-height:1}.gsl-app-switcher__icon-initials{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--gsl-hover);color:var(--gsl-focus);font-size:12px;font-weight:600;letter-spacing:.02em}.gsl-app-switcher__status{padding:24px 16px;text-align:center;font-size:13px;color:var(--gsl-text-secondary)}.gsl-app-switcher__status--error{color:var(--gsl-error)}.gsl-app-switcher__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 16px;color:var(--gsl-text-secondary)}.gsl-app-switcher__loading-text{font-size:13px}.gsl-app-switcher__spinner{animation:gsl-app-switcher-spin .8s linear infinite}@keyframes gsl-app-switcher-spin{to{transform:rotate(360deg)}}.gsl-app-switcher__name{font-size:12px;line-height:1.3;text-align:center;word-break:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gsl-app-switcher__badge{position:absolute;top:4px;right:4px;padding:1px 6px;font-size:10px;font-weight:500;color:var(--gsl-on-primary);background:var(--gsl-focus);border-radius:4px}.gsl-app-switcher__footer{padding:8px 16px;border-top:1px solid var(--gsl-border);text-align:center;font-size:13px;color:var(--gsl-text-secondary)}.gsl-app-switcher__footer a{color:var(--gsl-focus);text-decoration:none}.gsl-app-switcher__footer a:hover{text-decoration:underline}.gsl-dropdown{position:relative;display:block;min-width:0;width:100%;font-family:var(--gsl-font)}.gsl-dropdown__trigger{position:relative;display:flex;align-items:center;width:100%;height:40px;padding:0 32px 0 12px;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background-color:var(--gsl-bg);font-family:inherit;font-size:14px;line-height:1.4;color:var(--gsl-text);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.gsl-dropdown__trigger:hover:not(:disabled){border-color:var(--gsl-border-strong);background-color:var(--gsl-hover)}.gsl-dropdown__trigger[data-state=open]{border-color:var(--gsl-primary);box-shadow:0 0 0 1px var(--gsl-primary)}.gsl-dropdown__trigger--placeholder{color:var(--gsl-text-secondary)}.gsl-dropdown__trigger:disabled{opacity:.6;cursor:not-allowed}.gsl-dropdown__trigger:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-dropdown__trigger-icon{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--gsl-text-secondary);pointer-events:none;transition:transform .15s ease}.gsl-dropdown__trigger-icon[data-state=open]{transform:rotate(180deg)}.gsl-dropdown__menu{z-index:var(--gsl-z-select);margin:0;padding:4px 0;list-style:none;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background:var(--gsl-bg);box-shadow:var(--gsl-shadow-md);overflow:hidden;font-family:inherit;font-size:14px;line-height:1.4;min-width:var(--radix-select-trigger-width);max-height:240px}.gsl-dropdown__option{padding:10px 12px;font-size:14px;font-weight:400;color:var(--gsl-text);cursor:pointer;transition:background-color .12s ease;outline:none}.gsl-dropdown__option[data-highlighted]{background:var(--gsl-hover)}.gsl-dropdown__option[data-state=checked]{background:var(--gsl-primary-light);font-weight:500}.gsl-dropdown__option[data-disabled]{opacity:.5;cursor:not-allowed}.gsl-bulk-import{--gsl-bulk-import-primary: var(--gsl-primary);--gsl-bulk-import-primary-light: var(--gsl-primary-light);--gsl-bulk-import-success: var(--gsl-success);--gsl-bulk-import-warning: var(--gsl-warning);--gsl-bulk-import-error-bg: var(--gsl-error-bg);--gsl-bulk-import-gutter: 24px;--gsl-shadow: var(--gsl-shadow-lg);--gsl-radius: 12px;position:fixed;z-index:var(--gsl-z-modal);inset:var(--gsl-bulk-import-gutter);font-family:var(--gsl-font);width:auto;height:auto;max-width:none;max-height:none;display:flex;flex-direction:column;background:var(--gsl-bg);border-radius:var(--gsl-radius);box-shadow:var(--gsl-shadow);overflow:hidden}.gsl-bulk-import[data-state=open]{animation:gsl-bulk-import-dialog-in .22s cubic-bezier(.4,0,.2,1) forwards}.gsl-bulk-import[data-state=closed]{animation:gsl-bulk-import-dialog-out .18s ease forwards}.gsl-bulk-import__dialog-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gsl-bulk-import__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--gsl-z-overlay);background:var(--gsl-overlay)}.gsl-bulk-import__overlay[data-state=open]{animation:gsl-bulk-import-overlay-in .2s ease forwards}.gsl-bulk-import__overlay[data-state=closed]{animation:gsl-bulk-import-overlay-out .18s ease forwards}@keyframes gsl-bulk-import-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes gsl-bulk-import-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes gsl-bulk-import-dialog-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes gsl-bulk-import-dialog-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes gsl-bulk-import-exit-confirm-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.gsl-bulk-import__close{position:absolute;top:18px;right:18px;z-index:2;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--gsl-text-secondary);font-size:24px;line-height:1;cursor:pointer}.gsl-bulk-import__close:hover{background:var(--gsl-hover)}.gsl-bulk-import__header{position:relative;flex-shrink:0;background:var(--gsl-hover);border-bottom:1px solid var(--gsl-border);padding:20px 64px 20px 56px}.gsl-bulk-import__stepper{position:relative}.gsl-bulk-import__stepper-list{display:flex;align-items:center;width:100%;gap:0;list-style:none;margin:0;padding:0}.gsl-bulk-import__stepper-item{display:flex;flex:1;flex-direction:row;align-items:center;gap:10px;min-width:0;color:var(--gsl-text-secondary);font-size:14px}.gsl-bulk-import__stepper-item:last-child{flex:0 0 auto}.gsl-bulk-import__stepper-marker{position:relative;z-index:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--gsl-bg);border:2px solid var(--gsl-border);color:var(--gsl-text-secondary);font-size:12px;font-weight:600;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}.gsl-bulk-import__stepper-item--active .gsl-bulk-import__stepper-marker{border-color:var(--gsl-bulk-import-success);color:var(--gsl-bulk-import-success);transition:border-color .3s ease,color .3s ease,background .3s ease}.gsl-bulk-import__stepper-number{transition:opacity .2s ease,transform .2s ease}.gsl-bulk-import__stepper-number--hidden{position:absolute;pointer-events:none;opacity:0;transform:scale(.6)}.gsl-bulk-import__stepper-item--complete .gsl-bulk-import__stepper-marker{border-color:var(--gsl-bulk-import-success);background:var(--gsl-bulk-import-success);color:var(--gsl-on-primary);animation:gsl-bulk-import-check-pop .3s ease}.gsl-bulk-import__stepper-check{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.gsl-bulk-import__stepper-check path{stroke-dasharray:16;stroke-dashoffset:16;animation:gsl-bulk-import-check-draw .35s ease .15s forwards}.gsl-bulk-import__stepper-label{flex-shrink:0;line-height:1.3;white-space:nowrap}.gsl-bulk-import__stepper-connector{position:relative;flex:1;min-width:24px;height:2px;margin-right:10px}.gsl-bulk-import__stepper-connector-track,.gsl-bulk-import__stepper-connector-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1px}.gsl-bulk-import__stepper-connector-track{background:var(--gsl-border)}.gsl-bulk-import__stepper-connector-fill{background:var(--gsl-bulk-import-success);transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.4,0,.2,1)}.gsl-bulk-import__stepper-connector-fill--visible{transform:scaleX(1)}.gsl-bulk-import__stepper-item--active .gsl-bulk-import__stepper-label,.gsl-bulk-import__stepper-item--complete .gsl-bulk-import__stepper-label{color:var(--gsl-text)}@keyframes gsl-bulk-import-check-pop{0%{transform:scale(.85)}to{transform:scale(1)}}@keyframes gsl-bulk-import-check-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.gsl-bulk-import__stepper-marker,.gsl-bulk-import__stepper-number,.gsl-bulk-import__stepper-connector-fill{transition:none}.gsl-bulk-import__stepper-number--hidden{opacity:0;transform:none}.gsl-bulk-import__stepper-connector-fill--visible{transform:scaleX(1)}.gsl-bulk-import__stepper-item--complete .gsl-bulk-import__stepper-marker{animation:none}.gsl-bulk-import__stepper-check path{animation:none;stroke-dashoffset:0}.gsl-bulk-import__mapping-status--complete{animation:none}.gsl-bulk-import__mapping-status-check path{animation:none;stroke-dashoffset:0}.gsl-bulk-import__overlay,.gsl-bulk-import__overlay[data-state=open],.gsl-bulk-import__overlay[data-state=closed],.gsl-bulk-import,.gsl-bulk-import[data-state=open],.gsl-bulk-import[data-state=closed],.gsl-bulk-import__exit-confirm-overlay,.gsl-bulk-import__exit-confirm{animation:none}}.gsl-bulk-import__body{flex:1;min-height:0;padding:0 32px 24px;overflow:auto}.gsl-bulk-import__body--upload{display:flex;flex-direction:column;padding-top:32px}.gsl-bulk-import__body--upload .gsl-bulk-import__step--upload{flex:1;min-height:0}.gsl-bulk-import__step--upload{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__body--header{display:flex;flex-direction:column;padding-top:32px;overflow:hidden}.gsl-bulk-import__body--header .gsl-bulk-import__step--header{flex:1;min-height:0}.gsl-bulk-import__step--header{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__step-note{margin:-16px 0 24px;font-size:14px;color:var(--gsl-text-secondary)}.gsl-bulk-import__step--header .gsl-bulk-import__step-title,.gsl-bulk-import__step--header .gsl-bulk-import__step-note{flex-shrink:0}.gsl-bulk-import__step--header .gsl-bulk-import__table-wrap--header{flex:1;min-height:0;max-height:none}.gsl-bulk-import__body--match{display:flex;flex-direction:column;padding-top:32px;overflow:hidden}.gsl-bulk-import__body--match .gsl-bulk-import__step--match{flex:1;min-height:0}.gsl-bulk-import__step--match{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__step--match .gsl-bulk-import__step-title{flex-shrink:0}.gsl-bulk-import__body--validate{display:flex;flex-direction:column;padding-top:32px;overflow:hidden}.gsl-bulk-import__body--validate .gsl-bulk-import__step--validate{flex:1;min-height:0}.gsl-bulk-import__step--validate{display:flex;flex-direction:column;min-height:100%;gap:0}.gsl-bulk-import__step--validate .gsl-bulk-import__step-title{flex-shrink:0}.gsl-bulk-import__validate-board{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--gsl-border);border-radius:8px;overflow:hidden;background:var(--gsl-bg)}.gsl-bulk-import__step--validate .gsl-bulk-import__table-wrap--validate{flex:1;min-height:0;max-height:none;overflow:auto;border:none;border-radius:0}.gsl-bulk-import__match-layout{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.gsl-bulk-import__match-board{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--gsl-border);border-radius:8px;background:var(--gsl-bg);overflow:hidden}.gsl-bulk-import__match-board>.gsl-bulk-import__match-heading{padding:16px 16px 0}.gsl-bulk-import__match-board>.gsl-bulk-import__match-heading--target{margin-top:0;padding:20px 16px 0;border-top:1px solid var(--gsl-border)}.gsl-bulk-import__match-scroll{overflow-x:hidden;overflow-y:hidden;flex-shrink:0}.gsl-bulk-import__match-scroll--target{flex:1;min-height:0;padding-bottom:16px}.gsl-bulk-import__match-track{display:flex;gap:0;width:100%}.gsl-bulk-import__match-track--source{border-bottom:1px solid var(--gsl-border)}.gsl-bulk-import__match-column{flex:1 1 0;min-width:0;padding:16px;border-right:1px solid var(--gsl-border)}.gsl-bulk-import__match-column:last-child{border-right:none}.gsl-bulk-import__step-title{margin:0 0 24px;font-size:28px;font-weight:700;color:var(--gsl-text)}.gsl-bulk-import__expected{margin-bottom:24px}.gsl-bulk-import__step--upload .gsl-bulk-import__expected{flex-shrink:0;margin-bottom:32px}.gsl-bulk-import__expected-title{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--gsl-text)}.gsl-bulk-import__expected-note{margin:0 0 20px;font-size:14px;color:var(--gsl-text-secondary)}.gsl-bulk-import__expected-table-wrap{overflow:auto;border:1px solid var(--gsl-border);border-radius:8px;background:var(--gsl-bg)}.gsl-bulk-import__expected-table{width:100%;border-collapse:collapse;font-size:13px}.gsl-bulk-import__expected-table th,.gsl-bulk-import__expected-table td{padding:14px 20px;border-bottom:1px solid var(--gsl-border);text-align:left;white-space:nowrap}.gsl-bulk-import__expected-table tbody tr:last-child td{border-bottom:none}.gsl-bulk-import__expected-table th{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gsl-text-secondary)}.gsl-bulk-import__expected-table td{color:var(--gsl-text-muted)}.gsl-bulk-import__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:220px;padding:32px;border:2px dashed var(--gsl-bulk-import-primary);border-radius:var(--gsl-radius);background:var(--gsl-surface-subtle)}.gsl-bulk-import__step--upload .gsl-bulk-import__dropzone{flex:1;min-height:280px;margin-top:auto}.gsl-bulk-import__file-input{display:none}.gsl-bulk-import__dropzone-title{margin:0;font-size:16px;color:var(--gsl-text)}.gsl-bulk-import__select-file{min-width:140px;cursor:pointer}.gsl-bulk-import__file-name{margin:12px 0 0;font-size:13px;color:var(--gsl-text-secondary)}.gsl-bulk-import__error{margin:12px 0 0;color:var(--gsl-error);font-size:13px}.gsl-bulk-import__table-wrap{overflow:auto;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius)}.gsl-bulk-import__table-wrap--header tbody tr{cursor:pointer}.gsl-bulk-import__table-wrap--header tbody tr:not(.gsl-bulk-import__table-row--selected):hover{background:var(--gsl-hover)}.gsl-bulk-import__table{width:100%;border-collapse:collapse;font-size:13px}.gsl-bulk-import__table td,.gsl-bulk-import__table th{padding:10px 12px;border-bottom:1px solid var(--gsl-border);text-align:left;vertical-align:middle}.gsl-bulk-import__radio-cell,.gsl-bulk-import__checkbox-cell{width:44px;text-align:center}.gsl-bulk-import__checkbox-cell input{width:16px;height:16px;accent-color:var(--gsl-bulk-import-primary)}.gsl-bulk-import__radio{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--gsl-border);border-radius:50%;background:var(--gsl-bg);cursor:pointer}.gsl-bulk-import__radio[data-state=checked]{border-color:var(--gsl-bulk-import-primary)}.gsl-bulk-import__radio-indicator{display:block;width:8px;height:8px;border-radius:50%;background:var(--gsl-bulk-import-primary)}.gsl-bulk-import__table-row--selected{background:var(--gsl-bulk-import-primary-light)}.gsl-bulk-import__match-heading{margin:0 0 12px;font-size:18px;font-weight:700;color:var(--gsl-text);flex-shrink:0}.gsl-bulk-import__source-column-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--gsl-border)}.gsl-bulk-import__source-column-label{font-size:14px;font-weight:600;color:var(--gsl-text);line-height:1.3}.gsl-bulk-import__exclude-column{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--gsl-border);border-radius:50%;background:var(--gsl-bg);color:var(--gsl-text-secondary);font-size:14px;line-height:1;cursor:pointer}.gsl-bulk-import__exclude-column:hover{background:var(--gsl-hover)}.gsl-bulk-import__source-column-preview{display:flex;flex-direction:column;gap:8px}.gsl-bulk-import__source-column-preview-row{min-height:20px;color:var(--gsl-text-muted);font-size:13px;line-height:1.4}.gsl-bulk-import__target-column-control{display:flex;align-items:center;gap:8px}.gsl-bulk-import__mapping-status{flex-shrink:0;width:20px;height:20px;border-radius:50%}.gsl-bulk-import__mapping-status--complete{display:inline-flex;align-items:center;justify-content:center;background:var(--gsl-bulk-import-success);color:var(--gsl-on-primary);animation:gsl-bulk-import-check-pop .3s ease}.gsl-bulk-import__mapping-status-check{display:block}.gsl-bulk-import__mapping-status-check path{stroke-dasharray:12;stroke-dashoffset:12;animation:gsl-bulk-import-check-draw .3s ease .12s forwards}.gsl-bulk-import__mapping-status--pending{border:2px solid var(--gsl-warning);background:var(--gsl-bg);transition:border-color .2s ease,background-color .2s ease}.gsl-bulk-import__target-column-control .gsl-dropdown{flex:1;min-width:0}.gsl-bulk-import__validate-toolbar{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-bottom:16px}.gsl-bulk-import__validate-empty{display:flex;flex:1;align-items:center;justify-content:center;margin:0;padding:32px;font-size:14px;color:var(--gsl-text-secondary);text-align:center}.gsl-bulk-import__switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.gsl-bulk-import__switch-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gsl-bulk-import__switch-track{position:relative;flex-shrink:0;width:44px;height:24px;border-radius:999px;background:var(--gsl-border-strong);transition:background-color .15s ease}.gsl-bulk-import__switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--gsl-bg);box-shadow:var(--gsl-shadow-sm);transition:transform .15s ease}.gsl-bulk-import__switch-input:checked+.gsl-bulk-import__switch-track{background:var(--gsl-bulk-import-primary)}.gsl-bulk-import__switch-input:checked+.gsl-bulk-import__switch-track .gsl-bulk-import__switch-thumb{transform:translate(20px)}.gsl-bulk-import__switch-input:focus-visible+.gsl-bulk-import__switch-track{outline:2px solid var(--gsl-bulk-import-primary);outline-offset:2px}.gsl-bulk-import__switch-label{font-size:13px;color:var(--gsl-text-secondary)}.gsl-bulk-import__table--validate th{position:sticky;top:0;z-index:1;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gsl-text-secondary);background:var(--gsl-surface-subtle)}.gsl-bulk-import__table--validate tbody tr{height:44px}.gsl-bulk-import__table--validate tbody td:not(.gsl-bulk-import__checkbox-cell){padding:0;vertical-align:top;height:44px}.gsl-bulk-import__table--validate .gsl-bulk-import__checkbox-cell{vertical-align:middle}.gsl-bulk-import__table--validate tbody tr:not(.gsl-bulk-import__table-row--selected):hover{background:var(--gsl-hover)}.gsl-bulk-import__table--validate tbody tr.gsl-bulk-import__table-row--selected{background:var(--gsl-bulk-import-primary-light)}.gsl-bulk-import__table--validate tbody tr:not(.gsl-bulk-import__table-row--selected):hover .gsl-bulk-import__cell--error{background:var(--gsl-bulk-import-error-bg)}.gsl-bulk-import__cell--error{position:relative;background:var(--gsl-bulk-import-error-bg)}.gsl-bulk-import__cell-input{display:block;width:100%;height:100%;min-height:0;padding:10px 12px;box-sizing:border-box;border:none;border-radius:0;background:transparent;font:inherit;color:var(--gsl-text)}.gsl-bulk-import__cell--error .gsl-bulk-import__cell-input,.gsl-bulk-import__cell-input--error{background:var(--gsl-bulk-import-error-bg)}.gsl-bulk-import__cell-input:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--gsl-bulk-import-primary)}.gsl-bulk-import__cell-error-tooltip{position:absolute;z-index:2;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);width:max-content;max-width:min(240px,90vw);padding:6px 10px;border-radius:6px;background:var(--gsl-text);color:var(--gsl-on-primary);font-size:11px;line-height:1.35;text-align:center;white-space:normal;box-shadow:var(--gsl-shadow-sm);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}.gsl-bulk-import__cell-error-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--gsl-text)}.gsl-bulk-import__cell--error:hover .gsl-bulk-import__cell-error-tooltip{opacity:1;visibility:visible}.gsl-bulk-import__exit-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--gsl-z-alert);background:var(--gsl-overlay);animation:gsl-bulk-import-overlay-in .15s ease forwards}.gsl-bulk-import__exit-confirm{position:fixed;z-index:var(--gsl-z-alert-content);top:0;right:0;bottom:0;left:0;width:calc(100% - 48px);max-width:480px;height:fit-content;margin:auto;padding:28px 32px 24px;border:1px solid var(--gsl-border);border-radius:12px;background:var(--gsl-bg);box-shadow:var(--gsl-shadow-lg);animation:gsl-bulk-import-exit-confirm-in .18s cubic-bezier(.4,0,.2,1) forwards}.gsl-bulk-import__exit-confirm-title{margin:0 0 12px;font-size:18px;font-weight:700;color:var(--gsl-text);text-align:left}.gsl-bulk-import__exit-confirm-message{margin:0 0 28px;font-size:14px;line-height:1.5;color:var(--gsl-text-secondary);text-align:left}.gsl-bulk-import__exit-confirm-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px}.gsl-bulk-import__footer{flex-shrink:0;display:flex;justify-content:center;padding:8px 32px 28px}.gsl-bulk-import__footer-action{min-width:280px;padding:12px 24px;font-size:15px;font-weight:600}.gsl-bulk-import__button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:1px solid var(--gsl-border);border-radius:8px;background:var(--gsl-bg);color:var(--gsl-text);font-size:14px;cursor:pointer}.gsl-bulk-import__button:disabled{opacity:.5;cursor:not-allowed}.gsl-bulk-import__button--primary{border-color:var(--gsl-bulk-import-primary);background:var(--gsl-bulk-import-primary);color:var(--gsl-on-primary)}.gsl-bulk-import__button--ghost{border:none;background:transparent;padding:8px 12px;font-weight:600;color:var(--gsl-text)}.gsl-bulk-import__button--ghost:hover:not(:disabled){background:var(--gsl-hover)}.gsl-bulk-import__button--outline{border-color:var(--gsl-bulk-import-primary);color:var(--gsl-bulk-import-primary);background:var(--gsl-bg)}.gsl-bulk-import__button--outline:hover:not(:disabled){background:var(--gsl-bulk-import-primary-light)}.gsl-bulk-import__button--primary:hover:not(:disabled){filter:brightness(.95)}.gsl-bulk-import__button:focus-visible,.gsl-bulk-import__close:focus-visible,.gsl-bulk-import__exclude-column:focus-visible,.gsl-bulk-import__radio:focus-visible{outline:2px solid var(--gsl-bulk-import-primary);outline-offset:2px}.gsl-bulk-import__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){.gsl-bulk-import{--gsl-bulk-import-gutter: 16px}.gsl-bulk-import__header{padding:16px 48px 16px 24px}.gsl-bulk-import__stepper-label{font-size:11px}.gsl-bulk-import__body{padding:0 20px 20px}.gsl-bulk-import__validate-toolbar{flex-wrap:wrap}.gsl-bulk-import__footer-action{width:100%;min-width:0}}.gsl-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background:var(--gsl-bg);color:var(--gsl-text);font-family:var(--gsl-font);font-size:14px;font-weight:500;line-height:1.4;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,filter .15s ease}.gsl-button:disabled{opacity:.5;cursor:not-allowed}.gsl-button:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-button--sm{min-height:32px;padding:4px 12px;font-size:13px}.gsl-button--md{min-height:40px;padding:8px 16px}.gsl-button--lg{min-height:48px;padding:12px 20px;font-size:15px}.gsl-button--primary{border-color:var(--gsl-primary);background:var(--gsl-primary);color:var(--gsl-on-primary)}.gsl-button--primary:hover:not(:disabled){filter:brightness(.95)}.gsl-button--secondary:hover:not(:disabled){background:var(--gsl-hover);border-color:var(--gsl-border-strong)}.gsl-button--outline{border-color:var(--gsl-primary);background:var(--gsl-bg);color:var(--gsl-primary)}.gsl-button--outline:hover:not(:disabled){background:var(--gsl-primary-light)}.gsl-button--ghost{border-color:transparent;background:transparent;color:var(--gsl-text)}.gsl-button--ghost:hover:not(:disabled){background:var(--gsl-hover)}.gsl-button--loading .gsl-button__label{opacity:.85}.gsl-button__spinner{flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gsl-button-spin .65s linear infinite}.gsl-button__spinner--sm{width:14px;height:14px}.gsl-button__spinner--md{width:16px;height:16px}.gsl-button__spinner--lg{width:18px;height:18px}.gsl-button__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes gsl-button-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.gsl-button__spinner{animation-duration:1.2s}}.gsl-checkbox{display:inline-flex;align-items:flex-start;gap:8px;font-family:var(--gsl-font);font-size:14px;line-height:1.4;color:var(--gsl-text);cursor:pointer;-webkit-user-select:none;user-select:none}.gsl-checkbox--disabled{cursor:not-allowed;opacity:.6}.gsl-checkbox__control{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;margin-top:1px;border:1px solid var(--gsl-border);border-radius:calc(var(--gsl-radius) - 2px);background:var(--gsl-bg);cursor:inherit;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.gsl-checkbox__control[data-state=checked]{border-color:var(--gsl-primary);background:var(--gsl-primary);color:var(--gsl-on-primary)}.gsl-checkbox__control:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-checkbox__control:disabled{cursor:not-allowed}.gsl-checkbox__indicator{display:flex;align-items:center;justify-content:center;color:currentColor}.gsl-checkbox__icon{width:14px;height:14px}.gsl-checkbox__label{line-height:1.4}.gsl-checkbox__control[data-state=checked]+.gsl-checkbox__label,.gsl-checkbox:has(.gsl-checkbox__control[data-state=checked]) .gsl-checkbox__label{color:var(--gsl-text)}.gsl-popover{z-index:var(--gsl-z-popover);padding:12px;background:var(--gsl-bg);border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);box-shadow:var(--gsl-shadow-md);font-family:var(--gsl-font);font-size:14px;line-height:1.4;color:var(--gsl-text);opacity:0;transform:translateY(-4px)}.gsl-popover[data-state=open]{animation:gsl-popover-in .15s ease forwards}.gsl-popover[data-state=closed]{animation:gsl-popover-out .1s ease forwards}@keyframes gsl-popover-in{to{opacity:1;transform:translateY(0)}}@keyframes gsl-popover-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.gsl-popover:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-popover--menu{padding:4px}.gsl-popover__menu{display:flex;flex-direction:column;gap:2px;min-width:160px;margin:0;padding:0;list-style:none}.gsl-popover__menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:calc(var(--gsl-radius) - 2px);background:transparent;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;color:var(--gsl-text);text-align:left;cursor:pointer;transition:background-color .12s ease}.gsl-popover__menu-item:hover{background:var(--gsl-hover)}.gsl-popover__menu-item:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:-2px}.gsl-popover__menu-item--destructive{color:var(--gsl-error-text)}.gsl-popover__menu-item--destructive:hover{background:var(--gsl-error-bg)}.gsl-radio-group{display:flex;flex-direction:column;gap:8px;font-family:var(--gsl-font)}.gsl-radio-group[data-orientation=horizontal]{flex-direction:row;flex-wrap:wrap;align-items:center}.gsl-radio-group--disabled{opacity:.6}.gsl-radio{display:inline-flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.4;color:var(--gsl-text);cursor:pointer;-webkit-user-select:none;user-select:none}.gsl-radio--disabled{cursor:not-allowed}.gsl-radio__control{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;margin-top:1px;border:2px solid var(--gsl-border);border-radius:50%;background:var(--gsl-bg);cursor:inherit;transition:border-color .15s ease,background-color .15s ease}.gsl-radio__control[data-state=checked]{border-color:var(--gsl-primary)}.gsl-radio__control:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-radio__control:disabled{cursor:not-allowed}.gsl-radio__indicator{display:block;width:8px;height:8px;border-radius:50%;background:var(--gsl-primary)}.gsl-radio__label{line-height:1.4}.gsl-radio__content{display:flex;flex-direction:column;gap:2px;min-width:0}.gsl-radio__description{font-size:13px;line-height:1.4;color:var(--gsl-text-secondary)}.gsl-radio-group--card{gap:12px}.gsl-radio--card{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--gsl-border);border-radius:var(--gsl-radius);background:var(--gsl-bg);transition:border-color .15s ease,background-color .15s ease}.gsl-radio--card:hover:not(.gsl-radio--disabled){background:var(--gsl-hover)}.gsl-radio--card:has(.gsl-radio__control[data-state=checked]){border-color:var(--gsl-primary);background:var(--gsl-primary-light)}.gsl-radio--card .gsl-radio__control{margin-top:2px}.gsl-tabs{display:flex;flex-direction:column;font-family:var(--gsl-font);color:var(--gsl-text)}.gsl-tabs[data-orientation=vertical]{flex-direction:row;align-items:flex-start}.gsl-tabs__list{display:flex;gap:4px;flex-shrink:0}.gsl-tabs__list--default{padding:8px 12px 0;border-bottom:1px solid var(--gsl-border);background:var(--gsl-page-bg)}.gsl-tabs__list--line{position:relative;gap:0;padding:0 4px;border-bottom:1px solid var(--gsl-border);background:transparent}.gsl-tabs[data-orientation=vertical] .gsl-tabs__list{flex-direction:column;padding:12px 0;border-bottom:none;border-right:1px solid var(--gsl-border)}.gsl-tabs__trigger{padding:8px 14px;border:1px solid transparent;border-radius:var(--gsl-radius) var(--gsl-radius) 0 0;background:transparent;color:var(--gsl-text-secondary);font-family:var(--gsl-font);font-size:13px;font-weight:500;line-height:1.4;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.gsl-tabs__trigger:hover:not(:disabled){color:var(--gsl-text);background:var(--gsl-hover)}.gsl-tabs__trigger:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:2px}.gsl-tabs__trigger:disabled{opacity:.5;cursor:not-allowed}.gsl-tabs--default .gsl-tabs__trigger[data-state=active]{margin-bottom:-1px;border-color:var(--gsl-border);border-bottom-color:var(--gsl-bg);background:var(--gsl-bg);color:var(--gsl-primary)}.gsl-tabs--line .gsl-tabs__trigger{margin-bottom:-1px;border:none;border-radius:0;background:transparent}.gsl-tabs--line .gsl-tabs__trigger[data-state=active]{color:var(--gsl-primary);background:transparent}.gsl-tabs__indicator{position:absolute;pointer-events:none;background:var(--gsl-primary);transition:transform .15s ease,width .15s ease,height .15s ease}.gsl-tabs__list--line[data-orientation=horizontal] .gsl-tabs__indicator{bottom:0;left:0;height:2px;transform:translate(var(--gsl-tabs-indicator-offset, 0));width:var(--gsl-tabs-indicator-size, 0)}.gsl-tabs__list--line[data-orientation=vertical] .gsl-tabs__indicator{top:0;right:0;width:2px;transform:translateY(var(--gsl-tabs-indicator-offset, 0));height:var(--gsl-tabs-indicator-size, 0)}.gsl-tabs[data-orientation=vertical] .gsl-tabs__trigger{width:100%;border-radius:var(--gsl-radius);margin-bottom:0;text-align:left}.gsl-tabs[data-orientation=vertical] .gsl-tabs__trigger[data-state=active]{border-color:transparent;background:var(--gsl-hover)}.gsl-tabs__content{padding:16px;background:var(--gsl-bg);outline:none}.gsl-tabs__content[data-state=active]{animation:gsl-tabs-content-in .15s ease forwards}@keyframes gsl-tabs-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gsl-tabs__content:focus-visible{outline:2px solid var(--gsl-focus);outline-offset:-2px}.gsl-tabs[data-orientation=vertical] .gsl-tabs__content{flex:1;min-width:0}@media(prefers-reduced-motion:reduce){.gsl-tabs__content[data-state=active]{animation:none}.gsl-tabs__indicator{transition:none}}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,11 @@
1
+ import "./styles/theme.css";
2
+ export * from "./components/theme";
1
3
  export * from "./components/app-switcher";
2
4
  export * from "./components/bulk-import-modal";
3
- export * from "./components/data-table";
5
+ export * from "./components/button";
6
+ export * from "./components/checkbox";
4
7
  export * from "./components/dropdown";
5
- export * from "./components/input-mask";
6
- export * from "./components/pagination";
8
+ export * from "./components/popover";
9
+ export * from "./components/radio-group";
10
+ export * from "./components/tabs";
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}