@flightlesslabs/dodo-ui 0.10.3 → 0.11.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.
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/stories/components/Form/DatePicker/DatePicker.stories.svelte +16 -0
- package/dist/stories/components/Form/DatePicker/DatePicker.svelte +3 -12
- package/dist/stories/components/Form/DatePicker/DatePicker.svelte.d.ts +3 -1
- package/dist/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +43 -0
- package/dist/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte.d.ts +18 -0
- package/dist/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +54 -0
- package/dist/stories/components/Form/DatePicker/Positions/Positions.stories.svelte.d.ts +18 -0
- package/dist/stories/components/Info/Calendar/Calendar.stories.svelte +14 -0
- package/dist/stories/components/Info/Calendar/Calendar.svelte +2 -1
- package/dist/stories/components/Info/Calendar/Calendar.svelte.d.ts +3 -3
- package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.svelte +2 -215
- package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.svelte.d.ts +1 -7
- package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/utils/scss/mixins.scss +0 -46
- package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +14 -0
- package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.svelte +3 -25
- package/dist/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.svelte.d.ts +4 -5
- package/dist/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.d.ts +27 -0
- package/dist/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.js +72 -0
- package/dist/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
- package/dist/stories/components/Info/Calendar/utils/getDatesOfMonth/getDatesOfMonth.d.ts +10 -0
- package/dist/stories/components/Info/Calendar/utils/{getDatesOfMonth.js → getDatesOfMonth/getDatesOfMonth.js} +20 -13
- package/dist/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
- package/dist/stories/components/Info/Calendar/utils/types.d.ts +0 -4
- package/dist/stories/developer tools/components/Popper/Popper.stories.svelte +16 -0
- package/dist/stories/developer tools/components/Popper/Popper.svelte +10 -14
- package/dist/stories/developer tools/components/Popper/Popper.svelte.d.ts +2 -0
- package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte +25 -11
- package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte.d.ts +2 -0
- package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.d.ts +10 -8
- package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.js +40 -23
- package/dist/stories/developer tools/helpers/Time/getMoment/getMoment.d.ts +10 -11
- package/dist/stories/developer tools/helpers/Time/getMoment/getMoment.js +8 -8
- package/dist/stories/developer tools/helpers/Time/getMoment/index.mdx +31 -4
- package/package.json +21 -23
- package/src/lib/index.ts +3 -3
- package/src/lib/stories/Home.mdx +59 -0
- package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
- package/src/lib/stories/components/Form/Button/Button.stories.svelte +61 -0
- package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +43 -0
- package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +36 -0
- package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +43 -0
- package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +23 -0
- package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +18 -0
- package/src/lib/stories/components/Form/DatePicker/Color/Color.stories.svelte +47 -0
- package/src/lib/stories/components/Form/DatePicker/Controls/Controls.stories.svelte +58 -0
- package/src/lib/stories/components/Form/DatePicker/Customize/Customize.stories.svelte +167 -0
- package/src/lib/stories/components/Form/DatePicker/DatePicker.stories.svelte +107 -0
- package/src/lib/stories/components/Form/DatePicker/DatePicker.svelte +11 -13
- package/src/lib/stories/components/Form/DatePicker/Events/Events.stories.svelte +147 -0
- package/src/lib/stories/components/Form/DatePicker/FilterDates/FilterDates.stories.svelte +61 -0
- package/src/lib/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +46 -0
- package/src/lib/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +57 -0
- package/src/lib/stories/components/Form/DatePicker/Roundness/Roundness.stories.svelte +38 -0
- package/src/lib/stories/components/Form/DatePicker/Size/Size.stories.svelte +41 -0
- package/src/lib/stories/components/Form/DatePicker/WithIcon/WithIcon.stories.svelte +41 -0
- package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +28 -0
- package/src/lib/stories/components/Form/Label/Label.stories.svelte +13 -0
- package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +36 -0
- package/src/lib/stories/components/Form/Message/Message.stories.svelte +27 -0
- package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +22 -0
- package/src/lib/stories/components/Form/NumericInput/Events/Events.stories.svelte +134 -0
- package/src/lib/stories/components/Form/NumericInput/NumericInput.stories.svelte +84 -0
- package/src/lib/stories/components/Form/NumericInput/Validation/Validation.stories.svelte +87 -0
- package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +132 -0
- package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +58 -0
- package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +20 -0
- package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +31 -0
- package/src/lib/stories/components/Form/Select/Customize/Customize.stories.svelte +139 -0
- package/src/lib/stories/components/Form/Select/DropDownArrow/DropDownArrow.stories.svelte +63 -0
- package/src/lib/stories/components/Form/Select/Events/Events.stories.svelte +174 -0
- package/src/lib/stories/components/Form/Select/Options/OptionFormat.mdx +40 -0
- package/src/lib/stories/components/Form/Select/Positions/AutoPosition/AutoPosition.stories.svelte +58 -0
- package/src/lib/stories/components/Form/Select/Positions/Positions.stories.svelte +87 -0
- package/src/lib/stories/components/Form/Select/Roundness/Roundness.stories.svelte +32 -0
- package/src/lib/stories/components/Form/Select/Select.stories.svelte +125 -0
- package/src/lib/stories/components/Form/Select/Size/Size.stories.svelte +28 -0
- package/src/lib/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +43 -0
- package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +125 -0
- package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +21 -0
- package/src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte +17 -0
- package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +43 -0
- package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +47 -0
- package/src/lib/stories/components/Info/Calendar/Calendar.stories.svelte +121 -0
- package/src/lib/stories/components/Info/Calendar/Calendar.svelte +8 -2
- package/src/lib/stories/components/Info/Calendar/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/Controls/Controls.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/Customize/Customize.stories.svelte +160 -0
- package/src/lib/stories/components/Info/Calendar/Events/Events.stories.svelte +122 -0
- package/src/lib/stories/components/Info/Calendar/FilterDates/FilterDates.stories.svelte +70 -0
- package/src/lib/stories/components/Info/Calendar/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarControls.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.stories.svelte +58 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Customize/Customize.stories.svelte +30 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Events/Events.stories.svelte +25 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/NameTypes/NameTypes.stories.svelte +25 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Roundness/Roundness.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/CalendarNavigation.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Color/Color.stories.svelte +19 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Customize/Customize.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Events/Events.stories.svelte +37 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/CalendarYearSelector.stories.svelte +58 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Customize/Customize.stories.svelte +30 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Events/Events.stories.svelte +25 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Roundness/Roundness.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Controls/Controls.stories.svelte +21 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Customize/Customize.stories.svelte +69 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Events/Events.stories.svelte +61 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.stories.svelte +75 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.svelte +2 -25
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Color/Color.stories.svelte +41 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Customize/Customize.stories.svelte +45 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Events/Events.stories.svelte +28 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Roundness/Roundness.stories.svelte +31 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Size/Size.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/SpecialChips/SpecialChips.stories.svelte +96 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/utils/scss/mixins.scss +0 -46
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +104 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.svelte +23 -53
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.stories.svelte +38 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Customize/Customize.stories.svelte +32 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/NameTypes/NameTypes.stories.svelte +28 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Customize/Customize.stories.svelte +68 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Events/Events.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/CalendarMonthChip.stories.svelte +40 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Color/Color.stories.svelte +29 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Customize/Customize.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Events/Events.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Roundness/Roundness.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Size/Size.stories.svelte +19 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthList.stories.svelte +45 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Color/Color.stories.svelte +22 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Customize/Customize.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Events/Events.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Size/Size.stories.svelte +19 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/CalendarYearChip.stories.svelte +41 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Color/Color.stories.svelte +30 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Customize/Customize.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Events/Events.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Roundness/Roundness.stories.svelte +27 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearList.stories.svelte +39 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Customize/Customize.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Events/Events.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.ts +120 -0
- package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
- package/src/lib/stories/components/Info/Calendar/utils/{getDatesOfMonth.ts → getDatesOfMonth/getDatesOfMonth.ts} +30 -16
- package/src/lib/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
- package/src/lib/stories/components/Info/Calendar/utils/types.ts +0 -5
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/Customize/Customize.stories.svelte +30 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/DynamicMenu.stories.svelte +56 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/Events/Events.stories.svelte +48 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/KeybaordNavigation/KeybaordNavigation.stories.svelte +29 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/Options/OptionFormat.mdx +72 -0
- package/src/lib/stories/components/Layout/Menu/Menu.stories.svelte +69 -0
- package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +34 -0
- package/src/lib/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +21 -0
- package/src/lib/stories/components/Layout/Menu/Size/Size.stories.svelte +37 -0
- package/src/lib/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
- package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +50 -0
- package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +25 -0
- package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +24 -0
- package/src/lib/stories/components/Layout/Separator/Color/Color.stories.svelte +19 -0
- package/src/lib/stories/components/Layout/Separator/Separator.stories.svelte +30 -0
- package/src/lib/stories/developer tools/Intro.mdx +9 -0
- package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +53 -0
- package/src/lib/stories/developer tools/components/DynamicInput/Events/Events.stories.svelte +121 -0
- package/src/lib/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte +17 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +38 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +20 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +47 -0
- package/src/lib/stories/developer tools/components/Popper/Popper.stories.svelte +140 -0
- package/src/lib/stories/developer tools/components/Popper/Popper.svelte +13 -14
- package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +64 -0
- package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte +36 -10
- package/src/lib/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.ts +45 -31
- package/src/lib/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +92 -0
- package/src/lib/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +114 -0
- package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +25 -0
- package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +30 -0
- package/src/lib/stories/developer tools/directives/clickOutside/index.mdx +25 -0
- package/src/lib/stories/developer tools/helpers/Numbers/cleanNumericString/index.mdx +20 -0
- package/src/lib/stories/developer tools/helpers/Numbers/isValidNumberValue/index.mdx +71 -0
- package/src/lib/stories/developer tools/helpers/Time/getMoment/getMoment.ts +11 -12
- package/src/lib/stories/developer tools/helpers/Time/getMoment/index.mdx +45 -0
- package/src/lib/stories/developer tools/helpers/logger/index.mdx +63 -0
- package/src/lib/stories/developer tools/philosophy/Colors/Colors.mdx +43 -0
- package/src/lib/stories/developer tools/philosophy/Colors/Colors.stories.svelte +22 -0
- package/src/lib/stories/developer tools/philosophy/Colors/Opacity.stories.svelte +11 -0
- package/src/lib/stories/developer tools/philosophy/Themes.mdx +23 -0
- package/dist/stories/components/Info/Calendar/utils/createDateOfMonth.d.ts +0 -28
- package/dist/stories/components/Info/Calendar/utils/createDateOfMonth.js +0 -87
- package/dist/stories/components/Info/Calendar/utils/getDatesOfMonth.d.ts +0 -10
- package/dist/stories/components/Info/Calendar/utils/index.mdx +0 -64
- package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth.ts +0 -160
|
@@ -3,27 +3,42 @@ import { getPopupPosition } from './utils/getPopupPosition.js';
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script lang="ts">"use strict";
|
|
6
|
-
let { children, paperProps = {}, class: className = '', popupWidth: width, popupMaxHeight: maxHeight, popupPositionX: positionX = 'left', popupPositionY: positionY = 'bottom', popperLocation, ref = $bindable(), popupOffsetX: offsetX = 0, popupOffsetY: offsetY = 12, popperHeightForVerticalPosition = 100, lockPoistions = false, } = $props();
|
|
7
|
-
|
|
6
|
+
let { children, paperProps = {}, class: className = '', popupWidth: width, popupMaxHeight: maxHeight, popupPositionX: positionX = 'left', popupPositionY: positionY = 'bottom', popperLocation, ref = $bindable(), popupOffsetX: offsetX = 0, popupOffsetY: offsetY = 12, popperHeightForVerticalPosition = 100, lockPoistions = false, fullWidth = false, } = $props();
|
|
7
|
+
let popupLocation = $state();
|
|
8
|
+
const fullWidthInPixels = $derived(fullWidth && popperLocation?.width ? `${popperLocation?.width}px` : '');
|
|
9
|
+
const popperWidth = $derived(width || fullWidthInPixels);
|
|
8
10
|
const popupMaxHeight = $derived(maxHeight || '400px');
|
|
9
11
|
let left = $state(null);
|
|
10
12
|
let right = $state(null);
|
|
11
13
|
let top = $state(null);
|
|
12
14
|
let bottom = $state(null);
|
|
15
|
+
function capturePopupLocation() {
|
|
16
|
+
if (!ref) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
popupLocation = ref.getBoundingClientRect();
|
|
20
|
+
}
|
|
21
|
+
$effect(() => {
|
|
22
|
+
if (!ref) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
capturePopupLocation();
|
|
26
|
+
window.addEventListener('resize', capturePopupLocation);
|
|
27
|
+
return () => {
|
|
28
|
+
window.removeEventListener('resize', capturePopupLocation);
|
|
29
|
+
};
|
|
30
|
+
});
|
|
13
31
|
$effect(() => {
|
|
14
32
|
const values = getPopupPosition({
|
|
15
33
|
positionX,
|
|
16
34
|
positionY,
|
|
17
|
-
height: popperLocation?.height || 0,
|
|
18
|
-
width: popperLocation?.width || 0,
|
|
19
|
-
top: popperLocation?.top || 0,
|
|
20
|
-
bottom: popperLocation?.bottom || 0,
|
|
21
|
-
left: popperLocation?.left || 0,
|
|
22
|
-
right: popperLocation?.right || 0,
|
|
23
35
|
offsetX: offsetX,
|
|
24
36
|
offsetY: offsetY,
|
|
25
37
|
popperHeight: popperHeightForVerticalPosition,
|
|
26
38
|
lockPoistions,
|
|
39
|
+
popperLocation,
|
|
40
|
+
popupLocation,
|
|
41
|
+
fullWidth,
|
|
27
42
|
});
|
|
28
43
|
left = values.left;
|
|
29
44
|
right = values.right;
|
|
@@ -40,12 +55,11 @@ $effect(() => {
|
|
|
40
55
|
className,
|
|
41
56
|
].join(' ')}
|
|
42
57
|
bind:this={ref}
|
|
43
|
-
style={`width: ${popperWidth}
|
|
58
|
+
style={`${popperWidth ? `width: ${popperWidth};` : ''}
|
|
44
59
|
${left !== null ? `left: ${left}px;` : ''}
|
|
45
60
|
${right !== null ? `right: ${right}px;` : ''}
|
|
46
61
|
${top !== null ? `top: ${top}px;` : ''}
|
|
47
62
|
${bottom !== null ? `bottom: ${bottom}px;` : ''}
|
|
48
|
-
${positionX === 'center' ? `margin: auto;` : ''}
|
|
49
63
|
`}
|
|
50
64
|
>
|
|
51
65
|
<Paper shadow={3} {...paperProps}>
|
|
@@ -58,7 +72,7 @@ $effect(() => {
|
|
|
58
72
|
</div>
|
|
59
73
|
|
|
60
74
|
<style>.dodo-ui-PopperPopup {
|
|
61
|
-
position:
|
|
75
|
+
position: fixed;
|
|
62
76
|
z-index: var(--dodo-ui-z-index-4);
|
|
63
77
|
}
|
|
64
78
|
.dodo-ui-PopperPopup section {
|
|
@@ -28,6 +28,8 @@ export interface PopperPopupProps {
|
|
|
28
28
|
lockPoistions?: boolean;
|
|
29
29
|
/** Popper Height For Vertical Position, default 300 */
|
|
30
30
|
popperHeightForVerticalPosition?: number;
|
|
31
|
+
/** Full width Popper? */
|
|
32
|
+
fullWidth?: boolean;
|
|
31
33
|
}
|
|
32
34
|
declare const PopperPopup: import("svelte").Component<PopperPopupProps, {}, "ref">;
|
|
33
35
|
type PopperPopup = ReturnType<typeof PopperPopup>;
|
package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.d.ts
CHANGED
|
@@ -2,20 +2,22 @@ import type { PositionX, PositionY } from '../../../../../../types/position.js';
|
|
|
2
2
|
export interface GetPopupPositionProps {
|
|
3
3
|
positionX: PositionX;
|
|
4
4
|
positionY: PositionY;
|
|
5
|
-
height: number;
|
|
6
|
-
width: number;
|
|
7
|
-
top: number;
|
|
8
|
-
bottom: number;
|
|
9
|
-
left: number;
|
|
10
|
-
right: number;
|
|
11
5
|
offsetX?: number;
|
|
12
6
|
offsetY?: number;
|
|
13
7
|
popperHeight: number;
|
|
14
8
|
lockPoistions: boolean;
|
|
9
|
+
popperLocation?: DOMRect;
|
|
10
|
+
popupLocation?: DOMRect;
|
|
11
|
+
fullWidth?: boolean;
|
|
15
12
|
}
|
|
16
13
|
export declare function getPopupPosition(props: GetPopupPositionProps): {
|
|
17
|
-
left:
|
|
18
|
-
right:
|
|
14
|
+
left: null;
|
|
15
|
+
right: null;
|
|
16
|
+
top: null;
|
|
17
|
+
bottom: null;
|
|
18
|
+
} | {
|
|
19
|
+
left: number;
|
|
20
|
+
right: null;
|
|
19
21
|
top: number | null;
|
|
20
22
|
bottom: number | null;
|
|
21
23
|
};
|
package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.js
CHANGED
|
@@ -13,46 +13,63 @@ export function getPopupPosition(props) {
|
|
|
13
13
|
bottom,
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
16
|
+
const POPPER_LEFT = props.popperLocation?.left || 0;
|
|
17
|
+
const POPPER_TOP = props.popperLocation?.top || 0;
|
|
18
|
+
const POPPER_BOTTOM = props.popperLocation?.bottom || 0;
|
|
19
|
+
const POPPER_HEIGHT = props.popperLocation?.height || 0;
|
|
20
|
+
const POPPER_WIDTH = props.popperLocation?.width || 0;
|
|
19
21
|
const offsetX = props.offsetX ? props.offsetX : 0;
|
|
20
22
|
const offsetY = props.offsetY ? props.offsetY : 0;
|
|
21
|
-
const
|
|
23
|
+
const POPUP_WIDTH = props.popupLocation?.width || 0;
|
|
24
|
+
const WIDTH_DIFF = POPPER_WIDTH - POPUP_WIDTH;
|
|
25
|
+
const innerHeight = window.innerHeight;
|
|
26
|
+
const gapBottom = innerHeight - POPPER_BOTTOM;
|
|
22
27
|
let positionY = props.positionY;
|
|
28
|
+
// Adjust position if there is not enough space to draw it.
|
|
23
29
|
if (!props.lockPoistions) {
|
|
24
|
-
if (positionY === 'top' &&
|
|
30
|
+
if (positionY === 'top' && POPPER_TOP < POPPER_HEIGHT + offsetY) {
|
|
25
31
|
positionY = 'bottom';
|
|
26
32
|
}
|
|
27
|
-
else if (positionY === 'bottom' && gapBottom <
|
|
33
|
+
else if (positionY === 'bottom' && gapBottom < POPPER_HEIGHT + offsetY) {
|
|
28
34
|
positionY = 'top';
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
|
-
switch (positionX) {
|
|
32
|
-
case 'left':
|
|
33
|
-
left = offsetX;
|
|
34
|
-
right = null;
|
|
35
|
-
break;
|
|
36
|
-
case 'center':
|
|
37
|
-
left = 0;
|
|
38
|
-
right = 0;
|
|
39
|
-
break;
|
|
40
|
-
case 'right':
|
|
41
|
-
left = null;
|
|
42
|
-
right = offsetX;
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
37
|
switch (positionY) {
|
|
46
38
|
case 'top':
|
|
47
|
-
case 'middle':
|
|
48
39
|
top = null;
|
|
49
|
-
bottom =
|
|
40
|
+
bottom = POPPER_TOP + POPPER_HEIGHT + offsetY;
|
|
50
41
|
break;
|
|
51
42
|
case 'bottom':
|
|
52
|
-
top =
|
|
43
|
+
top = POPPER_TOP + POPPER_HEIGHT + offsetY;
|
|
53
44
|
bottom = null;
|
|
54
45
|
break;
|
|
55
46
|
}
|
|
47
|
+
if (props.fullWidth) {
|
|
48
|
+
// If Full Width
|
|
49
|
+
left = POPPER_LEFT;
|
|
50
|
+
right = null;
|
|
51
|
+
}
|
|
52
|
+
else if (WIDTH_DIFF < 0) {
|
|
53
|
+
// If Popup is bigger than the Popper Container
|
|
54
|
+
left = POPPER_LEFT;
|
|
55
|
+
right = null;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
switch (props.positionX) {
|
|
59
|
+
case 'left':
|
|
60
|
+
left = POPPER_LEFT + offsetX;
|
|
61
|
+
right = null;
|
|
62
|
+
break;
|
|
63
|
+
case 'center':
|
|
64
|
+
left = POPPER_LEFT + offsetX + WIDTH_DIFF / 2;
|
|
65
|
+
right = null;
|
|
66
|
+
break;
|
|
67
|
+
case 'right':
|
|
68
|
+
left = POPPER_LEFT + offsetX + WIDTH_DIFF;
|
|
69
|
+
right = null;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
56
73
|
return {
|
|
57
74
|
left,
|
|
58
75
|
right,
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import type { ConfigType, OptionType } from 'dayjs';
|
|
2
|
-
import
|
|
2
|
+
import { Dayjs } from 'dayjs';
|
|
3
3
|
/**
|
|
4
4
|
* Acceptable input types for the `getMoment` function, compatible with dayjs.
|
|
5
5
|
*/
|
|
6
6
|
export type GetMomentDate = ConfigType;
|
|
7
7
|
/**
|
|
8
8
|
* Optional formatting string used to parse the date.
|
|
9
|
-
* Refer to dayjs customParseFormat plugin for supported formats.
|
|
10
9
|
*/
|
|
11
10
|
export type GetMomentFormat = OptionType;
|
|
12
11
|
/**
|
|
13
12
|
* Settings to control how the moment is returned (UTC, timezone, or local).
|
|
14
13
|
*/
|
|
15
|
-
export
|
|
14
|
+
export interface GetMomentSettings {
|
|
16
15
|
/**
|
|
17
16
|
* Timezone string (e.g., "America/New_York").
|
|
18
17
|
*/
|
|
@@ -21,18 +20,18 @@ export type GetMomentSettings = {
|
|
|
21
20
|
* Whether to return the time in UTC. If true, overrides timezone.
|
|
22
21
|
*/
|
|
23
22
|
utc?: boolean;
|
|
24
|
-
}
|
|
23
|
+
}
|
|
25
24
|
/**
|
|
26
25
|
* A wrapper around dayjs to return a moment-like object with optional formatting,
|
|
27
26
|
* timezone, or UTC handling.
|
|
28
27
|
*
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @returns
|
|
28
|
+
* @param date - The input date, time, or string to be parsed.
|
|
29
|
+
* @param format - A custom format string for parsing the input date.
|
|
30
|
+
* @param settings - Optional settings for timezone or UTC output.
|
|
31
|
+
* @returns A dayjs object in local, UTC, or specified timezone.
|
|
33
32
|
*
|
|
34
33
|
* @example
|
|
35
|
-
* getMoment('2025-01-01T12:00:00Z', { utc: true }).format()
|
|
36
|
-
* getMoment('01-01-2025',
|
|
34
|
+
* getMoment('2025-01-01T12:00:00Z', undefined, { utc: true }).format()
|
|
35
|
+
* getMoment('01-01-2025', 'DD-MM-YYYY', { timezone: 'Asia/Kolkata' }).format()
|
|
37
36
|
*/
|
|
38
|
-
export default function getMoment(date?: GetMomentDate, format?: GetMomentFormat, settings?: GetMomentSettings):
|
|
37
|
+
export default function getMoment(date?: GetMomentDate, format?: GetMomentFormat, settings?: GetMomentSettings): Dayjs;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import dayjs from 'dayjs';
|
|
1
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
2
2
|
import utc from 'dayjs/plugin/utc.js';
|
|
3
3
|
import timezone from 'dayjs/plugin/timezone.js';
|
|
4
4
|
import customParseFormat from 'dayjs/plugin/customParseFormat.js';
|
|
@@ -9,18 +9,18 @@ dayjs.extend(customParseFormat);
|
|
|
9
9
|
* A wrapper around dayjs to return a moment-like object with optional formatting,
|
|
10
10
|
* timezone, or UTC handling.
|
|
11
11
|
*
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @returns
|
|
12
|
+
* @param date - The input date, time, or string to be parsed.
|
|
13
|
+
* @param format - A custom format string for parsing the input date.
|
|
14
|
+
* @param settings - Optional settings for timezone or UTC output.
|
|
15
|
+
* @returns A dayjs object in local, UTC, or specified timezone.
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
|
-
* getMoment('2025-01-01T12:00:00Z', { utc: true }).format()
|
|
19
|
-
* getMoment('01-01-2025',
|
|
18
|
+
* getMoment('2025-01-01T12:00:00Z', undefined, { utc: true }).format()
|
|
19
|
+
* getMoment('01-01-2025', 'DD-MM-YYYY', { timezone: 'Asia/Kolkata' }).format()
|
|
20
20
|
*/
|
|
21
21
|
export default function getMoment(date, format, settings) {
|
|
22
22
|
const timezone = settings?.timezone;
|
|
23
|
-
const utc = settings?.utc
|
|
23
|
+
const utc = settings?.utc ?? false;
|
|
24
24
|
if (utc) {
|
|
25
25
|
return dayjs.utc(dayjs(date, format));
|
|
26
26
|
}
|
|
@@ -2,7 +2,9 @@ import { Source } from '@storybook/addon-docs/blocks';
|
|
|
2
2
|
|
|
3
3
|
# `getMoment`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
A [Day.js](https://day.js.org/) wrapper that supports custom formats, UTC mode, and timezone conversion using `dayjs`, `utc`, `timezone`, and `customParseFormat` plugins.
|
|
6
|
+
|
|
7
|
+
---
|
|
6
8
|
|
|
7
9
|
## Usage
|
|
8
10
|
|
|
@@ -10,9 +12,34 @@ a Day.js wrapper
|
|
|
10
12
|
dark
|
|
11
13
|
language="ts"
|
|
12
14
|
code={`
|
|
13
|
-
|
|
15
|
+
// Basic local time
|
|
16
|
+
getMoment('2025-01-01T00:00:00Z').format();
|
|
17
|
+
|
|
18
|
+
// UTC output
|
|
19
|
+
getMoment('2025-01-01T00:00:00Z', undefined, { utc: true }).format();
|
|
20
|
+
// → "2025-01-01T00:00:00Z"
|
|
21
|
+
|
|
22
|
+
// With custom format + timezone
|
|
23
|
+
getMoment('01-01-2025', 'DD-MM-YYYY', { timezone: 'Asia/Kolkata' }).format();
|
|
24
|
+
// → "2025-01-01T00:00:00+05:30"
|
|
25
|
+
`}
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
---
|
|
14
29
|
|
|
15
|
-
|
|
16
|
-
|
|
30
|
+
## API
|
|
31
|
+
|
|
32
|
+
<Source
|
|
33
|
+
dark
|
|
34
|
+
language="ts"
|
|
35
|
+
code={`
|
|
36
|
+
getMoment(
|
|
37
|
+
date?: ConfigType,
|
|
38
|
+
format?: string,
|
|
39
|
+
settings?: {
|
|
40
|
+
utc?: boolean;
|
|
41
|
+
timezone?: string;
|
|
42
|
+
}
|
|
43
|
+
): dayjs.Dayjs
|
|
17
44
|
`}
|
|
18
45
|
/>
|
package/package.json
CHANGED
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flightlesslabs/dodo-ui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"scripts": {
|
|
5
|
-
"build": "vite build && pnpm run prepack",
|
|
6
|
-
"preview": "vite preview",
|
|
7
|
-
"prepare": "svelte-kit sync || echo ''",
|
|
8
|
-
"prepack": "svelte-kit sync && svelte-package && publint",
|
|
9
|
-
"svelte-check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
10
|
-
"format": "prettier --write .",
|
|
11
|
-
"lint": "prettier --check . && eslint .",
|
|
12
|
-
"dev": "storybook dev -p 6006",
|
|
13
|
-
"build-storybook": "storybook build && touch ./storybook-static/.nojekyll",
|
|
14
|
-
"check": "pnpm run svelte-check && eslint . && pnpm run lint",
|
|
15
|
-
"check:fix": "pnpm run svelte-check && eslint . && pnpm run format"
|
|
16
|
-
},
|
|
3
|
+
"version": "0.11.1",
|
|
17
4
|
"homepage": "https://flightlesslabs.github.io/dodo-ui",
|
|
18
5
|
"repository": {
|
|
19
6
|
"type": "git",
|
|
@@ -50,13 +37,13 @@
|
|
|
50
37
|
},
|
|
51
38
|
"devDependencies": {
|
|
52
39
|
"@chromatic-com/storybook": "4.0.0",
|
|
53
|
-
"@eslint/compat": "^1.
|
|
40
|
+
"@eslint/compat": "^1.3.0",
|
|
54
41
|
"@eslint/js": "^9.28.0",
|
|
55
42
|
"@storybook/addon-svelte-csf": "5.0.3",
|
|
56
|
-
"@storybook/svelte": "^9.0.
|
|
57
|
-
"@storybook/sveltekit": "^9.0.
|
|
43
|
+
"@storybook/svelte": "^9.0.9",
|
|
44
|
+
"@storybook/sveltekit": "^9.0.9",
|
|
58
45
|
"@sveltejs/adapter-static": "^3.0.8",
|
|
59
|
-
"@sveltejs/kit": "^2.21.
|
|
46
|
+
"@sveltejs/kit": "^2.21.5",
|
|
60
47
|
"@sveltejs/package": "^2.3.11",
|
|
61
48
|
"@sveltejs/vite-plugin-svelte": "^5.1.0",
|
|
62
49
|
"@vitest/browser": "^3.2.3",
|
|
@@ -71,8 +58,8 @@
|
|
|
71
58
|
"prettier-plugin-svelte": "^3.4.0",
|
|
72
59
|
"publint": "^0.3.12",
|
|
73
60
|
"sass": "^1.89.2",
|
|
74
|
-
"storybook": "^9.0.
|
|
75
|
-
"svelte": "^5.
|
|
61
|
+
"storybook": "^9.0.9",
|
|
62
|
+
"svelte": "^5.34.1",
|
|
76
63
|
"svelte-check": "^4.2.1",
|
|
77
64
|
"svelte-preprocess": "^6.0.3",
|
|
78
65
|
"typescript": "^5.8.3",
|
|
@@ -89,8 +76,19 @@
|
|
|
89
76
|
},
|
|
90
77
|
"dependencies": {
|
|
91
78
|
"@iconify/svelte": "^5.0.0",
|
|
92
|
-
"@storybook/addon-docs": "^9.0.
|
|
93
|
-
"@storybook/addon-vitest": "^9.0.
|
|
79
|
+
"@storybook/addon-docs": "^9.0.9",
|
|
80
|
+
"@storybook/addon-vitest": "^9.0.9",
|
|
94
81
|
"dayjs": "^1.11.13"
|
|
82
|
+
},
|
|
83
|
+
"scripts": {
|
|
84
|
+
"build": "vite build && pnpm run prepack",
|
|
85
|
+
"preview": "vite preview",
|
|
86
|
+
"svelte-check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
87
|
+
"format": "prettier --write .",
|
|
88
|
+
"lint": "prettier --check . && eslint .",
|
|
89
|
+
"dev": "storybook dev -p 6006",
|
|
90
|
+
"build-storybook": "storybook build && touch ./storybook-static/.nojekyll",
|
|
91
|
+
"check": "pnpm run svelte-check && eslint . && pnpm run lint",
|
|
92
|
+
"check:fix": "pnpm run svelte-check && eslint . && pnpm run format"
|
|
95
93
|
}
|
|
96
|
-
}
|
|
94
|
+
}
|
package/src/lib/index.ts
CHANGED
|
@@ -199,9 +199,9 @@ export { default as CalendarYearChip } from '$lib/stories/components/Info/Calend
|
|
|
199
199
|
|
|
200
200
|
export type { DateOfMonth } from '$lib/stories/components/Info/Calendar/utils/types.js';
|
|
201
201
|
export { DAYS_OF_WEEK, MONTHS } from '$lib/stories/components/Info/Calendar/utils/types.js';
|
|
202
|
-
export { default as getDatesOfMonth } from '$lib/stories/components/Info/Calendar/utils/getDatesOfMonth.js';
|
|
203
|
-
export { default as createDateOfMonth } from '$lib/stories/components/Info/Calendar/utils/createDateOfMonth.js';
|
|
202
|
+
export { default as getDatesOfMonth } from '$lib/stories/components/Info/Calendar/utils/getDatesOfMonth/getDatesOfMonth.js';
|
|
203
|
+
export { default as createDateOfMonth } from '$lib/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.js';
|
|
204
204
|
export type {
|
|
205
205
|
CreateDatesOfMonthSettings,
|
|
206
206
|
CreateDateOfMonthType,
|
|
207
|
-
} from '$lib/stories/components/Info/Calendar/utils/createDateOfMonth.js';
|
|
207
|
+
} from '$lib/stories/components/Info/Calendar/utils/createDateOfMonth/createDateOfMonth.js';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Source } from '@storybook/addon-docs/blocks';
|
|
2
|
+
import item from '../../../package.json?raw';
|
|
3
|
+
|
|
4
|
+
<main style={{ textAlign: 'center' }}>
|
|
5
|
+
|
|
6
|
+
<img src="dodo-circle-6.png" style={{ width: 200, height: 'auto' }} />
|
|
7
|
+
|
|
8
|
+
# Dodo UI
|
|
9
|
+
|
|
10
|
+
<h3 style={{ fontWeight: 500 }}>v{JSON.parse(item)?.version}</h3>
|
|
11
|
+
|
|
12
|
+
<h3 style={{ fontWeight: 400 }}>An open-source, opinionated UI framework for Svelte.</h3>
|
|
13
|
+
|
|
14
|
+
### [Github](https://github.com/flightlesslabs/dodo-ui) - [npm](https://www.npmjs.com/package/@flightlesslabs/dodo-ui)
|
|
15
|
+
|
|
16
|
+
</main>
|
|
17
|
+
|
|
18
|
+
<br />
|
|
19
|
+
<br />
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
pnpm
|
|
24
|
+
|
|
25
|
+
<Source
|
|
26
|
+
dark
|
|
27
|
+
language="bash"
|
|
28
|
+
code={`
|
|
29
|
+
pnpm add @flightlesslabs/dodo-ui
|
|
30
|
+
`}
|
|
31
|
+
/>
|
|
32
|
+
|
|
33
|
+
npm
|
|
34
|
+
|
|
35
|
+
<Source
|
|
36
|
+
dark
|
|
37
|
+
language="bash"
|
|
38
|
+
code={`
|
|
39
|
+
npm i @flightlesslabs/dodo-ui
|
|
40
|
+
`}
|
|
41
|
+
/>
|
|
42
|
+
|
|
43
|
+
## Use it!
|
|
44
|
+
|
|
45
|
+
Lets import [Button](?path=/docs/components-form-button--docs) component. Checkout documentation for [Button](?path=/docs/components-form-button--docs)
|
|
46
|
+
|
|
47
|
+
<Source
|
|
48
|
+
dark
|
|
49
|
+
language="js"
|
|
50
|
+
code={`
|
|
51
|
+
import { Button } '@flightlesslabs/dodo-ui';
|
|
52
|
+
`}
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
## Explore more
|
|
56
|
+
|
|
57
|
+
- [Dark Theme](?path=/docs/developer-tools-philosophy-themes--docs#dark-theme)
|
|
58
|
+
- [Colors](?path=/docs/developer-tools-philosophy-colors--docs)
|
|
59
|
+
- [Adjust Color Opacity](?path=/docs/developer-tools-philosophy-colors--docs#adjusting-opacity)
|
|
Binary file
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Button, { buttonTypeArray } from './Button.svelte';
|
|
4
|
+
import type { StoryBookArgTypes } from '$lib/storybook-types.js';
|
|
5
|
+
import { componentRoundnessArray } from '$lib/types/roundness.js';
|
|
6
|
+
import { componentColorArray } from '$lib/types/colors.js';
|
|
7
|
+
import { componentWeightArray } from '$lib/types/weight.js';
|
|
8
|
+
import { componentSizeArray } from '$lib/types/size.js';
|
|
9
|
+
|
|
10
|
+
export const storyButtonArgTypes: StoryBookArgTypes = {
|
|
11
|
+
type: {
|
|
12
|
+
control: { type: 'select' },
|
|
13
|
+
options: buttonTypeArray,
|
|
14
|
+
},
|
|
15
|
+
color: {
|
|
16
|
+
control: { type: 'select' },
|
|
17
|
+
options: componentColorArray,
|
|
18
|
+
},
|
|
19
|
+
variant: {
|
|
20
|
+
control: { type: 'select' },
|
|
21
|
+
options: componentWeightArray,
|
|
22
|
+
},
|
|
23
|
+
roundness: {
|
|
24
|
+
control: { type: 'select' },
|
|
25
|
+
options: componentRoundnessArray,
|
|
26
|
+
},
|
|
27
|
+
size: {
|
|
28
|
+
control: { type: 'select' },
|
|
29
|
+
options: componentSizeArray,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
34
|
+
const { Story } = defineMeta({
|
|
35
|
+
component: Button,
|
|
36
|
+
tags: ['autodocs'],
|
|
37
|
+
argTypes: storyButtonArgTypes,
|
|
38
|
+
});
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<!-- Button with default style -->
|
|
42
|
+
<Story name="Primary">Click me!</Story>
|
|
43
|
+
|
|
44
|
+
<!-- Button with border around it -->
|
|
45
|
+
<Story name="Outline" args={{ outline: true, variant: 'text' }}>Click me!</Story>
|
|
46
|
+
|
|
47
|
+
<Story name="Disabled" args={{ disabled: true }}>Click me!</Story>
|
|
48
|
+
|
|
49
|
+
<!-- Form submit button -->
|
|
50
|
+
<Story name="Sumbit Button" args={{ type: 'submit' }}>Submit Form</Story>
|
|
51
|
+
|
|
52
|
+
<!-- Form submit button -->
|
|
53
|
+
<Story name="Full width Button" args={{ fullWidth: true }}>Click me!</Story>
|
|
54
|
+
|
|
55
|
+
<!-- Anchor Link styled like a Button -->
|
|
56
|
+
<Story
|
|
57
|
+
name="Link Button"
|
|
58
|
+
args={{ href: 'https://www.w3schools.com/tags/tag_a.asp', target: '_blank' }}
|
|
59
|
+
>
|
|
60
|
+
Link
|
|
61
|
+
</Story>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Button from '../Button.svelte';
|
|
4
|
+
import { storyButtonArgTypes } from '../Button.stories.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: Button,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyButtonArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Story name="Primary">Click me!</Story>
|
|
15
|
+
<Story name="Secondary" args={{ color: 'secondary' }}>Click me!</Story>
|
|
16
|
+
<Story name="Neutral" args={{ color: 'neutral' }}>Click me!</Story>
|
|
17
|
+
<Story name="Safe" args={{ color: 'safe' }}>Click me!</Story>
|
|
18
|
+
<Story name="Warning" args={{ color: 'warning' }}>Click me!</Story>
|
|
19
|
+
<Story name="Danger" args={{ color: 'danger' }}>Click me!</Story>
|
|
20
|
+
|
|
21
|
+
<Story name="Primary Text" args={{ color: 'primary', variant: 'text' }}>Click me!</Story>
|
|
22
|
+
<Story name="Secondary Text" args={{ color: 'secondary', variant: 'text' }}>Click me!</Story>
|
|
23
|
+
<Story name="Neutral Text" args={{ color: 'neutral', variant: 'text' }}>Click me!</Story>
|
|
24
|
+
<Story name="Safe Text" args={{ color: 'safe', variant: 'text' }}>Click me!</Story>
|
|
25
|
+
<Story name="Warning Text" args={{ color: 'warning', variant: 'text' }}>Click me!</Story>
|
|
26
|
+
<Story name="Danger Text" args={{ color: 'danger', variant: 'text' }}>Click me!</Story>
|
|
27
|
+
|
|
28
|
+
<Story name="Primary Outline" args={{ variant: 'text', outline: true }}>Click me!</Story>
|
|
29
|
+
<Story name="Secondary Outline" args={{ color: 'secondary', variant: 'text', outline: true }}>
|
|
30
|
+
Click me!
|
|
31
|
+
</Story>
|
|
32
|
+
<Story name="Neutral Outline" args={{ color: 'neutral', variant: 'text', outline: true }}>
|
|
33
|
+
Click me!
|
|
34
|
+
</Story>
|
|
35
|
+
<Story name="Safe Outline" args={{ color: 'safe', variant: 'text', outline: true }}>
|
|
36
|
+
Click me!
|
|
37
|
+
</Story>
|
|
38
|
+
<Story name="Warning Outline" args={{ color: 'warning', variant: 'text', outline: true }}>
|
|
39
|
+
Click me!
|
|
40
|
+
</Story>
|
|
41
|
+
<Story name="Danger Outline" args={{ color: 'danger', variant: 'text', outline: true }}>
|
|
42
|
+
Click me!
|
|
43
|
+
</Story>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Button from '../Button.svelte';
|
|
4
|
+
import { storyButtonArgTypes } from '../Button.stories.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: Button,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyButtonArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Story
|
|
15
|
+
name="Click"
|
|
16
|
+
args={{
|
|
17
|
+
onclick: (e: Event) => {
|
|
18
|
+
const target = e.target as HTMLButtonElement;
|
|
19
|
+
|
|
20
|
+
alert('Button Clicked');
|
|
21
|
+
console.log('Button Clicked', target);
|
|
22
|
+
},
|
|
23
|
+
}}
|
|
24
|
+
asChild
|
|
25
|
+
>
|
|
26
|
+
<Button
|
|
27
|
+
onclick={(e: Event) => {
|
|
28
|
+
const target = e.target as HTMLButtonElement;
|
|
29
|
+
|
|
30
|
+
alert('Button Clicked');
|
|
31
|
+
console.log('Button Clicked', target);
|
|
32
|
+
}}
|
|
33
|
+
>
|
|
34
|
+
Click me!
|
|
35
|
+
</Button>
|
|
36
|
+
</Story>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Button from '../Button.svelte';
|
|
4
|
+
import { storyButtonArgTypes } from '../Button.stories.svelte';
|
|
5
|
+
import Icon from '@iconify/svelte';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: Button,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyButtonArgTypes,
|
|
12
|
+
});
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<!-- Compact button with paddings stripped out and fixed size. We are using this icon library https://iconify.design/docs/icon-components/svelte/ -->
|
|
16
|
+
<Story name="Icon Button" args={{ compact: true }}>
|
|
17
|
+
<Icon icon="material-symbols:app-badging" width="18" height="18" />
|
|
18
|
+
</Story>
|
|
19
|
+
|
|
20
|
+
<!-- Circualr Icon button. -->
|
|
21
|
+
<Story name="Icon Button Circular" args={{ compact: true, roundness: 'full' }}>
|
|
22
|
+
<Icon icon="material-symbols:app-badging" width="18" height="18" />
|
|
23
|
+
</Story>
|
|
24
|
+
|
|
25
|
+
<!-- Button with an icon in front. -->
|
|
26
|
+
<Story name="Icon Before" asChild>
|
|
27
|
+
<Button>
|
|
28
|
+
{#snippet before()}
|
|
29
|
+
<Icon icon="material-symbols:content-copy" />
|
|
30
|
+
{/snippet}
|
|
31
|
+
Copy
|
|
32
|
+
</Button>
|
|
33
|
+
</Story>
|
|
34
|
+
|
|
35
|
+
<!-- Button with an icon in front. -->
|
|
36
|
+
<Story name="Icon After" asChild>
|
|
37
|
+
<Button>
|
|
38
|
+
{#snippet after()}
|
|
39
|
+
<Icon icon="material-symbols:download-2" />
|
|
40
|
+
{/snippet}
|
|
41
|
+
Download
|
|
42
|
+
</Button>
|
|
43
|
+
</Story>
|