Skip to content

Instantly share code, notes, and snippets.

View sadewole's full-sized avatar
🎯
CREATOR

Samador sadewole

🎯
CREATOR
View GitHub Profile
@sadewole
sadewole / App.js
Last active September 5, 2023 01:47
Credit card files
import { StatusBar } from 'expo-status-bar';
import {
SafeAreaView,
StyleSheet,
Text,
View,
TextInput,
TouchableOpacity,
} from 'react-native';
@sadewole
sadewole / App.vue
Created January 24, 2022 20:59
App.vue - Accordion render.
<template>
<img alt="Vue logo" src="./assets/logo.png" />
<div style="margin-top: 20px;">
<Accordion allowMultiple>
<AccordionItem label="Accordion One" defaultIsOpen>
<div>Lorem ipsum dolor sit amet, consectetur</div>
</AccordionItem>
<AccordionItem label="Accordion Two">
<div>Lorem ipsum dolor sit amet, consectetur</div>
@sadewole
sadewole / AccordionItem.vue
Created January 24, 2022 20:43
AccordionItem.vue - Styles
<style scoped>
.accordionItem {
margin-top: 10px;
margin-bottom: 10px;
}
.accordionItem__header {
width: 100%;
text-align: center;
letter-spacing: 1px;
text-transform: uppercase;
@sadewole
sadewole / AccordionItem.vue
Created January 24, 2022 20:42
AccordionItem.vue - Template
<template>
<div class="accordionItem">
<button
@click="toggleContent"
class="accordionItem__header"
v-text="label"
/>
<div :class="['accordionItem__content', isExpanded && '-open']">
<div class="h-p-5">
<slot />
@sadewole
sadewole / AccordionItem.vue
Last active January 25, 2022 09:00
AccordionItem.vue - Script: getExpandCondition
<script lang="ts">
... // content hidden
export default defineComponent({
name: "AccordionItem",
... // content hidden
setup(props: Props) {
const id = ref(useId());
@sadewole
sadewole / AccordionItem.vue
Last active January 25, 2022 09:01
AccordionItem.vue - script: watchExpand
<script lang="ts">
... // content hidden
export default defineComponent({
name: "AccordionItem",
... // content hidden
setup(props: Props) {
const id = ref(useId());
@sadewole
sadewole / AccordionItem.vue
Last active January 25, 2022 08:59
AccordionItem.vue - Script: Variables declaration
<script lang="ts">
... // content hidden
type Props = { label: string; defaultIsOpen: boolean };
type Indices = {
value: Array<string>;
};
type ExpandedIndex = {
value: Array<string> | string;
};
@sadewole
sadewole / AccordionItem.vue
Last active January 25, 2022 09:00
AccordionItem.vue - Script: Util func.
<script lang="ts">
... // content hidden
function useId(size = 3): string {
let randomId = "";
const dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for (let i = 0; i < size; i++) {
randomId += dictionary.charAt(
Math.floor(Math.random() * dictionary.length)
@sadewole
sadewole / AccordionItem.vue
Created January 24, 2022 17:18
AccordionItem.vue - Script: Intro
<script lang="ts">
import { ref, inject, onMounted, onUpdated, watch, defineComponent } from "vue";
export default defineComponent({
name: "AccordionItem",
props: {
label: { type: String, required: true },
defaultIsOpen: { type: Boolean, required: false },
}
});
@sadewole
sadewole / Accordion.vue
Last active January 24, 2022 13:05
Accordion.vue - Template and script
<template>
<div>
<slot />
</div>
</template>
<script lang="ts">
import { provide, ref, computed, defineComponent } from "vue";
export default defineComponent({