@witchcraft/ui 0.1.3 → 0.2.1-beta.1

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 (179) hide show
  1. package/README.md +3 -6
  2. package/dist/module.json +3 -3
  3. package/dist/module.mjs +15 -12
  4. package/dist/runtime/build/generateTheme.js +1 -1
  5. package/dist/runtime/components/Aria/Aria.vue +5 -9
  6. package/dist/runtime/components/Aria/Aria.vue.d.ts +5 -0
  7. package/dist/runtime/components/Icon/Icon.vue +10 -30
  8. package/dist/runtime/components/Icon/Icon.vue.d.ts +21 -0
  9. package/dist/runtime/components/LibButton/LibButton.vue +51 -72
  10. package/dist/runtime/components/LibButton/LibButton.vue.d.ts +36 -0
  11. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue +43 -74
  12. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue.d.ts +42 -0
  13. package/dist/runtime/components/LibColorInput/LibColorInput.vue +63 -107
  14. package/dist/runtime/components/LibColorInput/LibColorInput.vue.d.ts +63 -0
  15. package/dist/runtime/components/LibColorPicker/LibColorPicker.vue +272 -352
  16. package/dist/runtime/components/LibColorPicker/LibColorPicker.vue.d.ts +61 -0
  17. package/dist/runtime/components/LibColorPicker/utils/safeConvertToHsva.js +1 -1
  18. package/dist/runtime/components/LibColorPicker/utils/safeConvertToRgba.js +1 -1
  19. package/dist/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.vue +35 -69
  20. package/dist/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.vue.d.ts +22 -0
  21. package/dist/runtime/components/LibDatePicker/LibDatePicker.vue +17 -38
  22. package/dist/runtime/components/LibDatePicker/LibDatePicker.vue.d.ts +40 -0
  23. package/dist/runtime/components/LibDatePicker/LibRangeDatePicker.vue +58 -82
  24. package/dist/runtime/components/LibDatePicker/LibRangeDatePicker.vue.d.ts +34 -0
  25. package/dist/runtime/components/LibDatePicker/LibSingleDatePicker.vue +55 -67
  26. package/dist/runtime/components/LibDatePicker/LibSingleDatePicker.vue.d.ts +34 -0
  27. package/dist/runtime/components/LibDatePicker/LibTimeZonePicker.vue +7 -8
  28. package/dist/runtime/components/LibDatePicker/LibTimeZonePicker.vue.d.ts +22 -0
  29. package/dist/runtime/components/LibDebug/LibDebug.vue +43 -70
  30. package/dist/runtime/components/LibDebug/LibDebug.vue.d.ts +32 -0
  31. package/dist/runtime/components/LibDevOnly/LibDevOnly.vue +18 -31
  32. package/dist/runtime/components/LibDevOnly/LibDevOnly.vue.d.ts +22 -0
  33. package/dist/runtime/components/LibFileInput/LibFileInput.vue +116 -156
  34. package/dist/runtime/components/LibFileInput/LibFileInput.vue.d.ts +43 -0
  35. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +211 -241
  36. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue.d.ts +165 -0
  37. package/dist/runtime/components/LibLabel/LibLabel.vue +25 -46
  38. package/dist/runtime/components/LibLabel/LibLabel.vue.d.ts +26 -0
  39. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue +43 -58
  40. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue.d.ts +29 -0
  41. package/dist/runtime/components/LibNotifications/LibNotification.vue +34 -48
  42. package/dist/runtime/components/LibNotifications/LibNotification.vue.d.ts +17 -0
  43. package/dist/runtime/components/LibNotifications/LibNotifications.vue +63 -83
  44. package/dist/runtime/components/LibNotifications/LibNotifications.vue.d.ts +13 -0
  45. package/dist/runtime/components/LibPagination/LibPagination.vue +67 -111
  46. package/dist/runtime/components/LibPagination/LibPagination.vue.d.ts +104 -0
  47. package/dist/runtime/components/LibPalette/LibPalette.vue +17 -23
  48. package/dist/runtime/components/LibPalette/LibPalette.vue.d.ts +14 -0
  49. package/dist/runtime/components/LibPopup/LibPopup.vue +314 -351
  50. package/dist/runtime/components/LibPopup/LibPopup.vue.d.ts +46 -0
  51. package/dist/runtime/components/LibProgressBar/LibProgressBar.vue +65 -91
  52. package/dist/runtime/components/LibProgressBar/LibProgressBar.vue.d.ts +41 -0
  53. package/dist/runtime/components/LibRecorder/LibRecorder.vue +127 -177
  54. package/dist/runtime/components/LibRecorder/LibRecorder.vue.d.ts +77 -0
  55. package/dist/runtime/components/LibRoot/LibRoot.vue +75 -101
  56. package/dist/runtime/components/LibRoot/LibRoot.vue.d.ts +41 -0
  57. package/dist/runtime/components/LibSimpleInput/LibSimpleInput.vue +42 -77
  58. package/dist/runtime/components/LibSimpleInput/LibSimpleInput.vue.d.ts +35 -0
  59. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue +118 -156
  60. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue.d.ts +94 -0
  61. package/dist/runtime/components/LibTable/LibTable.vue +63 -99
  62. package/dist/runtime/components/LibTable/LibTable.vue.d.ts +45 -0
  63. package/dist/runtime/components/Template/NAME.vue +15 -36
  64. package/dist/runtime/components/Template/NAME.vue.d.ts +17 -0
  65. package/dist/runtime/components/TestControls/TestControls.vue +6 -9
  66. package/dist/runtime/components/TestControls/TestControls.vue.d.ts +5 -0
  67. package/dist/runtime/components/shared/props.d.ts +0 -29
  68. package/dist/runtime/components/shared/props.js +0 -12
  69. package/dist/runtime/composables/useAccesibilityOutline.js +1 -1
  70. package/dist/runtime/composables/useDivideAttrs.js +1 -1
  71. package/dist/runtime/composables/useSuggestions.js +4 -4
  72. package/dist/runtime/directives/vDetectFlex.js +4 -4
  73. package/dist/runtime/directives/vExtractRootEl.d.ts +1 -1
  74. package/dist/runtime/directives/vResizableCols.d.ts +1 -1
  75. package/dist/runtime/directives/vResizableCols.js +4 -4
  76. package/dist/runtime/helpers/NotificationHandler.js +6 -6
  77. package/dist/runtime/helpers/base64ToImg.js +2 -2
  78. package/dist/runtime/nuxt/plugins/vue-plugin.js +1 -1
  79. package/dist/runtime/tailwind/themeConvertionOpts.d.ts +1 -1
  80. package/dist/runtime/theme.d.ts +1 -1
  81. package/dist/runtime/theme.js +1 -1
  82. package/dist/runtime/utils/notifyIfError.js +1 -1
  83. package/dist/runtime/vue/registerComponents.js +1 -1
  84. package/dist/types.d.mts +2 -6
  85. package/package.json +68 -90
  86. package/src/module.ts +19 -12
  87. package/src/runtime/build/generateTheme.ts +1 -1
  88. package/src/runtime/components/LibButton/LibButton.stories.ts +1 -1
  89. package/src/runtime/components/LibButton/LibButton.vue +3 -3
  90. package/src/runtime/components/LibCheckbox/LibCheckbox.vue +3 -7
  91. package/src/runtime/components/LibColorPicker/LibColorPicker.vue +6 -4
  92. package/src/runtime/components/LibColorPicker/utils/safeConvertToHsva.ts +1 -1
  93. package/src/runtime/components/LibColorPicker/utils/safeConvertToRgba.ts +1 -1
  94. package/src/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.vue +8 -15
  95. package/src/runtime/components/LibDatePicker/LibRangeDatePicker.vue +6 -0
  96. package/src/runtime/components/LibDatePicker/LibSingleDatePicker.vue +6 -0
  97. package/src/runtime/components/LibDebug/LibDebug.stories.ts +1 -1
  98. package/src/runtime/components/LibDebug/LibDebug.vue +2 -0
  99. package/src/runtime/components/LibFileInput/LibFileInput.vue +4 -0
  100. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +7 -5
  101. package/src/runtime/components/LibLabel/LibLabel.vue +2 -3
  102. package/src/runtime/components/LibMultiValues/LibMultiValues.vue +5 -3
  103. package/src/runtime/components/LibNotifications/LibNotification.vue +3 -0
  104. package/src/runtime/components/LibNotifications/LibNotifications.vue +1 -1
  105. package/src/runtime/components/LibPalette/LibPalette.vue +3 -3
  106. package/src/runtime/components/LibPopup/LibPopup.vue +2 -2
  107. package/src/runtime/components/LibProgressBar/LibProgressBar.vue +2 -2
  108. package/src/runtime/components/LibRecorder/LibRecorder.vue +3 -3
  109. package/src/runtime/components/LibRoot/LibRoot.vue +3 -2
  110. package/src/runtime/components/LibSimpleInput/LibSimpleInput.vue +2 -2
  111. package/src/runtime/components/LibSuggestions/LibSuggestions.vue +2 -2
  112. package/src/runtime/components/LibTable/LibTable.vue +1 -1
  113. package/src/runtime/components/Template/NAME.vue +2 -2
  114. package/src/runtime/components/shared/props.ts +8 -12
  115. package/src/runtime/composables/useAccesibilityOutline.ts +1 -1
  116. package/src/runtime/composables/useDivideAttrs.ts +1 -1
  117. package/src/runtime/composables/useSuggestions.ts +4 -4
  118. package/src/runtime/directives/vDetectFlex.ts +4 -4
  119. package/src/runtime/directives/vExtractRootEl.ts +1 -1
  120. package/src/runtime/directives/vResizableCols.ts +5 -5
  121. package/src/runtime/helpers/NotificationHandler.ts +6 -6
  122. package/src/runtime/nuxt/plugins/vue-plugin.ts +1 -1
  123. package/src/runtime/tailwind/themeConvertionOpts.ts +1 -1
  124. package/src/runtime/theme.ts +2 -2
  125. package/src/runtime/utils/notifyIfError.ts +1 -1
  126. package/src/runtime/vue/registerComponents.ts +1 -1
  127. package/dist/module.cjs +0 -5
  128. package/dist/module.d.ts +0 -36
  129. package/dist/runtime/components/Focus.stories.d.ts +0 -11
  130. package/dist/runtime/components/Focus.stories.js +0 -53
  131. package/dist/runtime/components/LibButton/LibButton.stories.d.ts +0 -12
  132. package/dist/runtime/components/LibButton/LibButton.stories.js +0 -94
  133. package/dist/runtime/components/LibCheckbox/LibCheckbox.stories.d.ts +0 -14
  134. package/dist/runtime/components/LibCheckbox/LibCheckbox.stories.js +0 -29
  135. package/dist/runtime/components/LibColorInput/LibColorInput.stories.d.ts +0 -7
  136. package/dist/runtime/components/LibColorInput/LibColorInput.stories.js +0 -58
  137. package/dist/runtime/components/LibColorPicker/LibColorPicker.stories.d.ts +0 -9
  138. package/dist/runtime/components/LibColorPicker/LibColorPicker.stories.js +0 -68
  139. package/dist/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.stories.d.ts +0 -7
  140. package/dist/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.stories.js +0 -36
  141. package/dist/runtime/components/LibDatePicker/LibDatePicker.stories.d.ts +0 -11
  142. package/dist/runtime/components/LibDatePicker/LibDatePicker.stories.js +0 -98
  143. package/dist/runtime/components/LibDebug/LibDebug.stories.d.ts +0 -9
  144. package/dist/runtime/components/LibDebug/LibDebug.stories.js +0 -46
  145. package/dist/runtime/components/LibFileInput/LibFileInput.stories.d.ts +0 -10
  146. package/dist/runtime/components/LibFileInput/LibFileInput.stories.js +0 -63
  147. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.d.ts +0 -33
  148. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.js +0 -384
  149. package/dist/runtime/components/LibLabel/LibLabel.stories.d.ts +0 -6
  150. package/dist/runtime/components/LibLabel/LibLabel.stories.js +0 -25
  151. package/dist/runtime/components/LibMultiValues/LibMultiValues.stories.d.ts +0 -23
  152. package/dist/runtime/components/LibMultiValues/LibMultiValues.stories.js +0 -61
  153. package/dist/runtime/components/LibNotifications/LibNotification.stories.d.ts +0 -15
  154. package/dist/runtime/components/LibNotifications/LibNotification.stories.js +0 -126
  155. package/dist/runtime/components/LibNotifications/LibNotifications.stories.d.ts +0 -6
  156. package/dist/runtime/components/LibNotifications/LibNotifications.stories.js +0 -109
  157. package/dist/runtime/components/LibPagination/LibPagination.stories.d.ts +0 -6
  158. package/dist/runtime/components/LibPagination/LibPagination.stories.js +0 -40
  159. package/dist/runtime/components/LibPalette/LibPalette.stories.d.ts +0 -6
  160. package/dist/runtime/components/LibPalette/LibPalette.stories.js +0 -20
  161. package/dist/runtime/components/LibPopup/LibPopup.stories.d.ts +0 -14
  162. package/dist/runtime/components/LibPopup/LibPopup.stories.js +0 -147
  163. package/dist/runtime/components/LibProgressBar/LibProgressBar.stories.d.ts +0 -10
  164. package/dist/runtime/components/LibProgressBar/LibProgressBar.stories.js +0 -81
  165. package/dist/runtime/components/LibRecorder/LibRecorder.stories.d.ts +0 -19
  166. package/dist/runtime/components/LibRecorder/LibRecorder.stories.js +0 -63
  167. package/dist/runtime/components/LibSimpleInput/LibSimpleInput.stories.d.ts +0 -26
  168. package/dist/runtime/components/LibSimpleInput/LibSimpleInput.stories.js +0 -78
  169. package/dist/runtime/components/LibSuggestions/LibSuggestions.stories.d.ts +0 -27
  170. package/dist/runtime/components/LibSuggestions/LibSuggestions.stories.js +0 -112
  171. package/dist/runtime/components/LibTable/LibTable.stories.d.ts +0 -16
  172. package/dist/runtime/components/LibTable/LibTable.stories.js +0 -156
  173. package/dist/runtime/components/Reset.stories.d.ts +0 -5
  174. package/dist/runtime/components/Reset.stories.js +0 -19
  175. package/dist/runtime/components/Scrolling.stories.d.ts +0 -6
  176. package/dist/runtime/components/Scrolling.stories.js +0 -44
  177. package/dist/runtime/composables/useScrollNearContainerEdges.stories.d.ts +0 -7
  178. package/dist/runtime/composables/useScrollNearContainerEdges.stories.js +0 -85
  179. package/dist/types.d.ts +0 -7
@@ -1,78 +0,0 @@
1
- import * as components from "../index.js";
2
- const meta = {
3
- component: components.LibSimpleInput,
4
- title: "Components/Input",
5
- args: {
6
- modelValue: "Value",
7
- placeholder: "Placeholder"
8
- }
9
- };
10
- export default meta;
11
- export const Primary = {
12
- args: {
13
- modelValue: "some value"
14
- },
15
- render: (args) => ({
16
- components,
17
- // eslint-disable-next-line no-console
18
- setup: () => ({ args, test: () => console.log("Enter") }),
19
- template: `
20
- <lib-simple-input
21
- @keydown="test"
22
- class="m-2" v-bind="args" v-model="args.modelValue" ></lib-simple-input>
23
- <lib-simple-input class="m-2" v-bind="{...args, modelValue:''}" ></lib-simple-input>
24
- `
25
- })
26
- };
27
- export const InsideAFlexbox = {
28
- render: (args) => ({
29
- components,
30
- setup: () => ({ args }),
31
- template: `
32
- Inside a flexbox:
33
- <div class="flex flex-wrap">
34
- <lib-simple-input v-bind="args" v-model="args.modelValue"></lib-simple-input>
35
- <div class="border-1 border-danger-500 flex-1 whitespace-nowrap">Flex Grow: 1</div>
36
- </div>
37
- `
38
- }),
39
- args: {
40
- stretch: true
41
- }
42
- };
43
- export const Disabled = {
44
- ...Primary,
45
- args: {
46
- disabled: true
47
- }
48
- };
49
- export const Readonly = {
50
- ...Primary,
51
- args: {
52
- readonly: true
53
- }
54
- };
55
- export const Invalid = {
56
- ...Primary,
57
- args: {
58
- valid: false
59
- }
60
- };
61
- export const Borderless = {
62
- ...Primary,
63
- args: {
64
- border: false
65
- }
66
- };
67
- export const Numerical = {
68
- ...Primary,
69
- args: {
70
- type: "number"
71
- }
72
- };
73
- export const NumericalInsideAFlexbox = {
74
- ...InsideAFlexbox,
75
- args: {
76
- type: "number"
77
- }
78
- };
@@ -1,27 +0,0 @@
1
- import type { StoryObj } from "@storybook/vue3";
2
- import LibSuggestions from "./LibSuggestions.vue.js";
3
- declare const meta: {
4
- component: any;
5
- title: string;
6
- args: {
7
- id: string;
8
- modelValue: string;
9
- label: string;
10
- border: boolean;
11
- suggestions: string[];
12
- };
13
- };
14
- export default meta;
15
- type Story = StoryObj<typeof LibSuggestions>;
16
- /**
17
- * The suggestions component is just the dropdown part.
18
- *
19
- * Here it is decoupled from the input.
20
- *
21
- * More examples can be found in the input component.
22
- */
23
- export declare const Primary: Story;
24
- export declare const RestrictToSuggestions: Story;
25
- export declare const AlwaysShowAllSuggestions: any;
26
- export declare const AlwaysShowAllSuggestionsAndNoRestrictToSuggestions: any;
27
- export declare const CustomSuggestionsObject: any;
@@ -1,112 +0,0 @@
1
- import { computed, onMounted, ref } from "vue";
2
- import LibSuggestions from "./LibSuggestions.vue";
3
- import * as components from "../index.js";
4
- const meta = {
5
- component: LibSuggestions,
6
- title: "Components/Suggestions",
7
- args: {
8
- id: "some-id",
9
- modelValue: "",
10
- label: "Some Label",
11
- border: true,
12
- suggestions: ["A", "AB", "ABC", "B", "BC", "C", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"]
13
- }
14
- };
15
- export default meta;
16
- export const Primary = {
17
- render: (args) => ({
18
- components: { ...components, LibSuggestions },
19
- setup: () => {
20
- const inputValue = ref(args.modelValue);
21
- const modelValue = ref(args.modelValue);
22
- const drawer = ref(null);
23
- const keydownHandler = (e) => {
24
- drawer.value?.inputKeydownHandler(e);
25
- };
26
- const suggestions = computed(() => drawer.value?.suggestions);
27
- const blurHandler = (e) => {
28
- drawer.value?.inputBlurHandler(e);
29
- };
30
- onMounted(() => {
31
- drawer.value?.suggestions.open();
32
- });
33
- return {
34
- args,
35
- inputValue,
36
- modelValue,
37
- isOpen: ref(false),
38
- suggestions,
39
- drawer,
40
- keydownHandler,
41
- blurHandler
42
- };
43
- },
44
- template: `
45
- <div class="flex flex-col gap-3">
46
- Temporary Value: {{inputValue}}
47
- <br/>
48
- Model Value (Final Value): <span class="inline-block" data-testid="model-value">{{modelValue}}</span>
49
-
50
-
51
- <br/>
52
- Selected: {{suggestions?.filtered[suggestions.active]}}
53
- <label>Some Label</label>
54
- <lib-simple-input
55
- :class="isOpen ? 'open' : ''"
56
- v-model="inputValue"
57
- @focus="suggestions.open()"
58
- @blur="blurHandler"
59
- @keydown="keydownHandler"
60
- ></lib-simple-input>
61
- <lib-suggestions
62
- ref="drawer"
63
- v-bind="{...args}"
64
- @update:isOpen="isOpen = $event"
65
- v-model="modelValue"
66
- v-model:inputValue="inputValue"
67
- >
68
- <template #item={item}>
69
- {{item}}
70
- </template>
71
- </lib-suggestions>
72
- </div>
73
- `
74
- })
75
- };
76
- export const RestrictToSuggestions = {
77
- ...Primary,
78
- args: {
79
- ...Primary.args,
80
- restrictToSuggestions: true
81
- }
82
- };
83
- export const AlwaysShowAllSuggestions = {
84
- ...Primary,
85
- args: {
86
- ...Primary.args,
87
- restrictToSuggestions: true,
88
- suggestionsFilter: (_input, items) => items
89
- }
90
- };
91
- export const AlwaysShowAllSuggestionsAndNoRestrictToSuggestions = {
92
- ...Primary,
93
- args: {
94
- ...Primary.args,
95
- restrictToSuggestions: false,
96
- suggestionsFilter: (_input, items) => items
97
- }
98
- };
99
- export const CustomSuggestionsObject = {
100
- ...Primary,
101
- args: {
102
- ...Primary.args,
103
- restrictToSuggestions: true,
104
- suggestions: [
105
- { label: "A", other: "some data A" },
106
- { label: "AB", other: "some data AB" },
107
- { label: "ABC", other: "some data ABC" },
108
- { label: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", other: "some data ABCDEFGHIJKLMNOPQRSTUVWXYZ" }
109
- ],
110
- suggestionLabel: (item) => item.label
111
- }
112
- };
@@ -1,16 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/vue3";
2
- import LibTable from "./LibTable.vue.js";
3
- declare const meta: Meta<typeof LibTable>;
4
- export default meta;
5
- type Story = StoryObj<typeof LibTable>;
6
- export declare const Primary: Story;
7
- export declare const NoCellBorders: Story;
8
- export declare const NoBorders: Story;
9
- export declare const NoCellBordersNoBorders: Story;
10
- export declare const SquareBorders: Story;
11
- export declare const NoHeader: Story;
12
- export declare const NoHeaderNoBorders: Story;
13
- export declare const NoHeaderNoCellBorders: Story;
14
- export declare const FitWidthFalse: Story;
15
- export declare const ThreeColSomeColsNotResizable: Story;
16
- export declare const FourColSomeColsNotResizable: Story;
@@ -1,156 +0,0 @@
1
- import LibTable from "./LibTable.vue";
2
- import * as components from "../index.js";
3
- const meta = {
4
- component: LibTable,
5
- title: "Components/Table"
6
- };
7
- export default meta;
8
- export const Primary = {
9
- render: (args) => ({
10
- components,
11
- setup: () => ({ args }),
12
- template: `
13
- <div class="overflow-x-scroll scrollbar-hidden">
14
- <lib-table
15
- v-bind="args"
16
- >
17
- </lib-table>
18
- </div>
19
- `
20
- }),
21
- args: {
22
- cols: ["prop1", "prop2", "prop3"],
23
- values: [
24
- { prop1: "Item1 Prop 1", prop2: "Item1 Prop 2", prop3: "Item1 Prop 3" },
25
- { prop1: "Item2 Prop 1", prop2: "Item2 Prop 2", prop3: "Item2 Prop 3" },
26
- { prop1: "Item3 Prop 1", prop2: "Item3 Prop 2", prop3: "Item3 Prop 3" }
27
- ],
28
- colConfig: { prop1: { name: "Header 1" }, prop2: { name: "Header 2" } },
29
- itemKey: "prop1"
30
- }
31
- };
32
- export const NoCellBorders = {
33
- ...Primary,
34
- args: {
35
- ...Primary.args,
36
- cellBorder: false
37
- }
38
- };
39
- export const NoBorders = {
40
- ...Primary,
41
- args: {
42
- ...Primary.args,
43
- border: false
44
- }
45
- };
46
- export const NoCellBordersNoBorders = {
47
- ...Primary,
48
- args: {
49
- ...Primary.args,
50
- cellBorder: false,
51
- border: false
52
- }
53
- };
54
- export const SquareBorders = {
55
- ...Primary,
56
- args: {
57
- ...Primary.args,
58
- rounded: false
59
- }
60
- };
61
- export const NoHeader = {
62
- ...Primary,
63
- args: {
64
- ...Primary.args,
65
- header: false
66
- }
67
- };
68
- export const NoHeaderNoBorders = {
69
- ...Primary,
70
- args: {
71
- ...Primary.args,
72
- header: false,
73
- border: false
74
- }
75
- };
76
- export const NoHeaderNoCellBorders = {
77
- ...Primary,
78
- args: {
79
- ...Primary.args,
80
- header: false,
81
- cellBorder: false
82
- }
83
- };
84
- export const FitWidthFalse = {
85
- ...Primary,
86
- args: {
87
- ...Primary.args,
88
- resizable: {
89
- fitWidth: false
90
- }
91
- }
92
- };
93
- export const ThreeColSomeColsNotResizable = {
94
- render: (args) => ({
95
- components,
96
- setup: () => ({ args }),
97
- template: `
98
- <lib-table
99
- v-bind="args"
100
- >
101
- </lib-table>
102
- <br>
103
- <lib-table
104
- v-bind="{...args, colConfig:args.colConfig2}"
105
- >
106
- </lib-table>
107
- <br>
108
- <lib-table
109
- v-bind="{...args, colConfig:args.colConfig3}"
110
- >
111
- </lib-table>
112
- `
113
- }),
114
- args: {
115
- cols: ["prop1", "prop2", "prop3"],
116
- itemKey: "prop1",
117
- values: [
118
- { prop1: "Prop 1", prop2: "Prop 2", prop3: "Prop 3" }
119
- ],
120
- colConfig: { prop1: { name: "No Resize", resizable: false } },
121
- colConfig2: { prop2: { name: "No Resize", resizable: false } },
122
- colConfig3: { prop3: { name: "No Resize", resizable: false } }
123
- }
124
- };
125
- export const FourColSomeColsNotResizable = {
126
- render: (args) => ({
127
- components,
128
- setup: () => ({ args }),
129
- template: `
130
- <lib-table
131
- v-bind="args"
132
- >
133
- </lib-table>
134
- <br>
135
- <lib-table
136
- v-bind="{...args, colConfig:args.colConfig2}"
137
- >
138
- </lib-table>
139
- <br>
140
- <lib-table
141
- v-bind="{...args, colConfig:args.colConfig3}"
142
- >
143
- </lib-table>
144
- `
145
- }),
146
- args: {
147
- cols: ["prop1", "prop2", "prop3", "prop4"],
148
- values: [
149
- { prop1: "Prop 1", prop2: "Prop 2", prop3: "Prop 3", prop4: "Prop 4" }
150
- ],
151
- itemKey: "prop1",
152
- colConfig: { prop1: { name: "No Resize", resizable: false }, prop3: { name: "No Resize", resizable: false } },
153
- colConfig2: { prop2: { name: "No Resize", resizable: false }, prop3: { name: "No Resize", resizable: false } },
154
- colConfig3: { prop1: { name: "No Resize", resizable: false }, prop4: { name: "No Resize", resizable: false } }
155
- }
156
- };
@@ -1,5 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/vue3";
2
- declare const meta: Meta<{}>;
3
- export default meta;
4
- type Story = StoryObj<{}>;
5
- export declare const Primary: Story;
@@ -1,19 +0,0 @@
1
- const meta = {
2
- title: "Other/Reset",
3
- args: {}
4
- };
5
- export default meta;
6
- export const Primary = {
7
- render: (args) => ({
8
- setup: () => ({ args }),
9
- template: `
10
- <h1>h1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ullamcorper est at dui eleifend, et egestas libero gravida. Phasellus non erat pretium, commodo massa sit amet, accumsan nisl.</h1>
11
- <h2>h2 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ullamcorper est at dui eleifend, et egestas libero gravida. Phasellus non erat pretium, commodo massa sit amet, accumsan nisl.</h2>
12
- <h3>h3 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ullamcorper est at dui eleifend, et egestas libero gravida. Phasellus non erat pretium, commodo massa sit amet, accumsan nisl.</h3>
13
- <h4>h4 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ullamcorper est at dui eleifend, et egestas libero gravida. Phasellus non erat pretium, commodo massa sit amet, accumsan nisl.</h4>
14
- <h5>h5 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ullamcorper est at dui eleifend, et egestas libero gravida. Phasellus non erat pretium, commodo massa sit amet, accumsan nisl.</h5>
15
- <h6>h6 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ullamcorper est at dui eleifend, et egestas libero gravida. Phasellus non erat pretium, commodo massa sit amet, accumsan nisl.</h6>
16
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ullamcorper est at dui eleifend, et egestas libero gravida. Phasellus non erat pretium, commodo massa sit amet, accumsan nisl.</p>
17
- `
18
- })
19
- };
@@ -1,6 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/vue3";
2
- declare const meta: Meta<{}>;
3
- export default meta;
4
- type Story = StoryObj<{}>;
5
- export declare const Scrollbars: Story;
6
- export declare const TextareaResizer: Story;
@@ -1,44 +0,0 @@
1
- const meta = {
2
- title: "Other/Scrolling",
3
- args: {}
4
- };
5
- export default meta;
6
- export const Scrollbars = {
7
- render: (args) => ({
8
- setup: () => ({ args }),
9
- template: `
10
- <div
11
- class="
12
- relative
13
- flex
14
- flex-col
15
- max-h-[300px]
16
- max-w-[300px]
17
- border-2
18
- border-neutral-500
19
- "
20
-
21
- >
22
- <div
23
- class="overflow-auto"
24
- >
25
- <div class="h-[1000px] w-[1000px]"/>
26
- </div>
27
- </div>
28
- `
29
- })
30
- };
31
- export const TextareaResizer = {
32
- render: (args) => ({
33
- setup: () => ({ args }),
34
- template: `
35
- <textarea class="
36
- border-2
37
- border-neutral-500
38
- min-w-[200px]
39
- min-h-[200px]
40
- [resize:both]
41
- " />
42
- `
43
- })
44
- };
@@ -1,7 +0,0 @@
1
- import type { StoryObj } from "@storybook/vue3";
2
- declare const meta: {
3
- title: string;
4
- };
5
- export default meta;
6
- type Story = StoryObj;
7
- export declare const Primary: Story;
@@ -1,85 +0,0 @@
1
- import { onMounted, ref } from "vue";
2
- import { useScrollNearContainerEdges } from "./useScrollNearContainerEdges.js";
3
- import { twMerge } from "../utils/twMerge.js";
4
- const meta = {
5
- title: "Composables/ScrollNearContainerEdges"
6
- };
7
- export default meta;
8
- export const Primary = {
9
- render: (args) => ({
10
- setup: () => {
11
- const containerEl = ref(null);
12
- const {
13
- resetScrollIndicator,
14
- scrollEdges,
15
- endScroll,
16
- scrollIndicator,
17
- isScrolling
18
- } = useScrollNearContainerEdges({
19
- containerEl,
20
- scrollMargin: 20,
21
- outerScrollMargin: 20
22
- });
23
- const pos = ref({ x: 0, y: 0 });
24
- onMounted(() => {
25
- pos.value.x = containerEl.value.getBoundingClientRect().left;
26
- pos.value.y = containerEl.value.getBoundingClientRect().top;
27
- });
28
- const moveDrag = (e) => {
29
- pos.value.x = e.clientX;
30
- pos.value.y = e.clientY;
31
- scrollEdges(e.clientX, e.clientY);
32
- };
33
- const endDrag = (_e) => {
34
- endScroll();
35
- document.removeEventListener("mousemove", moveDrag);
36
- document.removeEventListener("mouseup", endDrag);
37
- };
38
- const startDrag = (_e) => {
39
- document.addEventListener("mousemove", moveDrag);
40
- document.addEventListener("mouseup", endDrag);
41
- };
42
- return {
43
- args,
44
- containerEl,
45
- resetScrollIndicator,
46
- scrollEdges,
47
- endScroll,
48
- startDrag,
49
- scrollIndicator,
50
- isScrolling,
51
- twMerge,
52
- pos
53
- };
54
- },
55
- template: `
56
- <div>
57
- <p>Scroll the container by dragging the red box (which represents the dragging mouse position).</p>
58
- <p>It should drag slow, then faster as the mouse nears the edges and scroll indicators should appear on the scrolling edges.</p>
59
- </div>
60
- <div
61
- :class="twMerge(
62
- 'relative flex flex-col max-h-[300px] max-w-[300px] border-2 border-red-500',
63
- isScrolling && 'after:content-[\\'\\'] after:absolute after:inset-0 after:border-transparent after:border-[15px]',
64
- scrollIndicator.right && 'after:border-r-accent-500/60',
65
- scrollIndicator.down && 'after:border-b-accent-500/60',
66
- scrollIndicator.left && 'after:border-l-accent-500/60',
67
- scrollIndicator.up && 'after:border-t-accent-500/60',
68
- )"
69
-
70
- >
71
- <div
72
- class="overflow-auto"
73
- ref="containerEl"
74
- >
75
- <div class="h-[1000px] w-[1000px]"/>
76
- <div
77
- @mousedown="startDrag"
78
- :style="\`top:\${pos.y}px; left:\${pos.x}px;\`"
79
- class="h-[20px] w-[20px] -ml-[10px] -mt-[10px] bg-red-500 cursor-move fixed"
80
- ></div>
81
- </div>
82
- </div>
83
- `
84
- })
85
- };
package/dist/types.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { NuxtModule } from '@nuxt/schema'
2
-
3
- import type { default as Module } from './module'
4
-
5
- export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
6
-
7
- export { default } from './module'